추세추종 백테스터 · 가이드 · 개념

개념

백테스팅이란? 시뮬레이션 매매의 원리와 결과를 믿으면 안 되는 순간

백테스팅은 “이 규칙을 5년 전부터 지켰다면 지금 얼마였을까”를 계산하는 일입니다. 쉬워 보이지만, 결과를 부풀리는 방법이 결과를 정직하게 내는 방법보다 훨씬 많습니다.

원리: 하루씩 앞으로 걸어가며 규칙을 적용한다

백테스팅의 계산은 단순합니다. 과거 첫날부터 하루씩 이동하면서, 그날까지의 데이터만으로 규칙을 판정하고 그 결과대로 사고팔았다고 가정해 잔고를 누적합니다.

핵심은 “그날까지의 데이터만”입니다. 오늘 판정에 내일 가격이 조금이라도 들어가면 그 백테스트는 무효입니다. 미래를 아는 상태로 매매한 셈이니 결과가 좋게 나오는 게 당연하고, 실전에서는 재현되지 않습니다.

이 사이트가 그 함정을 어떻게 막는지 — 전략 신호는 종가가 확정된 봉으로만 계산합니다. 진행 중인 봉은 값이 계속 바뀌므로 판정에 쓰지 않습니다. 지표 중 Parabolic SAR처럼 과거 값을 소급 수정하는 계열은 별도 테스트로 미래 참조가 없는지 검증합니다.

결과에서 봐야 할 네 가지 숫자

수익률만 보면 반드시 실패합니다. 최소한 이 넷을 같이 보세요.

이더리움 2017-09-25~2026-07-30 실제 계산 결과입니다. 매수후보유는 CAGR 27.1%, MDD -95.6%였습니다.

전략CAGRMDD샤프거래
Supertrend97.2% -48.5%1.5493
Parabolic SAR95.0% -47.8%1.54149
볼린저 밴드 돌파94.8% -48.6%1.5671
SMA 크로스오버89.6% -49.0%1.42107
EMA 크로스오버85.9% -51.4%1.39121

결과를 부풀리는 다섯 가지 함정

1. 미래 참조 (look-ahead bias)

판정에 아직 확정되지 않은 정보가 들어가는 것. 가장 흔하고 가장 치명적입니다.

2. 생존 편향 (survivorship bias)

지금 남아 있는 종목만으로 검증하는 것. 상장폐지된 종목을 빼면 어떤 전략이든 좋아 보입니다.

3. 수수료·슬리피지 누락

거래가 잦은 전략일수록 치명적입니다. 이 사이트는 왕복 0.5%를 기본으로 차감합니다.

4. 과최적화 (overfitting)

과거에 가장 잘 맞는 값을 찾아 붙이는 것. 실제 크기를 측정한 결과는 최적화와 과적합에 있습니다.

5. 체리피킹

잘 나온 기간·종목만 골라 보여주는 것. 그래서 이 사이트의 종목 페이지는 불리한 결과도 그대로 싣습니다.

백테스트가 좋아도 실전은 다릅니다. 호가 공백, 유동성 부족, 세금, 주문 거절은 어떤 시뮬레이션도 완전히 재현하지 못합니다. 백테스트는 나쁜 규칙을 거르는 도구이지 좋은 규칙을 증명하는 도구가 아닙니다.

직접 해보기

브라우저에서 바로 돌릴 수 있습니다. 종목·기간·수수료를 바꿔가며 같은 규칙이 얼마나 다르게 나오는지 보는 것이 가장 빠른 학습입니다.

백테스트 실행최적화의 함정 보기

같이 읽기