다중검정
— 지표 30개를 돌리면 하나는 우연히 맞는다
지표 하나를 검정할 때는 “우연일 확률 5%”가 낮아 보입니다. 그런데 30개를 동시에 검정하면 이야기가 달라집니다. “유의한 신호를 발견했다”의 상당수가 착시인 이유입니다.
문제의 구조
통계 검정에서 흔히 쓰는 기준은 “우연히 이런 결과가 나올 확률 5% 미만”입니다. 지표 하나를 볼 때는 합리적인 기준입니다.
그런데 전혀 쓸모없는 지표 20개를 같은 기준으로 검정하면 어떻게 될까요. 각각 우연히 통과할 확률이 5%이므로, 평균 1개는 통과합니다. 지표가 실제로는 아무 정보도 없는데도 말입니다.
| 동시 검정 개수 | 쓸모없는 지표인데 “유의”가 하나라도 나올 확률 |
|---|---|
| 1개 | 5% |
| 10개 | 40% |
| 20개 | 64% |
| 30개 | 79% |
30개를 돌리면 10번 중 8번은 가짜 발견이 하나 이상 섞입니다. 그리고 사람은 그중 “맞은 것”만 기억하고 발표합니다.
투자 판단에서 흔한 형태
- 지표 조합 탐색 — RSI × 이동평균 × 거래량 조건을 이리저리 바꿔 가장 성적 좋은 조합을 고릅니다. 조합 수가 수백 개면 그중 하나는 반드시 좋아 보입니다.
- 파라미터 튜닝 — “RSI 30 대신 28로 하면 수익이 오른다”. 값을 계속 바꾸는 것도 검정을 반복하는 것입니다.
- 기간 바꿔 보기 — 안 맞으면 기간을 조정합니다. 이 역시 시도 횟수를 늘리는 행위입니다.
이렇게 찾아낸 규칙은 과거에는 완벽하지만 미래에는 무너집니다. 데이터의 우연한 패턴에 맞춘 것이기 때문입니다.
해법 — 보정과 사전 등록
① 다중비교 보정(BH/FDR)
검정 개수가 많을수록 기준을 엄격하게 만드는 방법입니다. DawnScan은 Benjamini-Hochberg(BH) 절차를 적용해 “유의하다고 발표한 것 중 가짜의 비율”을 통제합니다. 기저율 증명 페이지에서 ✓BH 표시가 이것입니다.
단순히 ✓Wilson(신뢰구간 하한이 기저율 초과)만 통과한 신호와, BH 보정까지 통과한 신호는 신뢰도가 다릅니다.
② 측정 먼저, 반영은 나중에
DawnScan은 새 신호를 추가할 때 가중치를 0으로 두고 기록만 합니다. 충분한 표본이 쌓인 뒤 검정을 통과한 것만 실제 점수에 반영합니다. 이렇게 하면 “결과를 보고 규칙을 고치는” 순환을 끊을 수 있습니다.
③ 여러 라벨에서 일관성 요구
하나의 기준만 보면 우연히 통과하기 쉽습니다. 그래서 최고가·경로·종료수익 세 라벨에서 모두 같은 방향일 것을 요구합니다. 우연이 세 번 겹치기는 훨씬 어렵습니다.