제3장
편향 통제와 검증
대부분의 개인 투자자용 백테스트는 결과를 현실보다 훨씬 좋아 보이게 만드는 체계적 편향 때문에 무효가 됩니다. 저희는 가장 흔한 여섯 가지 편향을 파악하고, 각각에 대해 엄격한 통제 장치를 설계했습니다.
룩어헤드 편향
가장 위험개념
룩어헤드 편향은 매매 결정을 내리는 시점에는 알 수 없었던 정보를 전략이 사용할 때 발생합니다. 가장 흔한 형태는 T번째 봉의 종가로 신호를 만들고, 같은 T번째 봉의 종가에 거래를 체결하는 것입니다. 현실에서 종가는 봉이 마감된 후에야 알 수 있으며, 그 시점에는 이미 시장이 닫혀 있습니다.
✗ 편향 있음 (대부분의 개인 투자자용 도구 방식)
T번째 봉 종가에 신호 생성 → T번째 봉 종가에 체결. 현실에서는 불가능합니다. 방금 알게 된 가격으로 거래할 수는 없습니다.
✓ 저희의 접근 방식
T번째 봉 종가에 신호 생성 → 주문 대기 → T+1번째 봉 시가에 체결. 현실적으로 실행 가능한 가장 이른 가격입니다.
저희가 방지하는 그 밖의 룩어헤드 편향 유형
- T번째 봉의 고가/저가로 손절을 발동 — 이 값들은 봉이 마감된 후에야 알 수 있습니다
- "미래" 구간을 사용해 계산한 지표 (예: 중심 이동평균)
- 롤링 최소/최대값이 아닌 전체 데이터셋의 최소/최대값을 사용한 정규화
- 전체 기간에서 최적화한 전략 파라미터를 같은 기간에서 테스트
- 발표일 이전에 실제 EPS를 사용한 어닝 서프라이즈 신호
생존자 편향
과대평가 위험생존자 편향은 백테스트가 현재 거래소에 상장되어 있는 종목만 포함할 때 발생합니다. 테스트 기간 중 파산했거나, 인수되었거나, 상장폐지된 기업은 당시에는 유효한 거래 대상이었음에도 제외됩니다. 그 결과 모든 "패자"가 데이터셋에서 조용히 사라지기 때문에, 과거 수익률이 실제보다 훨씬 좋아 보입니다.
항셍지수 종목군에 대한 정량적 영향:
~15–20%
10년 백테스트에서 HSI 구성종목 이력에 상장폐지 종목이 한 개 이상 포함되는 비율
~3–8%
모멘텀 전략에서 생존자 편향으로 인해 발생하는 전형적인 연간 수익률 과대평가
100%
저희 백테스트 중 과거 종목군에 상장폐지 종목을 포함하는 비율
✗ 편향된 종목군
현재 S&P 500에 포함된 500개 종목으로만 테스트합니다. 과거의 파산, 상장폐지, 편출 종목은 모두 제외됩니다. 수익률 편향: 연 +3% ~ +8%.
✓ 저희의 접근 방식
각 과거 시점의 종목군에는 그 시점에 상장되어 있던 모든 종목이 포함됩니다. 이후 상장폐지되었거나 파산한 종목도 포함합니다. 시점 기준(point-in-time) 종목군 구성입니다.
과최적화(커브 피팅) 편향
가장 흔함과최적화는 전략이 과거 데이터에 지나치게 최적화되어, 일반화할 수 있는 규칙을 학습하는 대신 사실상 과거를 "암기"했을 때 발생합니다. 12개의 파라미터를 모두 3년치 데이터로 조정한 전략은 화려한 과거 성과를 보여주지만, 실전 매매에서는 곧바로 실패합니다.
과최적화를 탐지하고 방지하는 방법
자유 파라미터가 5개 미만인 전략을 선호합니다. 파라미터가 하나 늘어날 때마다 커브 피팅 위험은 두 배가 됩니다.
각 파라미터를 ±10~20% 변화시키고 수익률에 미치는 영향을 측정합니다. 견고한 전략은 뾰족한 봉우리가 아니라 매끄럽고 평평한 곡면을 보입니다.
과거 기간을 서로 겹치지 않는 5개 구간으로 나누고, 모든 구간에서 결과가 일관적인지 측정합니다.
거래가 50회 미만인 백테스트는 통계적 근거가 부족합니다. 저희는 최소 100회의 완결된 왕복 거래를 요구합니다.
거래 순서를 10,000번 무작위로 섞어 수익률 분포와 무작위 순서에서의 최악의 시나리오를 측정합니다.
선택 편향
자주 간과됨선택 편향은 어떤 종목을 백테스트할지의 선택이, 의식적이든 아니든 해당 종목의 과거 성과에 대한 지식에 영향을 받을 때 발생합니다. 지난 10년간 가장 크게 오른 종목들에서만 모멘텀 전략을 테스트하면 편향된 결과가 나옵니다.
종목 선택
결과를 보기 전에 거래 종목군을 정의합니다. 종목군 기준은 시가총액, 유동성, 업종과 같은 객관적인 필터에 기반하며, 과거 성과에는 기반하지 않습니다.
기간 선택
유리한 기간만 골라 쓰지 않고 각 종목의 이용 가능한 전체 이력을 사용합니다. 2010~2024년을 테스트한다면 2015년 중국 증시 폭락, 2018년 조정, 2020년 코로나 폭락을 포함합니다.
전략 선택
효과가 있었던 전략만이 아니라 테스트한 모든 전략을 기록합니다. 출판 편향(성공 사례만 보여주는 것)도 선택 편향의 한 형태입니다.
벤치마크 선택
비교 대상 벤치마크는 테스트를 시작하기 전에 정의합니다. 결과를 본 뒤 상대 성과가 좋아 보이도록 벤치마크를 바꾸지 않습니다.
최적화 편향
파라미터 위험최적화 편향은 과최적화의 한 특수한 형태입니다. 수백 가지 파라미터 조합에 대해 그리드 서치를 실행해 가장 좋은 것을 고르면, 찾은 것은 "진짜" 최적 파라미터가 아니라 무작위 노이즈 때문에 그 특정 과거 기간에서 우연히 가장 잘 작동한 파라미터입니다.
예시: "최고" 파라미터가 오해를 부르는 이유
저희의 최적화 규칙
- ● 전략 파라미터는 표본 내 백테스트를 실행하기 전에 정한다
- ● 최적화를 사용하는 경우 훈련 세트에서만 수행하며, 검증 세트에서는 절대 수행하지 않는다
- ● 독자가 견고성을 확인할 수 있도록 최고점뿐 아니라 최적화 곡면도 보고한다
- ● 좁은 봉우리가 아닌 평평한 고원에 위치한 파라미터 값을 선호한다
- ● 워크포워드 최적화: 파라미터를 주기적으로 다시 최적화하여 실제 적응형 운용을 모사한다
표본 외 검증
최종 관문표본 외(OOS) 테스트는 가장 중요한 검증 단계입니다. 전략을 훈련 세트에서 개발하고 최적화한 후, 완전히 분리된 홀드아웃 기간에서 단 한 번 테스트합니다. OOS 결과는 전략을 더 다듬는 데 사용할 수 없으며, 그렇게 하면 해당 홀드아웃은 더 이상 진정한 표본 외가 아닙니다.
15년 백테스트의 일반적인 데이터 분할
전략 개발
(20%)
(20%)
워크포워드 테스트
워크포워드 테스트는 실제 트레이더가 주기적으로 전략을 다시 최적화하는 과정을 모사하는, 더 정교한 형태의 OOS 테스트입니다. 고정된 훈련/테스트 분할 한 번 대신 롤링 윈도우를 사용합니다. 처음 N개 봉에서 최적화하고, 다음 M개 봉에서 테스트하고, M개 봉만큼 전진한 뒤 이를 반복합니다.
롤링 윈도우
12개월 최적화 윈도우와 3개월 워크포워드 단계를 사용합니다. 각 윈도우는 독립적입니다.
일관성 점검
워크포워드 성과 대비 표본 내 성과의 비율을 측정합니다. 비율이 50%를 넘으면 견고한 전략임을 나타냅니다.
둘 다 보고
완전한 투명성을 위해 모든 보고서는 표본 내 결과와 워크포워드(표본 외) 결과를 나란히 보여줍니다.
편향 통제 요약
| 편향 유형 | 전형적인 영향 | 저희의 통제 | 상태 |
|---|---|---|---|
| 룩어헤드 | 매우 큼 — 보고 수익률이 두 배가 될 수 있음 | 다음 봉 시가 체결, 이벤트 기반 엔진 | 통제됨 |
| 생존자 | 연간 수익률 +3~8% 과대평가 | 상장폐지 종목을 포함한 시점 기준 종목군 | 통제됨 |
| 과최적화 | 실전 매매에서 전략 실패 | 파라미터 민감도, 몬테카를로, 100회 이상 거래 | 통제됨 |
| 선택 | 골라낸 승자만 제시됨 | 사전 정의된 종목군, 전체 이력, 모든 테스트 보고 | 통제됨 |
| 최적화 | 잘못된 "최적" 파라미터 | 경제적 논리, 워크포워드, 평평한 고원 선호 | 통제됨 |
| OOS 검증 없음 | 표본 내 결과 ≠ 실전 결과 | 60/20/20 분할, 워크포워드 테스트 | 통제됨 |