분류
성과
난이도
초급
사용 상황
백테스트EA 평가

백테스트

백테스트는 EA의 매매 규칙을 과거 가격 데이터에 적용해 그 전략이 과거에 어떤 성과를 냈을지 추정하는 시뮬레이션이다.

다른 표현: backtest, 과거 데이터 시뮬레이션, 전략 검증

업데이트일

쉽게 말하면

EA의 규칙을 가격 이력 위에서 돌려 무엇을 했을지 확인하는 일이다. 결과는 시뮬레이션의 기록이지 예측이 아니며, 둘이 얼마나 닮았는지는 전적으로 시뮬레이션을 어떻게 구성했느냐에 달려 있다.

왜 중요한가

대부분의 EA가 제시하는 유일한 증거가 백테스트이므로, 그것이 무엇을 입증할 수 있고 무엇을 입증할 수 없는지 아는 것이 EA 평가의 대부분이다. 백테스트는 전략을 싸게 탈락시키고 규칙이 설명과 일치함을 보여준다. 다만 예측은 할 수 없으며, 실망스러운 구매의 거의 전부는 백테스트를 예측인 것처럼 읽는 데서 시작된다.

  • 마케팅 문구와 달리 반증이 가능하다. 백테스트는 데이터 출처와 기간, 비용 모델을 명시하므로 구매자는 그 실행이 재현 가능한지 물을 수 있다. 그것들을 밝히지 않는 EA는 이미 무언가를 말해준 셈이다.
  • 실패하기에 가장 값싼 자리다. 과거에서 돈을 잃는 규칙이 실계좌에서 이기기 시작하지는 않으므로, 백테스트는 하룻밤 연산 비용으로 후보를 걸러낸다.
  • 결과는 하나의 숫자가 아니라 범위다. 같은 규칙이라도 데이터 출처와 스프레드, 시작일이 달라지면 결과가 흩어지며, 그 흩어짐의 폭이야말로 실제 발견이다.

전략 검증에 쓰는 법

어디에 쓰이나

  • 전략 아이디어에 돈이나 포워드 테스트 시간을 들이기 전에 미리 걸러내는 단계.
  • 운용자가 예상해야 할 매매 빈도와 평균 보유 시간, 최악의 연속 손실을 확정하는 작업.
  • EA 상세 페이지에 공개되는 수치, 즉 프로핏 팩터와 드로다운, 승률을 산출하는 일. 그래서 실행의 출처가 곧 주장의 일부가 된다.
  • 기존 EA를 더 최근 데이터 구간에서 다시 돌려 동작이 어긋났는지 확인하는 일.

신뢰할 수 있는 결과의 모습

  • 데이터 출처와 기간, 테스터 모델이 모두 명시되어 있어 그 실행을 믿는 대신 재현할 수 있다.
  • 스프레드와 수수료를 이상적인 고정값으로 두지 않고 현실적인 수준으로 모델링한 실행이다.
  • 구간이 여러 시장 국면을 포괄한다. 최소한 추세 구간과 횡보 구간, 그리고 한 번의 스트레스 구간이 들어 있다.
  • 보고된 바로 그 구간에서 규칙을 조정하지 않았거나, 조정했다면 손대지 않은 아웃오브샘플 구간을 나란히 보여준다.
  • 거래 수가 수백 건대여서 대표 통계가 소수의 이상치에 얹혀 있지 않다.

경고 신호

  • 데이터 출처도 기간도 거래 수도 없는 자산 곡선 스크린샷.
  • 시작점이 유난히 편리한 구간. 마지막 위기 이후부터 테스트를 시작한 EA는 시험 문제를 스스로 고른 셈이다.
  • 37기간 이동평균에 23.7핍 손절처럼 믿기 힘든 정밀도로 제시된 파라미터.
  • 실행이 아니라 템플릿에서 나온 모델링 품질 수치. MT5의 Model 0은 M1 봉에서 틱을 생성하며, 기록된 틱을 재생하는 것은 Model 4뿐이다. 이 페이지들 뒤의 스키마는 해당 항목의 기본값을 99로 두고 있었고, 그래서 Model 0으로 돌린 실행이 2026-08-06에 그 기본값을 제거하기 전까지 '99% modelling quality, against a 92% minimum'을 표시했다.
  • 작성자가 최적화한 그 하나의 상품에서만 보여주는 결과.

백테스트와 실거래의 차이

  • 체결이 낙관적이다. 테스터는 주문이 모델링된 가격으로 시장에 닿았다고 가정하지만, 실거래는 슬리피지와 리쿼트, 지연을 더하며 셋 다 비용이다.
  • 비용이 고정되어 있다. 고정 스프레드 백테스트는 뉴스 전후와 세션 교체 때 벌어지는 확대를 놓치는데, 바로 그때 많은 전략이 매매한다.
  • 시장은 이미 지나갔다. 테스트 구간에는 전략이 본 적 없는 국면이 하나도 없지만, 실거래는 결국 그런 국면을 가져온다.
  • 실거래의 프로핏 팩터와 기대값은 테스트 수치보다 낮다고 보는 편이 맞다. 적당한 격차는 정상이지만 부호가 바뀌었다면 테스트의 비용 설정이 틀렸거나 규칙이 과최적화된 것이다.
  • 그 격차를 여기서 측정했다. 이 사이트의 열네 개 상품에서 백테스트 프로핏 팩터는 1.23에서 1.53 사이에 모여 있지만, 등재 이후의 아웃오브샘플 구간은 거래 7건에서 142건 위에서 0.72에서 6.43까지 벌어진다. 그중 둘은 1.0 아래이며, 여기에는 백테스트가 두 번째로 좋았던 상품도 포함된다. 그 정도로 작은 표본은 양방향으로 이렇게 보인다.

권장 검증 방법

  1. 1비용 모델부터 확정하라. 현실적인 스프레드와 수수료를 먼저 정하고 실행하며, 이상적인 체결로 조정한 뒤 마지막에 비용을 얹지 않는다.
  2. 2무엇이든 최적화하기 전에 손대지 않을 구간을 떼어 두고, 규칙이 확정될 때까지 그 구간을 들여다보지 않는다.
  3. 3두 번째 데이터 출처에서 다시 돌린다. 조금 이상으로 어긋나는 두 출처는 결과가 규칙이 아니라 데이터에 달려 있다고 말해 주는 것이다.
  4. 4시작일을 몇 주 옮겨 다시 돌린다. 단 하나의 시작일에서만 살아남는 결과는 결과가 아니다.

예시

EA 하나, 구간 하나, 설정 파일에 적은 고정 스프레드 값만 다른 네 번의 테스터 실행.

고정 스프레드를 20, 30, 40, 60포인트로 설정
동일한 리포트 네 개
네 리포트 파일 전체의 MD5
471C1CE24EC24E669C20BD2B01EBB8A3
각각 621,050바이트 — 그 설정은 아무것도 움직이지 않았다.

2026-07-31에 GBPJPYm에서 측정했고, 그래서 해당 상품은 스프레드 수치를 아예 공개하지 않는다. 이후 테스터 안에서 돌린 기록기가 평균을 19.14포인트로 측정했다.

계산 20 / 30 / 40 / 60포인트 → 바이트까지 동일한 리포트 하나

결과 MT5 테스터에는 Spread 키가 없다. MT4의 잔재이며, 따라서 실제로 적용된 비용 모델은 설정한 그것이 아니었다

해석하는 법

백테스트는 조건이 딸린 주장으로 읽어야 한다. 계좌와 부딪혔을 때 그중 얼마가 살아남는지는 그 조건이 결정한다.

구간 의미
데이터 출처도 기간도 밝히지 않음 증거가 아니다. 재현할 것도 없고 반박할 것도 없다.
출처 명시, 단일 상품, 최적화한 구간 출발점이다. 규칙이 어딘가에서는 이길 수 있음을 보여줄 뿐이며, 이는 백테스트가 보여줄 수 있는 가장 약한 것이다.
출처 명시에 현실적 비용, 여러 국면을 포괄 읽어 볼 가치가 있다. 이제 수치는 설정이 아니라 전략에 관해 말한다.
위에 더해 손대지 않은 아웃오브샘플 구간까지 백테스트만으로 낼 수 있는 가장 강한 증거다. 그 일부는 규칙을 조정한 사람이 쓸 수 없던 데이터이기 때문이다.
  • 무엇을 최적화했는지 물어라. 보고된 구간에서 조정한 파라미터는 하나하나가 결과의 일부를 데이터에서 빌려 온다.
  • 수익보다 거래 수를 먼저 확인하라. 아무리 좋아 보여도 50건으로는 전략과 운을 구분할 수 없다.
  • 재현할 수 없는 백테스트는 스크린샷이다. 출처를 적은 줄을 각주가 아니라 숫자의 일부로 다뤄라.

mt5depot의 EA 상세 페이지는 공개된 모든 실행에 대해 데이터 출처와 기간, 테스터 모델을 밝히며, 30개 중 모델링 품질 수치를 실은 것은 6개, 실틱으로 돌린 18개 실행 가운데 6개다. 빌드 게이트가 배포된 페이지를 읽어 나머지 24개가 그 수치를 주장하지 못하게 막는다.

흔한 오해

백테스트를 예측으로 읽기

이미 존재하는 데이터 위에서 규칙이 무엇을 했을지 보고할 뿐이다. 미래에는 그 구간에 없던 조건이 들어 있고, 그래서 포워드 결과가 더 나쁘며 계획해야 할 대상은 바로 그 격차다.

같은 구간에서 최적화하고 같은 구간을 보고하기

조정한 파라미터는 저마다 그 구간의 잡음을 조금씩 흡수하므로, 조정에 쓴 데이터로 테스트하는 것은 조정 자체를 측정하는 일이다. 결과는 반드시 좋아 보이고 반드시 반복되지 않는다.

조건이 다른 두 백테스트를 비교하기

스프레드와 데이터 출처, 기간, 테스터 모델이 다르면 전략과 무관하게 수치가 움직인다. 두 숫자는 그 뒤의 설정이 일치할 때만 비교할 수 있다.

긴 구간이 당연히 낫다고 여기기

보간된 봉 데이터로 돌린 10년 테스트는 인트라데이 전략에서 실틱 2년보다 정보가 적을 수 있다. 더 긴 실행에는 규칙이 실제로 매매하는 봉 내부 경로가 애초에 담겨 있지 않기 때문이다.

자세히

자주 묻는 질문

백테스트가 좋으면 EA를 사도 되나요?
아닙니다. 백테스트는 전략을 탈락시킬 수 있고 규칙이 설명대로 동작함을 보여줄 수 있지만, 테스트 구간에 없던 조건에서도 우위가 유지된다는 점은 입증하지 못합니다. 아웃오브샘플 구간이나 포워드 기록이 함께 있는지 확인하고, 수익보다 비용 모델을 먼저 읽으세요.
EA 백테스트는 얼마나 길어야 하나요?
여러 시장 국면을 담을 만큼 길고 통계가 안정될 만큼 거래가 많아야 합니다. 대부분의 전략에서 실무적으로는 수년과 수백 건입니다. 길이 자체가 기준은 아닙니다. 품질이 나쁜 데이터로 오래 돌린 결과가 실틱으로 짧게 돌린 결과보다 정보가 적을 수 있습니다.
백테스트 결과가 브로커마다 다른 이유는 무엇인가요?
가격 이력과 스프레드 기록, 거래 조건이 다르기 때문입니다. 같은 규칙을 두 데이터 출처에서 돌려 뚜렷하게 다른 결과가 나오는 것은 유용한 정보입니다. 결과가 전략만큼이나 데이터에 달려 있다는 뜻이기 때문입니다.