S305 — S304 Retracement 게이트 효과 백테스트¶
Date: 2026-05-23 (Sat) Topic: L (시스템 재설계) Predecessor: S304 (retracement 측정자 + current 기반 게이트)
1. 설계¶
- S303과 동일 모집단/기간/샘플링 (KOSPI 50 + KOSDAQ 30 = 80종목, 2022-01 ~ 2026-04-15, 매 5 영업일)
- OHLCV 캐시 재사용 (s303/ohlcv)
- 차이: aggregator가 S304 retrace 게이트 (current 기반) 적용 후 호출
- 총 samples: 16,172 (S303 16,297 대비 -125, 일부 종목 미세 차이)
- 소요: 21분
2. Verdict 분포 폭발적 변화¶
| Verdict | S303 | S305 | delta | delta % |
|---|---|---|---|---|
| MIXED_BUY_LEAN | 2,712 | 6,233 | +3,521 | +130% |
| MIXED_SELL_LEAN | 5,334 | 3,247 | -2,087 | -39% |
| BUY | 953 | 2,625 | +1,672 | +175% |
| MIXED | 3,913 | 1,552 | -2,361 | -60% |
| AVOID | 2,108 | 1,473 | -635 | -30% |
| BUY_STRONG | 91 | 241 | +150 | +165% |
| CAUTION | 519 | 242 | -277 | -53% |
| AVOID_STRONG | 274 | 289 | +15 | +5% |
| WATCH | 320 | 231 | -89 | -28% |
| NEUTRAL | 73 | 39 | -34 | -47% |
변화 매트릭스 (8,928 sample = 55.2% verdict 변경됨)¶
핵심 흐름: - MIXED 3,913 → BUY 821 + MIXED_BUY_LEAN 821 + MIXED_SELL_LEAN 516 + AVOID 165 + 잔여 MIXED ~1,500 - MIXED_SELL_LEAN 5,334 → MIXED_SELL_LEAN 잔여 2,135 + BUY 290 + AVOID 145 + AVOID_STRONG 51 (큰 흐름은 MIXED_BUY_LEAN으로) - BUY_STRONG 91 (S303) → 23개만 BUY로 강등, 나머지는 BUY_STRONG 유지 → S305 BUY_STRONG = 새 채택 다수 - 변경 없음: 7,244 sample (44.8%)
→ retrace 게이트가 절반 이상의 sample에서 verdict를 바꿈. 이전 MIXED·MIXED_SELL_LEAN이 retrace current 기반으로 BUY/BUY_LEAN으로 재분류된 큰 흐름.
3. retrace_override 효과¶
override 발생: 12,492 / 16,172 (77.2%)
77%가 retrace 게이트 작동. override 발생 vs 미발생 D+N 비교:
| 호라이즌 | override | no_override | delta |
|---|---|---|---|
| D+5 | +1.08% | +0.57% | +0.51pp |
| D+10 | +2.21% | +1.23% | +0.98pp |
| D+20 | +4.60% | +2.58% | +2.02pp |
| D+60 | +14.25% | +7.79% | +6.46pp |
→ retrace 게이트가 발동한 sample이 안 발동한 sample보다 D+60 +6.46pp 높은 수익. 게이트 자체가 alpha 추출 신호.
4. Verdict별 alpha 변화¶
BUY (가장 큰 변화)¶
| 호라이즌 | S303 mean | S305 mean | delta |
|---|---|---|---|
| D+5 | +0.74% | +0.98% | +0.24pp |
| D+10 | +1.83% | +2.04% | +0.21pp |
| D+20 | +3.56% | +4.77% | +1.21pp |
| D+60 | +11.19% | +15.25% | +4.06pp |
핵심: S303에서 BUY는 baseline +12.75% 대비 -1.56pp alpha였음. S305에서 +15.25%로 baseline +2.50pp alpha. 즉 retrace 게이트로 "추격 매수 위험" 해소.
BUY_STRONG (안정성 확인)¶
| 호라이즌 | S303 (n=91) | S305 (n=241) | delta |
|---|---|---|---|
| D+5 | +0.68% | +1.71% | +1.03pp |
| D+10 | +3.57% | +3.56% | -0.01pp |
| D+20 | +6.29% | +5.67% | -0.62pp |
| D+60 | +18.39% | +18.57% | +0.18pp |
→ alpha 유지. 표본이 91 → 241로 165% 증가했음에도 D+60 alpha 유지. 즉 retrace 게이트가 BUY_STRONG 발화 빈도를 늘렸지만 평균 수익률 유지 → 새로 잡힌 BUY_STRONG도 진짜 신호.
MIXED_BUY_LEAN (분포 확장 + alpha 유지)¶
| 호라이즌 | S303 (n=2,712) | S305 (n=6,233) | delta |
|---|---|---|---|
| D+20 | +4.42% | +4.57% | +0.15pp |
| D+60 | +13.97% | +14.73% | +0.76pp |
→ 표본 130% 증가에도 alpha 유지. MIXED 73%였던 "정보 없음" 구간을 MIXED_BUY_LEAN으로 더 명확히 라벨링하면서도 신호 품질 유지.
MIXED (감소)¶
| 호라이즌 | S303 (n=3,913) | S305 (n=1,552) | delta |
|---|---|---|---|
| D+20 | +4.14% | +3.03% | -1.11pp |
| D+60 | +13.31% | +11.90% | -1.41pp |
→ MIXED가 60% 감소(3,913 → 1,552). 남은 MIXED는 진짜 "양방향 모호" 케이스만 → 평균 수익률 baseline 미만으로 감소. 정상 (MIXED는 진입 안 하는 게 정답).
AVOID/CAUTION (감소, 회피 가치 유지)¶
| Verdict | S303 D+60 | S305 D+60 |
|---|---|---|
| AVOID | +9.79% | +8.83% |
| CAUTION | +5.92% | +5.66% |
| WATCH | +4.85% | +1.76% (D+20)→ S305에서 명확히 낮음 |
→ 회피 신호 alpha 유지/강화.
5. 핵심 결론¶
5.1 retrace 게이트가 정보를 추출했다¶
S303에서 73%가 MIXED 계열(정보 없음)이었던 것이 S305에서는: - BUY/BUY_LEAN/BUY_STRONG 합계: 3,756 → 9,099 (전체 56%) - MIXED 단독: 3,913 → 1,552 (10%)
→ 이전 "모름"이었던 시점의 상당수가 retrace 분석으로 명확한 방향성을 가진다고 판정됨. "20일 +300%, 5일 -30% = 여전히 PERSIST/UP" 같은 PM 직관이 시스템에 반영된 결과.
5.2 BUY의 baseline 미달 문제 해결¶
S303 진단: "BUY는 추격 매수 위험 → baseline 미달". S305: BUY D+60 +15.25% vs baseline +12.75% → +2.50pp alpha. retrace 게이트로 진입가 고점성 문제 완화.
5.3 BUY_STRONG alpha 안정성¶
표본 91 → 241로 165% 증가했음에도 D+60 alpha 유지. 새로 발견된 BUY_STRONG도 진짜 신호 → S304 retrace 게이트가 false positive 안 만듦.
5.4 retrace_override 자체가 alpha 신호¶
77% sample에서 게이트 발동. override 발생 sample의 D+60 +14.25% vs non-override +7.79%. retrace 분석이 들어간 sample 자체가 alpha 추출이 잘 됨.
6. 한계¶
- survivorship bias 그대로: 2026-05 시총 상위 80 고정. 2022년 상장폐지된 종목 누락.
- MIXED 라벨 변화의 절반은 "정보 추출"이 아니라 "라벨 재분류" 가능: MIXED의 본질적 ambiguity는 그대로일 수 있음. D+N 검증으로는 명확히 구분 못함.
- retrace_override 77% 발생: 게이트가 너무 자주 발동. PM 결함 지적의 4/15류 케이스만 잡는 게 의도였는데 광범위하게 적용됨. 이게 좋은 효과인지 과적합인지 추가 검증 필요.
- AMT는 미적용: 4개 trigger만 retrace 게이트. AMT POC migration과 retrace 결합은 다음 단계.
7. Sources¶
- S303 baseline:
data/backtest/s303/samples.parquet,verdict_summary.json - S305 결과:
data/backtest/s305/samples.parquet - 비교 스크립트:
scripts/backtest/s305_compare.py