OptiNod 아카데미
백테스트 검증
백테스트 검증 시리즈 8편 전체에서 필요한 편부터 바로 시작하세요.
이 시리즈가 다루는 범위
백테스트 숫자가 실전 성과와 갈라지는 지점을 먼저 확인하고, 거래비용과 테스트 설정 오류를 제거한 다음, 과최적화를 걸러 내고 마지막으로 결과 지표를 읽습니다.
먼저 읽을 글
뒤 글은 앞 글에서 정의한 용어를 그대로 씁니다. 순서대로 읽으면 중간에 막히는 곳이 줄어듭니다.
학습 순서
1. 백테스트와 실전의 차이
검증을 시작하기 전에 두 곡선이 어디서 갈라지는지부터 확인합니다.
- 백테스트와 실전 — 수익 곡선이 갈라지는 다섯 지점 백테스트 수익이 실전 기대 수익이 되지 못하는 이유는 봉 종가에 체결된다는 가정에서 시작합니다. 신호와 체결 사이의 지연을 다섯 지점으로 분해합니다.
2. 거래비용과 테스트 설정
수수료·슬리피지·유동성을 반영하고, 룩어헤드와 리페인팅을 걷어 냅니다.
- 슬리피지·수수료·유동성 — 백테스트가 숨긴 거래비용 수수료만 빼면 실전 수익이 나온다는 계산은 거래비용의 한 조각만 본 것입니다. 슬리피지와 유동성이 성과를 더 크게 깎습니다.
- 룩어헤드와 리페인팅 — 차트에서 완벽했던 신호가 실전엔 없었던 이유 차트에서 완벽해 보이는 신호가 실전에서는 그 시점에 존재하지 않았던 이유를, request.security와 봉 확정 메커니즘으로 풀어냅니다.
3. 과최적화와 절차 검증
설정값이 우연히 맞은 것인지 구분하고, 최적화 절차 자체를 검증합니다.
- 과최적화 — 최고점 주변이 평평한 설정만 실전에서 버팁니다 백테스트 최고 수익률을 낸 파라미터는 과거 노이즈에 맞춰진 곡선인 경우가 많습니다. 옆 설정값까지 같이 좋은 고원형 성과 곡선만 실전에서 버팁니다.
- 워크포워드 분석 — 최적화 절차 자체를 검증하는 법 전체 기간을 한 번에 최적화한 점수는 미래를 미리 보고 맞춘 점수입니다. 워크포워드는 인샘플에서 고른 설정을 다음 아웃샘플에서만 평가해 절차 자체를 시험합니다.
4. 결과 지표 읽기
강건성, 수익 팩터, 샤프와 소르티노가 각각 무엇을 감추는지 확인합니다.
- 강건성 세 가지 — 같은 수익률 두 설정 중 어느 쪽을 믿을지 판가름하는 기준 수익률이 같은 두 파라미터 설정 중 실전에서 살아남는 쪽을 골라내는 세 가지 안정성 점수(이웃 안정성, 몬테카를로, 상위 N 일관성)를 OptiNod 실제 구현 기준으로 해설합니다.
- 수익 팩터 — 하나의 숫자가 감추는 분포와 표본 PF가 높아도 거래 수가 적거나 큰 이익 한 건에 기대면 실전에서 무너집니다. PF가 감추는 분포와 표본 수를 봅니다.
- 샤프와 소르티노 — 변동성으로 나눈 성과, 그리고 상방까지 벌하는 한계 수익률만으로 전략을 비교하면 같은 수익에 도달하는 길의 변동성 차이를 놓칩니다. 샤프 지수의 한계와 소르티노 지수가 실전에 더 가까운 이유를 정리합니다.