Q

PRIVATE NAVIGATION MODE

ML4T_S 탭 잠금 해제

패스워드를 확인하면 이 브라우저에서 ML4T_S 탭과 검색 결과를 표시합니다.

STUDY SEARCH

학습 자료 검색

제목과 설명, 키워드, 학습 본문에서 찾습니다.

검색 범위

검색어를 입력해 주세요.

SEARCH THE NOTEBOOK

찾고 싶은 금융·통계·전략 개념을 입력해 보세요.

CHAPTER 12 / SECTION 01

12.1 백테스트에서 전략이 실패할 조건 찾기

정보 누수, 체결과 비용 등 실패 원인에 맞는 검증 방법을 고릅니다.

12장. Strategy Simulation(전략 시뮬레이션)초급 학습 노트

수익이 사라지는 조건부터 정하기

월말에 상위 세 자산을 사는 전략이 비용 후에도 기준 포트폴리오를 앞선다고 가정하자. 연구원은 결과를 확인하기 전에 주장을 시험할 조건을 적는다. 종가 신호는 다음 시가부터 거래하고, 거래비용은 실행 가능한 범위에서 바꾸고, 위기에도 감당할 수 있는 최대 손실을 정한다. 이 조건 중 하나만 적용해도 우위가 사라진다면 그 원인을 남기고 주장을 좁힌다. 이렇게 주장이 틀릴 수 있는 시험을 설계하는 방식이 Falsification(반증)이다.

실패 원인에 맞는 기록 고르기

백테스트 실패 원인과 검사 기록
실패 원인결과가 좋아 보이는 이유확인할 기록과 검사
Look-ahead Bias(미래 정보 편향)장 마감 뒤 알게 된 가격으로 마감 전에 주문했다고 계산한다.데이터 공개 시각과 주문 시각을 비교하고 과거 구간으로만 학습한다.
Survivorship Bias(생존자 편향)현재 살아남은 종목만 과거 투자 후보에 넣는다.당시 후보 명단을 복원하고 상장폐지 손익까지 반영한다.
Data Snooping(데이터 엿보기)같은 기록에서 수십 개 규칙을 바꾼 뒤 승자만 보여 준다.후보를 모두 기록하고 별도 보류 구간과 탐색 보정으로 확인한다.
Unrealistic Execution(비현실적 체결)주문량에 상관없이 원하는 가격에 모두 체결시킨다.실제 호가·거래량을 보고 가격 불리함과 자금 규모를 바꿔 다시 계산한다.
Cost Underestimation(비용 과소평가)수수료만 빼고 호가 차이와 주문으로 움직인 가격을 빠뜨린다.실제 가능한 비용 범위 전체에서 순성과를 비교한다.
Regime Fragility(시장 상태에 대한 취약성)평온할 때 번 돈이 위기의 손실을 가린다.상승·하락과 변동성이 다른 날짜를 구분해 손익과 낙폭을 본다.

머신러닝에서는 주문 코드에 시점 오류가 없어도 Data Leakage(정보 누수)가 생긴다. 전체 표본의 평균으로 과거 특성을 표준화하면 미래 가격이 평균에 들어간다. 여러 날 뒤의 수익을 정답으로 쓰는 경우 학습 구간 끝의 정답 기간이 검증 구간과 겹칠 수도 있다. 변환은 학습 구간에서만 맞추고 정답 기간이 경계를 넘는 행을 제외한 뒤 다음 구간을 평가한다.

과거 한 경로와 다른 경로에서 확인할 것

세 시뮬레이션 방법이 확인하는 증거
방법입력에서 결과까지결과의 한계
Walk-forward Testing(시간 전진 검증)앞선 기간으로 규칙을 맞추고 바로 뒤 기간에서 거래한다. 창을 앞으로 옮겨 같은 절차를 반복한다.실제 정보 순서는 지켜도 과거에 나타난 시장 경로에 의존한다.
Block Bootstrap(블록 재표집)연속한 며칠을 한 묶음으로 다시 뽑아 샤프지수나 낙폭을 여러 번 계산한다.블록 길이가 손실이 이어지는 기간보다 짧으면 의존성이 희석된다. 과거에 없었던 충격도 자동으로 생기지 않는다.
Monte Carlo Simulation(몬테카를로 시뮬레이션)급락·변동성·유동성에 대한 가정으로 가격 경로를 생성하고 같은 주문 규칙을 적용한다.스트레스 결과는 입력한 충격과 경로 모형에 조건부다.

실전 가능성을 확인할 때는 시간 전진 검증부터 시작한다. 그 결과가 우연히 좋았을 가능성은 재표집으로 살피고, 관측 기간에 없던 주문 실패나 가격 충격은 모의 경로에서 시험한다. 작은 비용 변화에도 기준 전략 아래로 떨어진 결과를 남겨 두면 같은 취약한 아이디어를 다시 탐색하는 일을 줄일 수 있다.

Base Rate(기저율)도 판정을 바꾼다. 가령 후보 1,000개 중 실제로 유효한 후보가 10개라면, 무효 후보 990개에서 5% 정도가 우연히 통과할 때 거짓 통과가 약 50개 생긴다. 유효한 10개가 모두 통과해도 통과 목록에서 거짓 후보가 더 많다. 서로 다른 실패 원인을 겨냥한 시험과 후보 기록이 필요한 이유다.