> EA·MT5 노하우 모음 > 백테스트의 함정과 실전 검증

백테스트MT5중급

백테스트의 함정 — 실전 검증으로만 알 수 있는 것

최종 업데이트: 2026-05-20 | 예상 읽기 시간: 15분

백테스트에서 우상향 자산 곡선이 나와도, 그것이 미래의 수익을 보장하는 것은 아닙니다. 백테스트에는 실제보다 성적을 좋게 보이게 하는 '함정'이 여러 가지 있습니다. 이 글에서는 그 함정의 정체와, 함정에 빠지지 않기 위한 실전 검증의 사고방식을 해설합니다.

백테스트가 '지나치게 좋은' 것이 왜 위험한가

백테스트는 과거 가격 움직임에 대한 시뮬레이션입니다. 과거 데이터는 한 가지 패턴밖에 없기 때문에, 거기에 맞추면 얼마든지 좋은 성적을 만들 수 있습니다. 이것이 과최적화(커브피팅)입니다.

더 나아가 백테스트의 설정이 실제보다 유리하면 성적은 실태 이상으로 좋게 나옵니다. 스프레드를 좁게 고정하거나, 체결이 반드시 희망 가격으로 이루어진다고 가정하거나——이러한 '현실과의 차이'가 쌓이면 백테스트와 실제 운용이 크게 괴리됩니다.

'백테스트에서 이겼다'는 출발점에 불과합니다. 중요한 것은 그 수치가 얼마나 현실적인 조건에서 나왔는지, 그리고 미지의 기간에서도 재현되는지입니다.

모델링 품질과 틱 데이터

MT5의 전략 테스터는 설정에 따라 계산의 정밀도(모델링 품질)가 달라집니다. 저렴한 시가 기반의 계산에서는 한 봉 안의 가격 움직임이 무시되어, SL이나 TP에 닿았는지 여부가 정확하게 판정되지 않습니다.

가장 정확한 것은 '전체 틱(사용 가능한 최소 시간 틀에 의한 가장 정확한 방법)' 또는 '실제 틱에 기반한 전체 틱'입니다. 전자의 정밀도는 대략 99.9%로 표시됩니다. 스캘핑 등 가격 폭이 작은 전략일수록 틱 정밀도의 영향을 강하게 받습니다.

계산 모드정밀도용도
시가만낮음대략적인 경향 확인만
1분봉 OHLC중간 정도간이 체크
전체 틱약 99.9%공개 전 본검증에 필수
실제 틱최고브로커 실데이터로 정밀 검증

놓치기 쉬운 4가지 비용

백테스트에서는 작아 보여도 실제 운용에서 수익을 갉아먹는 요소입니다.

1

스프레드 변동

백테스트는 고정 스프레드를 사용하는 경우가 많지만, 실제 스프레드는 시간대에 따라 변동하며 경제 지표 발표 시에는 평소의 5~10배로 벌어집니다. 고정값이 너무 좁으면 실제 운용 비용을 과소평가하게 됩니다.

2

슬리피지

희망한 가격과 실제 체결 가격의 차이입니다. 백테스트에서는 거의 무시되지만, 시장 급변 시나 스캘핑에서는 무시할 수 없는 손실 요인이 됩니다.

3

스왑 (금리 조정)

포지션을 다음날로 이월하면 발생하는 금리 비용입니다. 장기 보유형 EA에서는 스왑의 누적이 손익을 좌우합니다. 백테스트의 스왑 설정이 실제와 맞는지 확인이 필요합니다.

4

체결 거부·리쿼트

실제 운용에서는 주문이 통하지 않거나 가격을 다시 제시받는 경우가 있습니다. 백테스트에서는 반드시 체결된다는 전제이기 때문에, 이 마찰은 재현되지 않습니다.

백테스트 함정 체크리스트

백테스트 결과를 볼 때 다음 항목을 확인하세요. 해당될수록 수치를 할인하여 봐야 합니다.

확인 항목함정 내용
모델링 품질이 99.9% 미만봉 안의 가격 움직임이 무시되어 SL/TP 판정이 부정확해짐
스프레드가 고정으로 좁음실제 거래 비용을 과소평가하고 있음
기간이 짧음 (3년 미만)특정 시장 국면만 포함하여 결과가 편향됨
PF 3.0 초과·자산 곡선이 지나치게 매끄러움과최적화 의심이 강함
최적화한 기간으로 평가하고 있음과거 데이터 맞춤을 실력으로 오인하고 있음
1개의 통화 쌍·1개의 기간만우연히 잘 된 것일 가능성이 있음

실전·복수 기간으로 검증하기

백테스트의 함정을 피하는 최선의 방법은 '복수의 독립된 조건으로 반복하여 검증하는 것'입니다. 1회의 좋은 성적은 우연일 수 있지만, 다른 기간·다른 조건에서 안정적으로 플러스라면 진정한 우위성을 기대할 수 있습니다.

1

복수 기간으로 나누어 테스트한다

10년을 3~4개의 기간으로 나누어 각각 단독으로 플러스인지 확인합니다. 1개 기간만 두드러져 전체를 지탱하고 있는 경우는 주의가 필요합니다.

2

워크포워드 분석으로 과최적화를 검출한다

최적화에 사용하지 않은 기간(OOS)에서 성적이 무너지지 않는지 확인합니다. 이것이 과최적화의 가장 확실한 검출 방법입니다.

3

포워드 테스트로 실제 시장에 노출시킨다

데모 계좌에서 최소 3개월 가동하여, 실제 스프레드·슬리피지 하에서 백테스트 성적의 70~130%를 유지할 수 있는지 확인합니다.

백테스트·워크포워드 분석·포워드 테스트의 세 가지를 통과해야 비로소 실제 자금을 넣는 후보가 됩니다. 하나라도 빠지면 판단 자료로서 불충분합니다.

🔬 워크포워드 분석으로 과최적화를 판별한다

백테스트의 함정 중 가장 다루기 어려운 것이 과최적화입니다. 워크포워드 분석 글에서 구체적인 검출 절차를 해설하고 있습니다.

워크포워드 분석 읽기 →

자주 묻는 질문

Q: 모델링 품질은 몇 %가 있으면 신뢰할 수 있나요?

공개 전 본검증에서는 '전체 틱' 모드를 사용하여 99.9%가 기준입니다. 시가만이나 1분봉 OHLC는 대략적인 경향 확인에는 사용할 수 있지만, SL/TP 판정이 부정확하므로 최종적인 채부 판단에는 사용할 수 없습니다.

Q: 백테스트의 스프레드는 얼마로 설정해야 하나요?

실제로 사용하는 브로커·통화 쌍의 평균 스프레드에 맞추세요. 더 보수적으로 보려면 평균의 1.5배 정도로 재테스트하여 그래도 수익이 남는지 확인하면 안심입니다. 고정된 좁은 값은 금물입니다.

Q: 백테스트 기간은 얼마나 필요한가요?

최소 5년, 가능하면 10년입니다. 짧은 기간이면 상승 추세만, 레인지 시장만과 같은 특정 국면밖에 포함되지 않아 결과가 편향됩니다. 리먼 쇼크나 코로나 쇼크 같은 급격한 변동을 포함하는 기간에서 테스트하는 것이 중요합니다.

Q: 백테스트가 좋으면 실제 운용에서도 이길 수 있나요?

보장되지 않습니다. 백테스트는 '과거에 통했는지'를 나타낼 뿐입니다. 과최적화되어 있으면 미래에는 재현되지 않습니다. 워크포워드 분석과 포워드 테스트를 통과해야 비로소 실운용 후보로 판단할 수 있습니다.

Q: 왜 백테스트와 포워드 테스트에서 성적이 다른가요?

주요 원인은 과최적화, 스프레드 설정이 실제보다 좁은 것, 슬리피지가 고려되지 않은 것, 이 세 가지입니다. 포워드 테스트의 PF가 백테스트의 70%를 밑도는 경우는 이 요인들을 하나씩 확인하세요.