분류
성과
난이도
중급
사용 상황
백테스트전략 설계EA 평가

과최적화

과최적화는 EA 파라미터를 과거 데이터에 지나치게 정밀하게 맞추어, 백테스트에서는 뛰어나지만 처음 보는 데이터에서는 부진한 전략을 만드는 일이다. 실제 시장 패턴이 아니라 잡음을 이용하기 때문이다.

다른 표현: overfitting, 곡선 적합, 데이터 마이닝 편향

업데이트일 · 검토일

쉽게 말하면

규칙을 과거에 너무 바싹 들어맞을 때까지 조정하면, 결국 패턴이 아니라 그 시기의 우연을 학습한다. 백테스트는 좋아지는데 전략은 나빠지고, 보고서 안에는 그 둘을 구분해 줄 것이 없다.

왜 중요한가

과최적화는 아름다운 증거를 만들어 내는 실패 방식이며, 그래서 나쁜 전략이라면 통과하지 못할 검토를 살아남는다. 최적화를 한 번 더 돌릴 때마다 전략이 좋아지든 아니든 보고된 결과는 좋아지므로, 보고된 결과만 보는 절차로는 그 차이를 알 수 없다.

  • 가장 흔한 EA 실망을 설명한다. 훌륭한 백테스트, 평범하거나 잃는 실계좌, 그런데 찾을 버그는 없다. 무엇도 고장 나지 않았다 — 그 조정이 측정한 것은 표본이었다.
  • 열심히 할수록 나빠진다. 파라미터가 늘고, 최적화 횟수가 늘고, 후보 전략이 늘수록 승자가 잡음에 맞춰 이겼을 확률이 함께 올라간다.
  • 이긴 실행 기록만으로는 탐지할 수 없다. 진짜 우위와 맞춰진 우위를 가르는 유일한 증거는 조정이 한 번도 보지 않은 데이터에서의 성과이며, 그 데이터는 조정을 시작하기 전에 떼어 두어야 한다.

전략 검증에 쓰는 법

어디에 쓰이나

  • EA가 공개한 백테스트가 우위의 증거인지 조정의 증거인지 판단할 때.
  • 전략을 최적화하기도 전에 파라미터를 몇 개까지 허용할지 정할 때.
  • 워크포워드 실행에서 표본 내와 표본 외 결과의 격차를 해석할 때.
  • 최적화 표 상단을 차지한 전략이 투입되자마자 나빠지는 이유를 설명할 때.

신뢰할 수 있는 결과의 모습

  • 보고된 구간에는 파라미터를 고르는 동안 손대지 않은 데이터가 포함되어 있다.
  • 파라미터가 적고, 각각이 백테스트를 언급하지 않고도 트레이더가 설명할 수 있는 무언가에 대응한다.
  • 인접한 파라미터 값이 비슷한 성과를 낸다. 오직 한 설정에서만 살아남는 우위는 표본의 성질이다.
  • 같은 설정 그대로, 선정에 쓰이지 않은 종목과 기간에서도 규칙이 작동한다.
  • 이 전략 이전에 몇 개를 시도했는지가 공개되어 있다. 넓은 탐색의 승자는 우연히 좋아 보이는 것이 당연하기 때문이다.

경고 신호

  • 믿기 어려운 정밀도의 파라미터 — 37기간 이동평균, 23.7핍 손절 — 우위가 진짜라면 둥근 값으로도 거의 같은 성과가 나올 자리에서.
  • 포워드 기록 없이 수년치 백테스트에서 승률 90 % 초과 또는 샤프 3 초과.
  • 파라미터를 선정한 바로 그 한 종목, 그 한 구간에서만 제시된 결과.
  • 넓은 고원이 아니라 홀로 솟은 날카로운 봉우리 형태의 성과 곡면.
  • 이것을 공개하기까지 몇 개의 변형을 시험했는지에 대한 언급이 없음.

백테스트와 실거래의 차이

  • 실계좌가 진짜 의미의 첫 표본 외 검증이며, 그래서 하락이 서서히가 아니라 즉시 나타난다.
  • 맞춰진 전략은 보통 극적인 손실이 아니라 비용을 뺀 본전 쪽으로 내려앉는데, 그래서 나쁜 시기였다고 넘기기 쉽다.
  • 측정 대상은 표본 내와 실계좌 사이 격차의 크기다. 완만한 하락은 어느 전략에나 정상이고, 본전선을 뚫고 내려가는 것이 그 서명이다.
  • 하락 후 재최적화는 백테스트를 되살리고 같은 순환을 반복한다. 그 절차가 스스로 만든 함정이다.

권장 검증 방법

  1. 1파라미터를 건드리기 전에 표본 외 구간을 떼어 두고, 맨 마지막에 딱 한 번만 열어 본다.
  2. 2결과가 더 좋은 많은 파라미터보다, 의미를 설명할 수 있는 적은 파라미터를 택한다.
  3. 3봉우리가 아니라 이웃을 본다. 뾰족한 첨두의 꼭대기가 아니라 넓은 고원의 가운데를 잡는다.
  4. 4완성된 설정을 손대지 않은 채 다른 종목과 다른 기간에서 다시 검증한다.
  5. 5전략이 시간에 따라 실제로 재적합되어야 한다면 워크포워드 분석을 써서, 재적합 자체가 검증 대상에 포함되게 한다.

예시

옵티마이저가 전략의 상위 열 개 파라미터 조합을 보고한다. 공개되는 것은 맨 윗줄이지만, 우위가 진짜인지 실제로 말해 주는 것은 그 주변 표의 모양이다.

표본 내 최적 설정 (기간 37)
PF 2.41
인접 설정 (기간 35–39)
PF 0.94–1.06
한 칸만 옮겨도 결과가 무너진다 — 그 봉우리는 고원이 아니라 첨두다.
같은 설정, 손대지 않은 표본 외 구간
PF 0.88

진짜 우위는 파라미터가 최적점에서 멀어질수록 완만하게 약해진다. 맞춰진 우위는 절벽에서 떨어지며, 그 절벽은 표본 외 데이터를 한 조각도 쓰기 전에 이미 보인다.

계산 표본 내 2.41 → 표본 외 0.88, 이웃들은 본전 근처

결과 2.41은 규칙이 아니라 그 구간의 성질이었다

해석하는 법

과최적화는 결과가 아니라 그 결과를 만든 절차에서 진단한다. 무엇을, 무엇 위에서 조정했고, 무엇을 남겨 두었는지 물어라.

구간 의미
한 구간, 모든 파라미터 최적화, 남겨 둔 것 없음 그 보고서는 미래에 대한 증거 가치가 없다. 규칙을 표본에 얼마나 잘 구부릴 수 있는지를 설명할 뿐이다.
표본 외 구간을 보고하되 조정할 때마다 다시 사용 예비분은 소진되었다. 그 결과가 조정에 되먹여지는 순간 그것도 표본 내가 된다.
손대지 않은 표본 외 구간 하나를 한 번만 확인 최소 기준이다. 수준이 아니라 격차를 해석하라.
넓은 파라미터 고원과 종목 간 교차 확인을 갖춘 워크포워드 실전 투입 전에 얻을 수 있는 가장 강한 증거다. 재적합 자체가 검증되었기 때문이다.
  • 파라미터만이 아니라 시도한 전략의 수를 세라. 이백 개를 시험하고 최고를 공개하는 것은, 승자가 운으로 좋아 보이는 것이 당연한 탐색이다.
  • 공개된 파라미터를 반올림해 다시 돌려라. 결과가 대체로 남으면 그 정밀도는 장식이었고, 무너지면 그 정밀도가 곧 우위였다.
  • 봉우리가 아니라 파라미터 곡면을 평가하라. 처음 보는 데이터로 옮겨 가는 성질은 넓이다.

mt5depot 등록 정보는 데이터 구간, 테스터 모델, 거래 수를 명시하므로, 독자는 곡선을 믿는 대신 위의 질문들을 던질 수 있다.

흔한 오해

표본 외 구간을 재사용하기

떼어 둔 구간의 결과가 또 한 번의 조정을 이끌 때마다, 그 구간은 학습 데이터의 일부가 된다. 몇 번 돌고 나면 표본 외는 남지 않고, 절차는 더 엄격하게 느껴지면서 증명하는 것은 더 적어진다.

높은 샤프나 높은 승률을 과최적화가 아니라는 근거로 삼기

그 수치들이야말로 적합이 부풀리는 값이다. 리테일 EA에서 표본 내 샤프가 3을 넘는다면 안심할 근거라기보다 증상일 가능성이 크다.

파라미터가 적으면 안전하다고 믿기

파라미터 수는 하나의 경로이고, 전략 선택은 또 다른 경로다. 같은 구간에서 단순한 전략 이백 개 중 최고를 고르는 일은, 복잡한 전략 하나를 조정하는 것과 똑같이 효과적으로 표본에 적합한다.

실전 성과가 실망스러울 때 재최적화하기

백테스트를 되살리고 실패를 반복한다. 새 적합이 이전 적합을 만든 바로 그 절차에서 나오기 때문이다. 먼저 답해야 할 질문은 원래의 우위가 한 번이라도 표본 외였는지다.

자세히

공개된 열네 개의 백테스트가 정할 수 있는 것과 없는 것

여기 공개된 14개 EA 기준
표본 내 손익비1.27–1.52
손익비가 1.00 미만인 등록0
표본 외 구간을 보고한 수11
표본 외 수익률−0.57 % ~ +3.01 %
손실이 난 표본 외 구간2
실제 자금 계좌에서 검증된 실행0

첫 줄보다 마지막 줄을 먼저 읽어라. 롤링 백테스트도 결국 누군가 들여다볼 수 있었던 과거 위에서 돌아간다. 그러므로 위의 어느 것도 무언가를 결정하는 의미의 표본 외가 아니다. 게다가 세 EA는 예비 구간의 시작일을 알려 놓고 그 뒤로 아무 결과도 공개하지 않았다. 보고 편향을 안에서 보면 정확히 이런 모습이다.

약점은 부호가 아니라 크기다. 여기 표본 내 기록의 중앙값은 종료된 거래 362건이고, 떼어 둔 구간의 중앙값은 21건이다. 그렇게 짧은 실행으로는 우위와 조용한 한 분기를 가를 수 없다. 작은 마이너스(−0.57 %, −0.47 %)가 플러스보다 더 큰 판정을 담지 못하는 이유가 그것이다.

전략 테스터의 Forward 드롭다운(No, 1/2, 1/3, 1/4, Custom)은 구간을 대신 갈라 준다. 그러나 최적화를 한 번 돌릴 때마다 앞쪽 절반을 다시 들여다보는 것까지는 막지 못하며, 그 다시 보기가 바로 예비분을 소모한다. Forward를 Custom으로 두고 당신이 보기를 멈춘 날짜를 넣어라 — 위 구간 중 열 개는 2026-04-01이다 — 그러면 예비분의 가치는 그 안에 들어온 것만큼이다. Cairn은 142건, 그다음으로 큰 것이 40건, 두 개는 한 자릿수다.

자주 묻는 질문

구매 전에 EA가 과최적화되었는지 어떻게 알 수 있나요?
곡선이 아니라 절차를 보십시오. 파라미터를 고르는 동안 떼어 둔 구간이 있는지, 설정이 둥근 값인지 아니면 믿기 어려울 만큼 정밀한지, 인접한 값들이 비슷한 성과를 내는지, 그리고 선정에 쓰이지 않은 종목에서 규칙을 시험해 본 적이 있는지 물으십시오. 여기서 답하지 못하는 질문은 그 자체가 답입니다.
파라미터를 줄이면 과최적화를 막을 수 있나요?
도움은 되지만 막지는 못합니다. 같은 데이터에서 여러 후보 중 성과가 가장 좋은 전략을 고르는 일은 후보 각각이 단순해도 그 데이터에 적합하므로, 시도한 아이디어의 수는 그중 하나가 가진 손잡이의 수만큼이나 중요합니다.
최적화는 항상 나쁜가요?
아닙니다 — 전략에는 어떤 설정이든 주어야 하고, 그것을 과거에서 고르는 일은 합리적입니다. 최적화와 과최적화를 가르는 것은 그 선택을 대조할 무언가를 남겨 두었는지, 그리고 고른 설정이 뾰족한 첨두가 아니라 넓은 고원 위에 있는지입니다.