백테스팅이란?
과거 데이터를 사용해 투자 전략이 어떤 성과를 냈을지 시뮬레이션하는 과정입니다.
미래를 보장하지는 않지만, 전략의 논리가 역사적으로 유효했는지 검증하는 핵심 도구입니다.
주의해야 할 편향
- 과적합(Overfitting) — 과거 데이터에 지나치게 최적화되어 실전에서 성과가 저하되는 현상.
파라미터가 많을수록, 테스트 기간이 짧을수록 위험이 높아집니다.
- 생존 편향(Survivorship Bias) — 현재 존재하는 종목만 테스트해
폐업·상장폐지 기업을 누락하는 오류. 실제보다 수익률이 과대평가됩니다.
- 전진 편향(Look-Ahead Bias) — 당시에는 알 수 없었던 미래 정보를
사용하는 오류. 실적 발표 후 데이터를 발표 전 날짜에 사용하는 경우가 대표적입니다.
- 데이터 마이닝 편향 — 수많은 파라미터 조합을 시도하다 보면
우연히 좋은 결과가 나오는 조합을 찾게 됩니다. Out-of-sample 검증이 필수입니다.
현실적 요소 반영
슬리피지(체결가 차이), 거래 수수료, 세금을 반드시 설정에 포함해야
실전과 유사한 결과를 얻을 수 있습니다.
이를 생략하면 백테스트 수익률이 실제보다 크게 부풀려집니다.
백테스트 결과 해석 시 체크리스트
- 테스트 기간이 최소 1번 이상의 완전한 상승·하락 사이클을 포함하는가?
- 거래 비용(수수료 + 슬리피지)이 현실적으로 반영되었는가?
- 벤치마크(Buy & Hold)와 비교했을 때 유의미한 차이가 있는가?
- 파라미터를 약간 바꿔도 결과가 유사하게 나오는가? (견고성 테스트)