백테스트 리얼리티 체크

가이드

실전 6개월 기록으로 알 수 있는 것과 없는 것

기간이 짧으면 수익률은 판단할 수 없습니다. 대신 짧은 기간에도 확인할 수 있는 것들을 정리했습니다.

작성
백테스트 리얼리티 체크
게시일
2026-08-22
검토일
2026-09-29

먼저 결론

  • 6개월짜리 실전 기록으로는 수익률의 잘잘못을 가리기 어렵습니다.
  • 대신 실행, 비용, 규칙을 지켰는지는 짧은 기간에도 확인할 수 있습니다.
  • 그래서 이 사이트는 6개월 결과를 성공이나 실패가 아니라 기록으로만 다룹니다.

요약

  • 실전을 따라간 기간이 짧으면(예: 6개월) "실전이 백테스트를 따라가는가"는 방향 정도만 말할 수 있습니다.
  • 우열, 즉 어느 쪽이 낫다는 판단은 아직 하기 어렵습니다.
  • 짧은 기간에 볼 것은 수익률 차이가 아닙니다. 괴리가 생긴 원인이 백테스트가 미리 밝혀둔 가정(비용·실행·지연)과 맞아떨어지는가입니다.

1. 왜 6개월 기록으로 판단할 수 없는가

먼저 말이 조금 어려우니 하나씩 풀어보겠습니다.

  • 표본: 우리가 실제로 관찰한 기간이나 개수입니다. 여기서는 6개월입니다.
  • 표준편차: 매달 수익률이 평균에서 얼마나 들쭉날쭉한지를 나타내는 값입니다.
  • 표준오차: 짧게만 재서 생기는 오차 범위입니다.
  • %p: 퍼센트끼리의 차이를 재는 단위입니다.

이제 계산을 봅니다. 매달 수익률의 표준편차를 4%p라고 해봅시다. 그러면 6개월을 합친 수익률의 표준오차는 약 4% × √6 ≈ 9.8%p가 됩니다.

이 말은 같은 전략이라도 언제 시작했느냐는 운에 따라 결과가 ±10%p쯤 흔들릴 수 있다는 뜻입니다. 그래서 백테스트와 실전의 누적 괴리가 -1.2%p로 나왔다면, 그 숫자는 이 오차 범위 안에 넉넉히 들어갑니다.

즉 "잘 따라가고 있다"도, "갈라지고 있다"도 통계로는 말하기 어렵습니다.

6개월 기록으로 실력을 단정하는 건, 시험을 두 번 보고 성적을 확정하는 것과 비슷해 보입니다.

2. 그럼 무엇을 봐야 하는가

짧은 기간에도 뜻이 있는 관찰은 수익률이 아니라 구조입니다.

관찰 항목 짧은 표본에서 판별 가능 예시
실행 격차 가능 신호일 종가 대비 실제 체결가의 슬리피지
비용 격차 가능 예상 수수료 vs 실제 명세
신호 충실도 가능 규칙대로 거래했는가 (행동 오류)
수익률 격차 불가능 6개월 ±10%p 노이즈 안의 차이

위 세 줄은 백테스트가 세워둔 가정을 실제로 지켰는지를 보여줍니다. 그 기록이 곧 괴리 기록의 알맹이입니다.

3. 표본이 쌓이는 순서

  1. 0~12개월: 실행·비용·행동을 규칙대로 했는지 기록합니다. 수익률 괴리는 참고 수치로만 봅니다.
  2. 12~36개월: 해가 바뀌는 구간이 생깁니다. 계절에 따른 차이, 시장 상황에 따른 차이를 살펴보기 시작합니다.
  3. 36개월+: 이때가 되어야 수익률 괴리가 잡음보다 큰지 통계로 이야기할 수 있습니다.

이 순서를 거꾸로 밟는 것이 가장 흔한 실수로 보입니다. 예를 들어 1개월 실전만 보고 "전략 실패"라고 선언하는 경우입니다.

4. 이 사이트의 원칙

코스피/코스닥 전략의 실전 기록이 6개월인 동안은, 이 사이트는 그 괴리를 "성공/실패"로 부르지 않습니다. "기록"으로만 다룹니다. 실전 기록이 더 짧다는 사실 자체를 페이지 위쪽에 적어두는 이유도 여기에 있습니다.

기록이 길어지면 이 페이지에서 해석할 수 있는 범위도 함께 갱신하겠습니다.

5. 여섯 달을 오차 막대와 같이 두는 합성 예시

아래 간격은 이 사이트의 실측 성적표가 아닙니다. 짧은 표본에서 간격이 왜 판정이 되지 않는지 보여 주는 합성 예시입니다. 부호가 같다고 해서 같은 기록으로 읽지 마십시오.

매달 수익률이 평균에서 4%p만큼 흩어진다고 둡니다. 이 4%p는 계산을 위한 가정입니다. 여섯 달을 더하면 흩어짐은 약 4% × √6, 즉 10%p 안팎의 표준오차가 됩니다. 같은 규칙을 다른 달에 시작해도 누적 결과가 이 폭만큼 달라질 수 있다는 뜻입니다. 백테스트와 실행 기록의 누적 간격이 +3%p인 창과 -3%p인 창은, 이 오차 안에서는 같은 이야기를 두 번 한 것에 가깝습니다. +3%p를 "잘 따라간다", -3%p를 "이미 갈라졌다"고 부르면 표준오차를 결론으로 착각한 것입니다.

그럼에도 여섯 달 안에 확정할 수 있는 사실이 있습니다. 그것은 간격의 부호가 아니라 구조입니다. 규칙이 시킨 횟수와 실제로 실행한 횟수가 같은지, 가정한 왕복 비용과 명세의 비용이 같은 자릿수인지, 신호일의 기준 가격과 실제 체결 가격의 차이가 가정 안에 있는지. 이 세 가지는 수익률의 운이 아니라 그 달의 실행입니다. 운이 플러스인 달에도 실행이 어긋날 수 있고, 운이 마이너스인 달에도 실행은 맞을 수 있습니다. 짧은 표본의 기록 가치는 여기에 있습니다.

순서를 숫자로 끊어 보겠습니다. 0에서 12개월까지는 세 구조 칸만 채웁니다. 누적 간격은 적되, 문장은 "오차 안"과 "오차 밖" 둘 중 하나로만 고릅니다. 10%p 오차 안의 간격은 오차 안입니다. 12개월이 되면 흩어짐의 가정이 맞는지 다시 봅니다. 매달 4%p라는 가정이 실제로는 8%p였다면 오차 막대는 더 넓어지고, 판정은 더 늦어집니다. 가정이 2%p였다면 막대는 좁아집니다. 막대를 고정한 채 개월 수만 세면 안 됩니다.

12개월에서 36개월 사이에는 해가 바뀌는 경계가 하나 이상 생깁니다. 이때부터 계절이나 급변 구간에 구조 칸이 몰리는지를 봅니다. 여전히 우열을 말하지 않습니다. 다만 "이탈이 특정 구간에만 몰리는가"는 36개월 전에도 볼 수 있습니다. 몰림은 수익률의 실력과 다른 질문입니다.

36개월이 넘어서야 누적 간격이 오차 막대보다 큰지 말할 재료가 생깁니다. 그때도 한 번의 검정으로 끝내지 않습니다. 비용을 넣은 백테스트와 비교한 것인지, 비용을 빼기 전과 비교한 것인지에 따라 간격의 의미가 달라집니다. 비용 전의 곡선과 실행 기록이 벌어진 폭의 일부는, 처음부터 넣지 않은 비용일 수 있습니다. 그 일부를 전략의 실패로 부르면 짧은 표본의 문제와 비용 가정의 문제가 한 문장에 섞입니다.

이 사이트가 6개월 실측을 성공이나 실패로 부르지 않는 이유는 위 막대 때문입니다. 페이지 위쪽에 표본이 짧다고 적는 문장은 변명이 아니라 읽기 규칙입니다. 독자가 그 문장을 지나치고 누적 간격의 부호만 가져가면, 오차 안의 숫자를 결론으로 다시 쓰게 됩니다. 기록이 길어지면 해석의 범위도 갱신합니다. 갱신 전에는 구조 칸만 읽습니다.

직접 적용할 때는 자신의 여섯 달에 오차 막대부터 그립니다. 매달 수익률의 흩어짐을 구하고, 개월 수의 제곱근을 곱합니다. 누적 간격을 그 막대 위에 놓습니다. 막대 안이면 문장을 쓰지 않습니다. 막대 밖이어도 구조 칸에 이탈이 남아 있으면, 밖이라는 사실과 이탈이라는 사실을 두 줄로 분리합니다. 한 줄로 합치면 다시 원인 불명의 간격이 됩니다.

함께 읽을 글은 연도별 재현과 walk-forward입니다. 짧은 실행 기록을 보고 파라미터를 당장 바꾸는 일은, 검증 창이 오기도 전에 규칙을 고치는 일과 같습니다. 여섯 달의 부호는 다음 파라미터를 고를 학습 데이터가 되지 못합니다. 학습으로 쓰기에는 오차가 크고, 실행 점검으로 쓰기에는 이미 충분합니다. 용도를 바꾸지 않는 것이 이 글의 전부입니다.

함께 읽기