OptiNod 아카데미

백테스트 검증

백테스트 검증 시리즈 8편 전체에서 필요한 편부터 바로 시작하세요.

이 시리즈가 다루는 범위

백테스트 숫자가 실전 성과와 갈라지는 지점을 먼저 확인하고, 거래비용과 테스트 설정 오류를 제거한 다음, 과최적화를 걸러 내고 마지막으로 결과 지표를 읽습니다.

먼저 읽을 글

백테스트와 실전 — 수익 곡선이 갈라지는 다섯 지점

뒤 글은 앞 글에서 정의한 용어를 그대로 씁니다. 순서대로 읽으면 중간에 막히는 곳이 줄어듭니다.

학습 순서

1. 백테스트와 실전의 차이

검증을 시작하기 전에 두 곡선이 어디서 갈라지는지부터 확인합니다.

  1. 백테스트와 실전 — 수익 곡선이 갈라지는 다섯 지점 백테스트 수익이 실전 기대 수익이 되지 못하는 이유는 봉 종가에 체결된다는 가정에서 시작합니다. 신호와 체결 사이의 지연을 다섯 지점으로 분해합니다.

2. 거래비용과 테스트 설정

수수료·슬리피지·유동성을 반영하고, 룩어헤드와 리페인팅을 걷어 냅니다.

  1. 슬리피지·수수료·유동성 — 백테스트가 숨긴 거래비용 수수료만 빼면 실전 수익이 나온다는 계산은 거래비용의 한 조각만 본 것입니다. 슬리피지와 유동성이 성과를 더 크게 깎습니다.
  2. 룩어헤드와 리페인팅 — 차트에서 완벽했던 신호가 실전엔 없었던 이유 차트에서 완벽해 보이는 신호가 실전에서는 그 시점에 존재하지 않았던 이유를, request.security와 봉 확정 메커니즘으로 풀어냅니다.

3. 과최적화와 절차 검증

설정값이 우연히 맞은 것인지 구분하고, 최적화 절차 자체를 검증합니다.

  1. 과최적화 — 최고점 주변이 평평한 설정만 실전에서 버팁니다 백테스트 최고 수익률을 낸 파라미터는 과거 노이즈에 맞춰진 곡선인 경우가 많습니다. 옆 설정값까지 같이 좋은 고원형 성과 곡선만 실전에서 버팁니다.
  2. 워크포워드 분석 — 최적화 절차 자체를 검증하는 법 전체 기간을 한 번에 최적화한 점수는 미래를 미리 보고 맞춘 점수입니다. 워크포워드는 인샘플에서 고른 설정을 다음 아웃샘플에서만 평가해 절차 자체를 시험합니다.

4. 결과 지표 읽기

강건성, 수익 팩터, 샤프와 소르티노가 각각 무엇을 감추는지 확인합니다.

  1. 강건성 세 가지 — 같은 수익률 두 설정 중 어느 쪽을 믿을지 판가름하는 기준 수익률이 같은 두 파라미터 설정 중 실전에서 살아남는 쪽을 골라내는 세 가지 안정성 점수(이웃 안정성, 몬테카를로, 상위 N 일관성)를 OptiNod 실제 구현 기준으로 해설합니다.
  2. 수익 팩터 — 하나의 숫자가 감추는 분포와 표본 PF가 높아도 거래 수가 적거나 큰 이익 한 건에 기대면 실전에서 무너집니다. PF가 감추는 분포와 표본 수를 봅니다.
  3. 샤프와 소르티노 — 변동성으로 나눈 성과, 그리고 상방까지 벌하는 한계 수익률만으로 전략을 비교하면 같은 수익에 도달하는 길의 변동성 차이를 놓칩니다. 샤프 지수의 한계와 소르티노 지수가 실전에 더 가까운 이유를 정리합니다.