과최적화

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

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

과최적화 — MT5 glossary overview

한눈에 보기

용어 유형
검증
난이도
중급
사용 상황
백테스트 · 전략 설계 · EA 평가

쉽게 말하면

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

왜 중요한가

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

  • 가장 흔한 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은 규칙이 아니라 그 구간의 성질이었다

해석하는 법

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

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

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

흔한 오해

표본 외 구간을 재사용하기

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

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

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