백테스트에서 이긴 전략이 실전에서 지는 5가지 이유 — OOS 검증이 필요한 순간

이 연구소의 첫 실전 날 자동매매는 80번 거래해 77번을 손실로 끝냈고, 그날 밤 연구에서 시험한 초단타 아이디어 24개도 비용을 빼기 전부터 뚜렷한 수익 우위가 확인되지 않아 모두 탈락했습니다. 과거 데이터에서 그럴듯해 보이는 것과 실제로 남는 것 사이에는 늘 간격이 있습니다. 과거 데이터 검증(백테스트)은 전략을 만든 데이터로 그 전략을 채점하기 때문입니다. 아래는 그 착시가 생기는 다섯 가지 경로와, 그것을 걸러내는 별도 기간 검증(OOS)의 규칙입니다.

이 연구소의 모든 전략은 이 글의 기준을 통과해야 다음 단계로 넘어갑니다. 전체 검증 단계는 연구소 소개에 있습니다.

1. 과최적화: 많이 찾으면 반드시 무언가 찾아진다

이동평균 기간, 손절 폭, 진입 시각 같은 파라미터를 바꿔 가며 가장 좋은 조합을 고르면, 그 조합은 과거 데이터의 우연한 잡음까지 함께 학습합니다. 시험해 본 조합이 많을수록 순전히 운으로 좋아 보이는 조합이 섞여 있을 가능성도 커집니다.

  • 몇 개의 조합을 시험했는지 기록합니다. 가장 좋은 결과 하나만 보고하면 그 숫자는 부풀려져 있습니다.
  • 최적값 한 점이 아니라 주변 값에서도 성과가 유지되는지 봅니다. 한 점에서만 좋은 전략은 대개 잡음입니다.

2. 미래 데이터 누수: 그 순간에는 알 수 없던 정보

백테스트 코드는 과거의 모든 데이터를 한꺼번에 들고 있기 때문에, 실수로 그 시점에는 아직 없던 정보를 쓰기 쉽습니다. 수익률이 비현실적으로 매끄럽다면 가장 먼저 의심할 부분입니다.

  • 봉이 끝나야 확정되는 값(종가, 당일 고가·저가, 봉 단위 지표)으로 신호를 만들고 같은 봉 안에서 체결시키는 경우
  • 나중에 확정된 데이터(수정 주가, 사후에 정리된 종목 목록)를 과거 시점에 그대로 쓰는 경우
  • 전체 기간의 평균·표준편차로 정규화한 뒤 그 값을 과거 신호에 쓰는 경우

3. 비용과 체결: 가장 흔하게 전략을 지우는 단계

수수료와 세금, 슬리피지는 거래할 때마다 빠져나갑니다. 거래가 잦은 전략일수록 비용을 넣기 전과 후의 차이가 커지고, 거래 한 번의 평균 기대수익이 왕복 비용보다 작으면 전략은 비용만큼 확실하게 손실을 냅니다.

  • 수수료·세금은 실제 거래 조건대로, 슬리피지는 보수적으로 넣습니다.
  • 원하는 가격에 원하는 수량이 체결된다고 가정하지 않습니다. 호가가 얇은 종목은 미체결과 부분 체결이 생깁니다.
  • 비용을 넣은 뒤 Profit Factor(총이익 ÷ 총손실)가 1보다 작으면 그 전략은 손실 전략입니다.

4. 표본 편향: 운 좋은 기간만 본 결과

상승장 한 구간, 변동성이 컸던 몇 달처럼 특정 시장 상황만 담긴 데이터로는 전략의 성격을 알 수 없습니다. 현재 남아 있는 종목만으로 과거를 시험하면, 중간에 사라진 종목이 빠져 결과가 좋아 보이는 생존 편향도 생깁니다.

5. 시장 체제 변화: 과거에 통하던 이유가 사라질 때

변동성, 거래 참여자, 규칙이 바뀌면 전략이 기대던 패턴 자체가 없어질 수 있습니다. 그래서 한 번 검증했다고 끝나지 않고, 실제 운용 중에도 백테스트·모의 실시간 운용(Dry Run)과의 차이를 계속 추적해야 합니다.

별도 기간 검증(OOS)의 규칙

별도 기간 검증에 쓰는 데이터(OOS, Out-of-Sample)는 전략을 만들고 고칠 때 한 번도 보지 않은 데이터입니다. 학습 구간에서 규칙과 파라미터를 정하고, 그 규칙을 그대로 고정한 채 OOS 구간에서 한 번 채점합니다.

  • OOS는 한 번만 본다. OOS 결과를 보고 규칙을 고친 뒤 다시 OOS로 확인하면, 그 데이터는 더 이상 표본 외가 아닙니다.
  • 시간 순서를 지킨다. 무작위로 섞어 나누지 않고, 학습 구간보다 뒤의 기간을 OOS로 씁니다.
  • 성과가 줄어드는 것은 정상이다. 중요한 것은 비용을 넣은 뒤에도 방향과 성격이 유지되는지입니다.
  • 기간을 밀어 가며 반복한다(시간순 검증, Walk-Forward). 한 번의 분할보다 여러 구간에서 같은 결론이 나오는지가 더 믿을 만합니다. 무작위로 섞어 나누는 방식과의 차이는 수익률보다 중요한 검증의 신뢰성에 정리했습니다.

실제 자동매매(Live) 전에 확인할 체크리스트 10개

  1. 시험한 파라미터 조합 수를 기록했다.
  2. 최적값 주변에서도 성과가 유지된다.
  3. 신호에 쓰는 모든 값이 그 시점에 실제로 알 수 있던 값이다.
  4. 체결 가정이 신호 시점보다 뒤에 있다.
  5. 수수료·세금을 실제 조건대로 넣었다.
  6. 슬리피지를 보수적으로 넣었다.
  7. 서로 다른 시장 상황이 포함된 기간으로 시험했다.
  8. OOS를 한 번만, 시간 순서대로 확인했다.
  9. 비용 반영 후 OOS에서도 Profit Factor가 1보다 크다.
  10. 모의 실시간 운용으로 실제 데이터 흐름에서 같은 신호가 나오는지 확인했다.

이 연구소의 글에서는 위 단계 중 실제로 통과한 것만 상단 배지(과거 데이터 검증, 별도 기간 검증, 모의 실시간 운용, 실제 자동매매)로 표시합니다.

이 기준을 실제로 적용한 기록

이 기준을 실제 연구에 적용한 결과는 따로 남겼습니다. AI가 하룻밤에 시험한 초단타 아이디어 24개는 비용을 빼기 전부터 뚜렷한 수익 우위가 확인되지 않아 모두 탈락했고(AI가 제안한 매매 전략 24개를 모두 버린 이유), 거래 한 번에 드는 비용이 결과를 얼마나 깎는지는 스캘핑 수수료와 세금 글에서 계산했습니다. 날짜별 검증 과정은 2026-09-23 연구 일지와 2026-09-24 연구 일지에 있습니다. 기록을 올리는 서버 구성은 개발·서버에 정리했습니다.

본 사이트의 콘텐츠는 정보 및 연구 기록을 목적으로 하며 특정 금융상품의 매수·매도를 권유하지 않습니다. 투자 판단과 결과에 대한 책임은 투자자 본인에게 있습니다. 투자 고지 전문

댓글 남기기