공부방 ›
[강좌] 백테스트 과최적화, 이렇게 피하세요
백테스트 수익률이 좋아질수록 실전에서 망가질 확률도 같이 올라가는 경우가 있습니다. 과거 데이터에 답을 외우듯 맞춰진 전략, 이것이 과최적화입니다.
증상
- 파라미터를 조금만 바꿔도 결과가 확 나빠진다
- 백테스트 그래프가 너무 매끈한 직선이다
- 규칙이 계속 늘어난다 ("금요일 오후 3시 이후 제외", "2022년 3월 제외"…)
- 거래 횟수가 30번 미만인데 수익률이 높다
해결 1: 봉우리 말고 고원을 고르세요
파라미터 두 개를 바꿔가며 결과를 표로 그려보면 차이가 바로 보입니다.
왼쪽처럼 딱 한 칸만 좋은 값은 우연일 가능성이 큽니다. 오른쪽처럼 주변 값들도 고르게 좋은 구간의 가운데 값을 고르세요. 시장이 조금 변해도 버틸 수 있습니다.
해결 2: 규칙은 적을수록 좋습니다
조건 하나를 추가할 때마다 "이게 왜 통하는지 한 문장으로 설명할 수 있나?"를 물어보세요. 설명이 안 되면 빼는 게 맞습니다.
해결 3: 검증 기간을 따로 떼어두세요
전략을 만든 기간과 검증하는 기간이 같으면 안 됩니다. 자세한 방법은 공부방의 "백테스트 기간 나누기" 글을 참고하세요.
해결 4: 거래 수를 확인하세요
거래가 적으면 통계적으로 의미가 없습니다. 최소 100회 이상, 가능하면 수백 회의 거래로 판단하세요.

