퀀트 학습 / 8강 · 10

백테스트의 함정 — 과최적화, 미래참조, 생존편향

함정 1: 과최적화 (Overfitting)

파라미터를 수십 번 바꿔가며 "과거에 가장 좋았던 조합"을 찾으면, 그 전략은 과거에만 완벽한 전략입니다. 미래에는 무너집니다.

대응법:

  • 파라미터를 조금 바꿔도 결과가 크게 흔들리지 않는 전략을 고르세요 (강건성)
  • 데이터를 학습 구간/검증 구간으로 나누세요 — 예: 2020~2023년으로 파라미터를 정하고, 2024~2026년으로 검증 (이 기간 데이터는 "한 번만" 사용)
  • 여러 종목에서 두루 통하는지 확인하세요

함정 2: 미래참조 (Look-ahead Bias)

그날 알 수 없는 정보를 그날 매매에 쓰는 버그입니다. 예: "당일 종가가 이평선 위면 당일 시가에 매수" — 시가 시점엔 종가를 모릅니다.

이 시스템의 백테스트는 종가 신호 → 종가 체결(이평/RSI), 장중 돌파 → 목표가 체결(변동성 돌파)로 설계되어 미래참조를 피했습니다. 직접 전략을 만들 때 가장 자주 생기는 버그이니 항상 의심하세요.

함정 3: 생존편향 (Survivorship Bias)

"지금 살아남은 종목"만으로 백테스트하면 수익률이 부풀려집니다. 상장폐지된 종목들은 데이터에서 사라졌기 때문입니다. 특히 "과거 10년간 삼성전자에 이 전략을 썼다면?"이라는 백테스트는 삼성전자가 살아남아 우량주가 될 것을 이미 알고 고른 것임을 잊지 마세요.

체크리스트

  • [ ] 파라미터를 ±20% 바꿔도 결과가 무너지지 않는가?
  • [ ] 검증 구간(최근 데이터)을 따로 남겨뒀는가?
  • [ ] 거래 횟수가 30회 이상인가?
  • [ ] 하락장 구간이 포함돼 있는가?
  • [ ] 거래비용·슬리피지가 반영됐는가? (이 시스템: 자동 반영)