내 백테스트는 3년 동안 거짓말을 했다 — 무작위 가격에서도 수익이 나온 이유
새 시리즈를 시작해요. 이름은 “백테스트가 거짓말하는 방법”. 저는 몇 년째 개인적으로 트레이딩 전략을 연구하고 있어요. 하락할 때 나눠 사고 각 조각을 정해진 폭에서 파는 그리드 계열 전략으로, 실험 번호가 127번을 넘겼죠. 그리고 그 실험들은 꽤 일관되게 말해줬어요. 이 전략에는 우위(엣지)가 있다.
지난주, 그 연구 전체를 감사했어요. 외부 감사가 아니라 제가 제 연구를 적대적으로 재검한 거예요. 모든 결론을 코드와 대조하고, 의심스러운 것은 다시 돌려봤어요. 이 시리즈는 그 감사에서 나온 이야기들이에요. 오늘은 가장 아픈 첫 번째 발견부터요.

이야기를 한 장으로 정리했어요. 자세한 내용은 아래에서 이어져요.
동전 던지기에서 수익이 났어요
제 연구의 핵심 지표는 “엣지”였어요. 정의도 그럴듯했죠. 전략의 수익률에서, 같은 평균 보유 비중을 유지한 단순 혼합 포트폴리오의 수익률을 뺀 값. 그냥 많이 들고 있어서 번 것과 전략이 잘해서 번 것을 구분하겠다는 취지였어요. 수년간 이 지표가 플러스였고, 통계 검정도 통과했어요.
감사에서 저는 한 가지 실험을 했어요. 미래를 전혀 알 수 없는 무작위 가격 — 사실상 동전 던지기로 만든 차트 — 에 같은 채점 방식을 적용해본 거예요. 무작위 가격에는 어떤 전략도 우위를 가질 수 없어요. 그게 무작위의 정의니까요. 그러니 엣지는 0 근처에 나와야 정상이죠.
플러스가 나왔어요. 그것도 실측과 비슷한 크기로, 통계적으로 “확실해 보이는” 수준(t값 3~5)으로요. 설정별 순위까지 실제 실험과 같은 순서였어요. 3년치 결론의 상당 부분이, 전략의 우위가 아니라 채점 방식의 버릇을 재고 있었던 거예요.
뭐가 문제였을까요
문제는 기준선을 만드는 재료였어요. “같은 평균 보유 비중”이라고 했잖아요? 그 평균을 백테스트가 끝난 뒤에, 실제로 실현된 보유 비중으로 계산했어요. 사후(ex-post)의 숫자죠.
이게 왜 반칙이 되는지 풀어볼게요. 하락할 때 사는 전략은 구조적으로 가격이 쌀 때 많이 들고, 비쌀 때 적게 들어요. 그 여정이 다 끝난 뒤 “평균적으로 40%를 들고 있었네”라고 계산해서, 처음부터 끝까지 40%를 든 포트폴리오와 비교하면 — 공정해 보이지만 아니에요. 기준선의 “40%”라는 숫자 안에 전략이 언제 사고팔았는지에 대한 결과 정보가 이미 들어 있거든요. 시험이 끝난 뒤 답안지를 보고 채점 기준을 만든 셈이에요. 이 비교는 “쌀 때 사 모으는” 모양의 전략에게 항상 유리하게 기울어요 — 전략이 실제로 잘하는지와 무관하게요.
그래서 무작위 가격에서도 “우위”가 나온 거예요. 우위는 전략에 있던 게 아니라 비교 방법에 있었어요.
다시 채점하니
공정한 기준 — 결과를 보지 않고 사전에 정한 고정 비중 — 으로 주력 실험들을 재채점했어요. “우위가 있다”던 세 가지 대표 설정이 전부 마이너스로 돌아섰어요.
다만 정직하게 적자면, 모든 게 무너진 건 아니에요. 수익률·변동성·최대낙폭·매수후보유와의 비교처럼 기준선이 필요 없는 수치들은 그대로 유효했고요. 재미있게도 “이 효과는 없다”고 판정했던 결론들은 오히려 더 단단해졌어요 — 편향이 플러스 방향이었으니, 그 편향을 얹고도 효과가 없다고 나왔다면 정말 없는 거니까요. 무너진 건 정확히 “내가 잘해서 이만큼 더 벌었다”는 종류의 주장들이었어요.
이 이야기의 교훈
백테스트의 적은 시장이 아니라 채점표예요. 사람들은 백테스트를 의심할 때 과최적화나 데이터 몇 년 치 같은 걸 봐요. 그런데 제 경우 함정은 훨씬 앞에, “무엇과 비교할 것인가”라는 채점 설계에 있었어요. 그리고 이런 함정의 무서운 점은 — 결과가 그럴듯할수록, t값이 예쁠수록, 의심하지 않게 된다는 거예요.
그래서 남의 백테스트를 볼 때 물어야 할 첫 질문은 “수익률이 얼마냐”가 아니에요. “그 기준선은 언제, 무엇으로 만들었나요?”예요. 결과를 보고 나서 만든 숫자가 채점 기준 어딘가에 들어 있다면, 그 백테스트는 무작위 데이터에서도 이길 수 있어요. 제 것이 그랬듯이요.
하나 더. 이 함정은 달러 트레이딩의 네 계층에서 만났던 “월평균 데이터의 신기루”와 형제예요. 그때도 데이터 처리 방식이 없던 추세를 만들었고, 이번엔 채점 방식이 없던 우위를 만들었어요. 패턴은 같아요 — 파이프라인 어딘가에서 미래가 과거로 새어 들어오면, 백테스트는 반드시 좋아 보여요.
다음 편은 더 미시적인 거짓말이에요. 77밀리초 — 데이터가 도착하는 데 걸린 그 짧은 지연 하나가, 하루 수익이 난다던 초단타 시뮬레이션을 어떻게 통째로 뒤집었는지요.
이 시리즈는 실패한 가설과 방법론의 함정만 다뤄요. 현재 운용 중인 전략의 구성은 공개하지 않아요. 투자 조언이 아니에요.
댓글 남기기