백테스트 정확도 높이는 7가지 팁
백테스트에서는 연 30% 수익이 나오는데 실거래에서는 -10%인 케이스, 흔하죠. 이 차이는 보통 7가지 함정 중 하나에서 옵니다. 각각 어떻게 피할 수 있는지 정리했습니다.
수수료·슬리피지를 반드시 반영하세요
Binance Futures taker 수수료 0.04%, 진입+청산 왕복 0.08%. 슬리피지 0.025%를 더하면 한 거래당 0.13% 비용. 거래 100번이면 13% 차감. 수수료 무시한 백테스트는 의미 없습니다.
룩어헤드 바이어스 (Look-ahead Bias) 제거
"오늘 종가가 어제보다 높으면 어제 매수" 같은 코드, 보면 우습지만 실제로 자주 만들어집니다. 시점 t의 결정에는 시점 t-1까지의 데이터만 써야 합니다. 모든 인디케이터에 lag(1)이 들어갔는지 확인하세요.
생존 편향 (Survivorship Bias) 주의
현재 S&P 500 종목으로만 과거 백테스트하면 이미 살아남은 강한 종목들만 보는 거. 망한 종목을 빼고 보니 결과가 좋아 보입니다. Point-in-Time 데이터(그 시점에 실제로 지수에 있던 종목)를 사용해야 합니다.
과적합 (Overfitting) 피하기
"RSI 27.3 + 거래량 1.71배 + 8.4일선" 같은 정밀한 파라미터, 보통 과적합입니다. 깔끔한 숫자(RSI 30, 50일선)로도 비슷한 성과 나오지 않으면 그건 모델이 데이터를 외운 거. 파라미터 1~2개만 미세 조정 vs 큰 변화에서도 작동하는지 확인.
워크포워드 (Walk-Forward) 검증
전체 데이터로 최적화 + 같은 데이터로 평가는 의미 없습니다. 2020~2023 데이터로 최적화 → 2024~2025로 평가 같은 방식으로 미래 데이터에 어떻게 작동하는지 확인. 이게 진짜 검증입니다.
여러 시장·종목으로 검증
BTC 2021년 강세장에 잘 맞는 전략이 ETH 2022년 약세장에 무너지는 경우 흔합니다. 다른 종목·다른 시기·다른 시장 국면에서도 일관되게 작동하면 그제야 신뢰 가능합니다.
실전 도입 전 Shadow / Paper 모드 2~4주
백테스트 통과해도 실시간 시장은 다릅니다. 실거래 전에 "가짜 돈 모의 운영"으로 2~4주 돌려보고 백테스트 결과와 일치하는지 검증. 차이 크면 코드 버그 또는 백테스트 환경 차이.
요약 체크리스트
새 전략 백테스트 후 실거래 전에 위 7가지를 체크하시는 습관을 들이면 실패율이 크게 줄어듭니다. 특히 팁 5 (워크포워드) 와 팁 7 (Shadow 모드) 만 잘 해도 큰 사고는 막을 수 있습니다.
Zepta는 33개 알파 전략을 모두 워크포워드 검증 후, Shadow 모드로 2주간 가상 운영한 데이터를 누적해서 운영합니다. 새 전략 추가 시에도 같은 절차를 따릅니다.
실시간 백테스트 + Shadow 모드 검증을 한 화면에서 처리해보세요.
백테스트 시작하기 →