숫자는 거짓말을 한다
우리의 페이퍼 트레이딩 시스템이 한 달간 돌아갔고, 스프레드시트의 숫자들은 아름다워 보였습니다:
87.5% 승률, 7승, 1패, 2무
대부분의 사람들이 이런 숫자를 보면 반응은: “멋져! 실제 돈으로 거래할 시간이야!”
우리의 반응은: “잠깐. 수학이 먼저 말하게 하자.”
Z-Score란 무엇인가?
본질적으로 Z-score는 하나의 간단한 질문을 하고 있습니다: 동전 던지기보다 얼마나 더 나은가?
$$Z = \frac{\hat{p} - 0.5}{\sqrt{0.5 \times 0.5 / n}}$$
- $\hat{p}$는 당신의 승률
- $n$은 거래 횟수
- Z > 1.65이면, 동전 던지기보다 낫다는 95% 신뢰도를 가짐 (p < 0.05)
직관적으로 보이지만, 대부분의 트레이더들은 이 테스트를 실행하지 않습니다. 70% 승률을 보고 바로 실제 돈으로 뛰어들었다가 계좌를 날리고는 “하지만 백테스트는 좋았는데!“라고 묻습니다.
실제 데이터: 33번의 거래와 불편한 진실들
우리는 모든 33번의 체결된 거래에서 Z-score 테스트를 실행했습니다. 다음이 우리가 발견한 것입니다:
| 전략 | 거래수 | 원시 승률 | 조정된 승률 | Z-Score | 유의미? |
|---|---|---|---|---|---|
| CEX 거래량 + 펀딩 | 11 | 45.5% | 46.2% | -0.30 | ✗ |
| TradingView 신호 | 8 | 62.5% | 60.0% | +0.71 | ✗ |
| 파이프라인 | 7 | 28.6% | 33.3% | -1.13 | ✗ |
| 기타 | 7 | 28.6% | 33.3% | -1.13 | ✗ |
| 전체 | 33 | 42.4% | 42.9% | -0.87 | ✗ |
모든 전략이 p-value > 0.05였습니다. 그 어떤 것도 통계적 테스트를 통과하지 못했습니다.
그 87.5% 승률은 어떻게 된 걸까요? 그것은 페이퍼 트레이딩 모드에서 수동으로 관리된 단 8번의 거래에서 나온 것입니다 — 너무 작은 샘플입니다. 베이지안 조정 후에는 실제로는 60%에 불과하고, p = 0.24입니다. 통계가 말하는 것: 당신은 동전 던지기와 통계적으로 구별되지 않습니다.
베이지안 조정 승률: 작은 샘플의 치료제
우리는 Beta(1,1) 사전 분포를 사용하여 작은 샘플 승률을 자동으로 50%쪽으로 끌어당기는 베이지안 조정을 구현했습니다:
$$\text{조정된 승률} = \frac{wins + 1}{total + 2} \times 100%$$
효과:
- 3번 중 3승 → 원시 100% → 조정 80%
- 7승, 1패 → 원시 87.5% → 조정 80%
- 100번 중 70승 → 원시 70% → 조정 69.6% (큰 샘플은 거의 움직이지 않음)
이것은 “3번의 완벽한 거래"라는 착각으로부터 당신을 보호합니다.
그럼 계좌가 실제로 상승한 건가?
네. 전체 손익은 **+0.57%**입니다.
이는 승률이 50% 미만임에도 불구하고 위험 관리가 작동하고 있음을 의미합니다: 손실 거래당 평균 손실 < 수익 거래당 평균 수익.
이것은 실제로 좋은 신호입니다 — 시스템은 “더 자주 맞추는 것"이 아니라 “승리할 때 패배보다 더 많이 버는 것"으로부터 수익을 냅니다. 하지만 33번의 거래는 확실한 결론을 내리기에 충분한 데이터가 아닙니다.
얼마나 많은 거래가 필요한가?
| 실제 승률 | p < 0.05를 위한 최소 거래수 |
|---|---|
| 55% | ~384 거래 |
| 60% | ~96 거래 |
| 65% | ~44 거래 |
| 70% | ~24 거래 |
당신의 전략이 정말로 65% 승률을 가지고 있다면, 대략 44번의 거래가 그것을 통계적으로 증명할 것입니다. 우리는 42% 승률로 33번의 거래에 있습니다 — “통계적으로 유의미한 우위"를 가지기까지는 여전히 갈 길이 있습니다.
과최적화 지수 (OFI)
Z-score 외에도, 우리는 과최적화 지수를 추가했습니다:
$$OFI = \frac{IS_PF}{OOS_PF}$$
인샘플 수익 팩터를 아웃오브샘플 수익 팩터로 나눈 값입니다.
- OFI < 1.5 → 낮은 과최적화 위험 ✓
- OFI 1.5–2.0 → 중간 위험 ⚠️
- OFI > 2.0 → 높은 과최적화 위험 ✗
- OFI > 3.0 → 심각한 과최적화 ✗✗
백테스트가 라이브 트레이딩을 극적으로 능가할 때, OFI가 직접 그것을 표시합니다.
새로운 의사결정 로직
우리는 하드코딩된 임계값들(IS-OOS 격차 > 15% = 과최적화)에 의존하곤 했습니다. 이제 우리는 다음을 사용합니다:
| |
두 번째 라인을 주목하세요 — p ≥ 0.05는 유의미하지 않다고 표시한다는 뜻입니다. 이전에는 “견고해” 보였던 많은 전략들이 실제로는 호출하기에는 샘플 사이즈가 너무 작은 자금 부족 상태였습니다.
그럼 우리 전략들이 나쁜 건가?
아니요. 우리 전략들은 입증되지 않은 것이지, 나쁜 것이 아닙니다. 그것은 완전히 다른 것입니다.
33번의 거래는 너무 작습니다. 다음이 우리의 계획입니다:
- 매개변수를 조정하지 않고 데이터를 계속 축적하여 50+ 거래에 도달할 때까지
- 50번 거래에서 Z-score를 재실행 — 어떤 전략이라도 p < 0.05에 도달하면, 포지션 사이즈 증가
- 실패 제거 — 50번 거래 후에도 여전히 p > 0.10인 전략은 종료
이것이 퀀트 트레이딩과 “감으로 하는 트레이딩"의 차이입니다: 추측하지 않습니다. 수학이 답해주기를 기다립니다.
요점
대부분의 소매 트레이더들이 돈을 잃는 이유는 그들의 전략이 나쁘기 때문이 아니라, 그들의 전략이 실제로 작동하는지를 검증하지 않기 때문입니다.
Z-score 테스트는 구현하기 어렵지 않지만, 고전적인 경로로부터 당신을 구해줍니다: “작은 샘플, 높은 승률 → 실제 돈으로 거래 → 폭망.”
만약 당신도 퀀트 트레이딩을 하고 있다면, 실제 돈으로 거래하기 전에 스스로에게 이렇게 물어보세요:
“내 승률이 동전 던지기와 통계적으로 유의미하게 다른가?”
답이 “잘 모르겠다"라면 — 그것은 “아니오"입니다.