백테스트의 함정 — 실전 검증으로만 알 수 있는 것
최종 업데이트: 2026-05-20 | 예상 읽기 시간: 15분
백테스트에서 우상향 자산 곡선이 나와도, 그것이 미래의 수익을 보장하는 것은 아닙니다. 백테스트에는 실제보다 성적을 좋게 보이게 하는 '함정'이 여러 가지 있습니다. 이 글에서는 그 함정의 정체와, 함정에 빠지지 않기 위한 실전 검증의 사고방식을 해설합니다.
백테스트가 '지나치게 좋은' 것이 왜 위험한가
백테스트는 과거 가격 움직임에 대한 시뮬레이션입니다. 과거 데이터는 한 가지 패턴밖에 없기 때문에, 거기에 맞추면 얼마든지 좋은 성적을 만들 수 있습니다. 이것이 과최적화(커브피팅)입니다.
더 나아가 백테스트의 설정이 실제보다 유리하면 성적은 실태 이상으로 좋게 나옵니다. 스프레드를 좁게 고정하거나, 체결이 반드시 희망 가격으로 이루어진다고 가정하거나——이러한 '현실과의 차이'가 쌓이면 백테스트와 실제 운용이 크게 괴리됩니다.
모델링 품질과 틱 데이터
MT5의 전략 테스터는 설정에 따라 계산의 정밀도(모델링 품질)가 달라집니다. 저렴한 시가 기반의 계산에서는 한 봉 안의 가격 움직임이 무시되어, SL이나 TP에 닿았는지 여부가 정확하게 판정되지 않습니다.
가장 정확한 것은 '전체 틱(사용 가능한 최소 시간 틀에 의한 가장 정확한 방법)' 또는 '실제 틱에 기반한 전체 틱'입니다. 전자의 정밀도는 대략 99.9%로 표시됩니다. 스캘핑 등 가격 폭이 작은 전략일수록 틱 정밀도의 영향을 강하게 받습니다.
| 계산 모드 | 정밀도 | 용도 |
|---|---|---|
| 시가만 | 낮음 | 대략적인 경향 확인만 |
| 1분봉 OHLC | 중간 정도 | 간이 체크 |
| 전체 틱 | 약 99.9% | 공개 전 본검증에 필수 |
| 실제 틱 | 최고 | 브로커 실데이터로 정밀 검증 |
놓치기 쉬운 4가지 비용
백테스트에서는 작아 보여도 실제 운용에서 수익을 갉아먹는 요소입니다.
스프레드 변동
백테스트는 고정 스프레드를 사용하는 경우가 많지만, 실제 스프레드는 시간대에 따라 변동하며 경제 지표 발표 시에는 평소의 5~10배로 벌어집니다. 고정값이 너무 좁으면 실제 운용 비용을 과소평가하게 됩니다.
슬리피지
희망한 가격과 실제 체결 가격의 차이입니다. 백테스트에서는 거의 무시되지만, 시장 급변 시나 스캘핑에서는 무시할 수 없는 손실 요인이 됩니다.
스왑 (금리 조정)
포지션을 다음날로 이월하면 발생하는 금리 비용입니다. 장기 보유형 EA에서는 스왑의 누적이 손익을 좌우합니다. 백테스트의 스왑 설정이 실제와 맞는지 확인이 필요합니다.
체결 거부·리쿼트
실제 운용에서는 주문이 통하지 않거나 가격을 다시 제시받는 경우가 있습니다. 백테스트에서는 반드시 체결된다는 전제이기 때문에, 이 마찰은 재현되지 않습니다.
백테스트 함정 체크리스트
백테스트 결과를 볼 때 다음 항목을 확인하세요. 해당될수록 수치를 할인하여 봐야 합니다.
| 확인 항목 | 함정 내용 |
|---|---|
| 모델링 품질이 99.9% 미만 | 봉 안의 가격 움직임이 무시되어 SL/TP 판정이 부정확해짐 |
| 스프레드가 고정으로 좁음 | 실제 거래 비용을 과소평가하고 있음 |
| 기간이 짧음 (3년 미만) | 특정 시장 국면만 포함하여 결과가 편향됨 |
| PF 3.0 초과·자산 곡선이 지나치게 매끄러움 | 과최적화 의심이 강함 |
| 최적화한 기간으로 평가하고 있음 | 과거 데이터 맞춤을 실력으로 오인하고 있음 |
| 1개의 통화 쌍·1개의 기간만 | 우연히 잘 된 것일 가능성이 있음 |
실전·복수 기간으로 검증하기
백테스트의 함정을 피하는 최선의 방법은 '복수의 독립된 조건으로 반복하여 검증하는 것'입니다. 1회의 좋은 성적은 우연일 수 있지만, 다른 기간·다른 조건에서 안정적으로 플러스라면 진정한 우위성을 기대할 수 있습니다.
복수 기간으로 나누어 테스트한다
10년을 3~4개의 기간으로 나누어 각각 단독으로 플러스인지 확인합니다. 1개 기간만 두드러져 전체를 지탱하고 있는 경우는 주의가 필요합니다.
워크포워드 분석으로 과최적화를 검출한다
최적화에 사용하지 않은 기간(OOS)에서 성적이 무너지지 않는지 확인합니다. 이것이 과최적화의 가장 확실한 검출 방법입니다.
포워드 테스트로 실제 시장에 노출시킨다
데모 계좌에서 최소 3개월 가동하여, 실제 스프레드·슬리피지 하에서 백테스트 성적의 70~130%를 유지할 수 있는지 확인합니다.
🔬 워크포워드 분석으로 과최적화를 판별한다
백테스트의 함정 중 가장 다루기 어려운 것이 과최적화입니다. 워크포워드 분석 글에서 구체적인 검출 절차를 해설하고 있습니다.
워크포워드 분석 읽기 →