LxS v2b 백테스트 — 임계 세분화 + Δ-기반 layer¶
Date: 2026-05-24 (Sun)
Topic: L
Predecessor: 2026-05-24_S308_lxs_v2a_backtest.md
v2a 대비 변경¶
- |L_z|, |S_z| 4분위 임계 (≤-1.0 VERY_LOW / -1.0~0 LOW / 0~+1.0 HIGH / ≥+1.0 VERY_HIGH) → 16-cell matrix
- Δ-기반 layer (Druckenmiller "change of pace") — L_z_delta_20d, S_z_delta_20d로 4 케이스:
- BOTH_IMPROVING / L_IMPROVING_ONLY / S_IMPROVING_ONLY / BOTH_DETERIORATING
입력: v2a 산출 samples_labeled_v2.parquet (32,905 rows) — L/S composite 재사용
결과¶
Top 5 cells (alpha 기준)¶
| Cell | n | mean | alpha | win% | sharpe |
|---|---|---|---|---|---|
| L:VERY_HIGH / S:VERY_HIGH ★ | 1,429 | +16.81% | +12.12pp | 76.3 | +0.625 |
| L:LOW / S:VERY_LOW | 480 | +10.08% | +5.39pp | 78.5 | +0.683 |
| L:VERY_HIGH / S:HIGH | 721 | +9.54% | +4.86pp | 69.1 | +0.430 |
| L:HIGH / S:LOW | 1,612 | +6.47% | +1.79pp | 60.4 | +0.293 |
| L:LOW / S:LOW | 2,998 | +5.16% | +0.47pp | 57.3 | +0.282 |
Bottom 5 cells¶
| Cell | n | mean | alpha | win% | sharpe |
|---|---|---|---|---|---|
| L:VERY_LOW / S:LOW ★ | 1,157 | -5.17% | -9.86pp | 26.0 | -0.377 |
| L:VERY_LOW / S:VERY_HIGH | 919 | +1.70% | -2.99pp | 42.5 | +0.099 |
| L:LOW / S:VERY_HIGH | 3,250 | +3.11% | -1.58pp | 48.6 | +0.166 |
| L:LOW / S:HIGH | 5,894 | +3.51% | -1.18pp | 53.1 | +0.200 |
| L:HIGH / S:VERY_HIGH | 2,832 | +4.53% | -0.15pp | 54.5 | +0.238 |
격차 alpha: +12.12 vs -9.86 = 22pp (v2a 4분면 격차 3.38pp의 6.5배 강화)
Δ-기반 Regime 단일 layer¶
| Δ regime | n | mean | alpha | sharpe |
|---|---|---|---|---|
| BOTH_IMPROVING ★ | 8,073 | +7.33% | +2.25pp | +0.347 |
| L_IMPROVING_ONLY | 6,286 | +5.00% | -0.08pp | +0.244 |
| S_IMPROVING_ONLY | 6,246 | +3.17% | -1.91pp | +0.195 |
| BOTH_DETERIORATING | 8,276 | +4.39% | -0.69pp | +0.239 |
Druckenmiller "change of pace" 정량 검증 — BOTH_IMPROVING이 절대 우위 (sharpe 0.347).
Regime × Δ 교차 (가장 강력한 발견)¶
| 조합 | n | alpha | sharpe | 의미 |
|---|---|---|---|---|
| L↑S↑ Bull + BOTH_IMPROVING ★ | 5,492 | +4.00pp | +0.414 | 추세 시작 + 가속 |
| L↓S↓ Bear + L_IMPROVING_ONLY ★★ | 1,178 | +3.84pp | +0.424 | 회복 진입 신호 ★ |
| L↑S↑ Bull + BOTH_DETERIORATING | 2,102 | +3.31pp | +0.411 | 안주 환경 추세 지속 |
| L↑S↓ Contrarian + L_IMPROVING_ONLY | 1,610 | +1.36pp | +0.292 | v2a Contrarian 표본 |
| L↓S↑ Top Warning + BOTH_DETERIORATING | 3,139 | -0.75pp | +0.236 | |
| L↓S↑ Top Warning + S_IMPROVING_ONLY | 4,171 | -1.45pp | +0.210 | 함정 |
| L↑S↑ Bull + L_IMPROVING_ONLY | 2,570 | -1.86pp | +0.169 | S 식는 중 (꼭지권) |
| L↑S↑ Bull + S_IMPROVING_ONLY | 2,074 | -2.85pp | +0.162 | L 식는데 S만 회복 = 꼭지권 |
| L↓S↓ Bear + BOTH_DETERIORATING | 3,027 | -3.43pp | +0.102 | 명확한 회피 |
BUY_STRONG × cell¶
| Cell | n | D+20 mean | win% |
|---|---|---|---|
| VERY_HIGH/VERY_HIGH | 16 | +24.49% | 75.0 |
| VERY_LOW/HIGH | 11 | +13.91% | 72.7 |
| VERY_HIGH/HIGH | 5 | +12.72% | 60.0 |
| HIGH/LOW | 6 | +11.53% | 66.7 |
| HIGH/HIGH | 62 | +9.40% | 61.3 |
| VERY_HIGH/LOW | (n<5 제외) | ||
| VERY_LOW/LOW | 5 | -12.92% | 40.0 |
표본 작은 cell도 패턴 명확 (작은 n은 신뢰구간 큼).
핵심 결론 (v2b)¶
- L:VERY_HIGH/S:VERY_HIGH = 단일 최고 신호 (+12.12pp alpha, sharpe 0.625, win 76%). 표본 n=1,429로 충분.
- L:VERY_LOW/S:LOW = 단일 최악 회피 신호 (-9.86pp, sharpe -0.377, win 26%). 명확한 회피.
- 임계 세분화로 신호 격차 6.5배 강화 — v2a 4분면 3.38pp → v2b 16-cell 22pp.
- Δ "BOTH_IMPROVING" layer가 단일 가장 강한 신호 (+2.25pp alpha, n=8,073). Druckenmiller "change of pace" 정량 검증.
- L↓S↓ Bear + L_IMPROVING_ONLY = 회복 진입 신호 (+3.84pp, sharpe 0.424) ★★ — "유동성이 회복되기 시작하지만 심리는 아직 안 풀린" = 진짜 contrarian. v2a의 Contrarian보다 정밀.
- L↑S↑ Bull + S_IMPROVING_ONLY = 꼭지권 함정 (-2.85pp) — L이 식는 동시에 S만 회복하면 위험.
운영 룰 권고 (v2b 산출 기반)¶
Tier 1 ★ — 매수 강화 (sharpe ≥ 0.4)¶
Cell L:VERY_HIGH/S:VERY_HIGH → pool ×2.0, momentum overweight
Cell L:LOW/S:VERY_LOW → pool ×1.6, quality+beta (Contrarian)
Bear + L_IMPROVING_ONLY → pool ×1.4, 회복 진입 종목
Bull + BOTH_IMPROVING → pool ×1.6, 추세 가속
Tier 2 — 정상 (sharpe 0.25~0.4)¶
Cell L:VERY_HIGH/S:HIGH, L:HIGH/S:LOW → pool ×1.2
Tier 3 — 회피 (alpha < -1pp 또는 sharpe < 0.2)¶
Cell L:VERY_LOW/S:LOW → pool ×0.2, stoploss 타이트, tail hedge ON
Cell L:LOW/S:HIGH or VERY_HIGH → pool ×0.6
Bull + S_IMPROVING_ONLY (꼭지권 함정) → take profit, 거품주 제외
Bear + BOTH_DETERIORATING → pool ×0.3, 방어주
한계¶
- VKOSPI 미통합 — KRX MDCSTAT 별도 백필 필요
- DSR / PBO / Purged CV 미실행 — 다중검정 보정 미적용 (v2c)
- Δ-layer 20일 단일 윈도우 — 5/10/40일 비교 미실행
- 단일 verdict baseline — verdict-conditional + cell 교차는 sample 너무 작아짐 (n<20)
- VERY_HIGH/VERY_HIGH가 단순 강세장 효과인지 시그널인지 — out-of-period로 검증 필요
- PBO 미통과 시 cell 일부는 우연일 가능성 — 16 cell × 4 Δ regime = 64 hypothesis. 다중검정 보정 의무.
v2c 다음¶
- Deflated Sharpe Ratio (López de Prado·Bailey 2014) — 64 hypothesis 보정
- Probability of Backtest Overfitting (PBO) — cell selection 안정성
- Combinatorial Purged Cross-Validation — block-based time series CV
- OOS holdout — 2025-Q4 또는 2026-Q1 별도 검증
산출¶
scripts/backtest/lxs_v2b_run.pydata/backtest/lxs_v2b/samples_labeled_v2b.parquet(30,446 valid, 28,881 with Δ)data/backtest/lxs_v2b/cell_matrix.json(16-cell + Δ + 교차)- 본 문서