워크포워드 분석으로 커브 피팅 방지하기
목차
- 커브 피팅(과최적화)이란
- 워크포워드 분석의 원리
- 워크포워드 분석 실시 방법(MT5)
- 방법①:수동으로 인샘플 / 아웃오브샘플 분할
- 방법②:서드파티 도구 사용
- 최적화 시 주의사항
- 주의①:최적화할 변수는 1~2개로 압축
- 주의②:최적화 결과의 Top1을 사용하지 않기
- 주의③:최적화 기간을 길게 잡기
- 워크포워드 분석 결과 해석 방법
- 좋은 EA의 특징
- 주의가 필요한 EA의 특징
- 과최적화되기 어려운 파라미터 설계 팁
- 팁①:파라미터의 감도를 확인한다
- 팁②:오버피팅되기 어려운 단순한 로직 사용
- 정리
- FAQ
- Q: MT5 순정 기능으로 워크포워드 분석이 가능한가요?
- Q: WFE가 50%라도 사용할 수 있나요?
- Q: 워크포워드 분석 없이 EA를 사용하는 것은 위험한가요?
- 관련 페이지
워크포워드 분석으로 커브 피팅 방지하기 - EA 최적화의 올바른 절차
MT5의 Strategy Tester에서 파라미터를 최적화하면 과거 데이터에 가장 좋은 결과를 보이는 파라미터를 찾을 수 있습니다. 그러나 그 "최적 파라미터"는 과거 데이터에 지나치게 특화되어 있을(커브 피팅) 가능성이 있습니다. 워크포워드 분석은 이러한 과최적화를 방지하기 위한 기법입니다.
커브 피팅(과최적화)이란
백테스트 최적화의 문제점:
과거 10년 데이터에 최적인 파라미터 → 미래에는 통하지 않는다
예: EMA 기간을 10~50 범위에서 최적화했을 때
| EMA 기간 | 백테스트 PF | 포워드 테스트 PF |
|---|---|---|
| 21(최적값) | 2.3 | 0.9 ← 실제로는 이렇게 된다 |
| 30(차점) | 1.8 | 1.3 |
| 평균적인 값 | 1.5 | 1.4 |
최적화된 값(EMA=21)은 백테스트에서는 최고이지만, 미래에서는 기대에 못 미치는 경우가 있습니다. 이것이 커브 피팅입니다.
워크포워드 분석의 원리
워크포워드 분석은 데이터를 "최적화 기간(인샘플)"과 "검증 기간(아웃오브샘플)"으로 분할하고, 시계열 순서에 따라 반복함으로써 과최적화를 검출합니다.
【데이터 분할 예시(10년 분)】
├─ 최적화 기간 ─┤─ 검증 기간 ─┤
2015~2018년 2019년 → 파라미터 A를 도출하여 2019년에 검증
↓
2016~2019년 2020년 → 파라미터 B를 도출하여 2020년에 검증
↓
2017~2020년 2021년 → 파라미터 C를 도출하여 2021년에 검증
↓
(이후 반복)
각 검증 기간의 결과를 집계함으로써, "이 EA의 파라미터는 시장 환경이 바뀌어도 안정적인가"를 평가할 수 있습니다.
워크포워드 분석 실시 방법(MT5)
MT5의 Strategy Tester는 현 시점에서 워크포워드 분석을 지원하지 않습니다. 다음 방법으로 대체할 수 있습니다.
방법①:수동으로 인샘플 / 아웃오브샘플 분할
절차:
- 백테스트 기간을 2015~2020년으로 설정하고 최적화
- 최적화 결과에서 상위 파라미터를 3~5개 선택
- 선택한 파라미터로 2021~2025년(아웃오브샘플)에서 백테스트
- 최적화 기간과 아웃오브샘플의 PF를 비교
평가 기준(워크포워드 효율):
WFE = 아웃오브샘플 PF ÷ 인샘플 PF × 100%
WFE 60% 이상 → 합격(과최적화 없음)
WFE 40~60% → 관찰 필요
WFE 40% 미만 → 커브 피팅 의심(사용 금지)
방법②:서드파티 도구 사용
- Strategy Quant X:워크포워드 분석의 자동화가 가능
- MT5의 워크포워드 최적화(experimental):일부 버전에서 구현됨
최적화 시 주의사항
주의①:최적화할 변수는 1~2개로 압축
동시에 많은 파라미터를 최적화할수록 커브 피팅의 리스크가 높아집니다.
✅ 좋은 예:EMA 기간만 최적화(10~50, 스텝 5)
❌ 나쁜 예:EMA 기간 × ATR 배율 × RSI 기간을 동시 최적화
최적화 변수를 늘리면 "조합 폭발"로 인해 우연히 최적 조합을 찾을 확률이 올라갈 뿐입니다.
주의②:최적화 결과의 Top1을 사용하지 않기
최적화 결과 목록에서 가장 높은 PF를 보인 파라미터는 커브 피팅되어 있을 가능성이 가장 높은 파라미터입니다.
대신 다음 방법을 사용합니다:
권장 접근법:
1. 상위 20%의 파라미터를 추출
2. 서로 근접한 파라미터 군(클러스터)을 찾는다
3. 클러스터의 중앙값 부근의 파라미터를 채택
예:EMA 기간의 최적화 결과가 PF 높은 순으로 21, 23, 19, 35, 22, 20...으로 나열되는 경우, 2023의 클러스터가 존재합니다. 이 클러스터의 중앙값(2122)을 채택합니다.
주의③:최적화 기간을 길게 잡기
권장 설정:
- 최적화(인샘플)기간:5~7년
- 검증(아웃오브샘플)기간:2~3년
- 비율(인샘플:아웃오브샘플):70:30~80:20
최적화 기간이 짧을수록 과최적화의 리스크가 높아집니다.
워크포워드 분석 결과 해석 방법
좋은 EA의 특징
- WFE(워크포워드 효율)가 60% 이상
- 아웃오브샘플의 PF가 인샘플의 50~90% 범위 내
- 각 검증 기간에서 PF가 플러스(전 기간에서 플러스)
주의가 필요한 EA의 특징
- WFE가 40% 미만
- 특정 검증 기간만 성적이 좋음(다른 기간은 마이너스)
- 인샘플의 PF가 3.0 이상(과최적화의 전형)
과최적화되기 어려운 파라미터 설계 팁
팁①:파라미터의 감도를 확인한다
최적값의 앞뒤(±10~20%)의 파라미터에서도 PF가 안정적인지 확인합니다.
EMA=21이 최적값인 경우:
EMA=18: PF 1.25
EMA=19: PF 1.31
EMA=20: PF 1.34
EMA=21: PF 1.38 ← 최적값
EMA=22: PF 1.33
EMA=23: PF 1.29
EMA=24: PF 1.24
→ 인근 파라미터에서도 안정적으로 PF가 플러스 = 견고한 전략
앞뒤에서 PF가 급격히 변하는 경우 과최적화의 가능성이 있습니다.
팁②:오버피팅되기 어려운 단순한 로직 사용
파라미터가 적고 단순한 로직의 EA일수록 커브 피팅되기 어렵습니다. EMA 크로스, ATR 기반의 SL/TP 설정 등의 단순한 요소를 조합하세요.
정리
워크포워드 분석 정리:
- 인샘플(최적화):아웃오브샘플(검증)= 70:30으로 분할
- WFE(워크포워드 효율)= 아웃오브샘플 PF ÷ 인샘플 PF × 100%
- WFE 60% 이상이 합격 라인
- 최적화 변수는 1~2개로 압축
- 최적값이 아닌 클러스터의 중앙값을 채택
워크포워드 분석을 수행함으로써, 포워드 테스트에서도 안정적으로 동작하는 EA를 특정할 수 있습니다. 백테스트 성적이 지나치게 좋은 EA일수록 이 검증이 중요합니다.
FAQ
Q: MT5 순정 기능으로 워크포워드 분석이 가능한가요?
MT5의 Strategy Tester는 기본적으로 워크포워드 분석을 지원하지 않지만, 최신 버전에서는 실험적인 기능으로 추가되어 있는 경우가 있습니다. 수동으로 기간을 분할하여 백테스트를 여러 번 실시하는 방법이 확실합니다.
Q: WFE가 50%라도 사용할 수 있나요?
WFE 50%는 경계선입니다. 아웃오브샘플의 PF가 1.2 이상이라면 실운용은 가능하지만, 포워드 테스트에서 6개월 이상의 실적을 쌓은 후 판단할 것을 권장합니다.
Q: 워크포워드 분석 없이 EA를 사용하는 것은 위험한가요?
위험하다고 단정할 수는 없지만, 커브 피팅의 리스크가 높아집니다. 최소한 "최적화 기간의 일부를 아웃오브샘플로 남겨두는" 방법만이라도 실시해 주세요.
관련 페이지
관련 기사
📧 가격 인상 사전 알림 + 무료 5일 이메일 강좌
모든 EA는 현재 출시 가격이며 판매 수량에 따라 단계적으로 인상됩니다. 인상 전 사전 알림과 함께 자동매매의 본질, 백테스트 해석법, 브로커 선택 요령을 매일 한 통씩 보내드립니다.
※ 개인정보는 엄격히 보호. 언제든 구독 해지 가능.