콘텐츠로 이동

LxS v2b 백테스트 — 임계 세분화 + Δ-기반 layer

Date: 2026-05-24 (Sun) Topic: L Predecessor: 2026-05-24_S308_lxs_v2a_backtest.md

v2a 대비 변경

  1. |L_z|, |S_z| 4분위 임계 (≤-1.0 VERY_LOW / -1.0~0 LOW / 0~+1.0 HIGH / ≥+1.0 VERY_HIGH) → 16-cell matrix
  2. Δ-기반 layer (Druckenmiller "change of pace") — L_z_delta_20d, S_z_delta_20d로 4 케이스:
  3. 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)

  1. L:VERY_HIGH/S:VERY_HIGH = 단일 최고 신호 (+12.12pp alpha, sharpe 0.625, win 76%). 표본 n=1,429로 충분.
  2. L:VERY_LOW/S:LOW = 단일 최악 회피 신호 (-9.86pp, sharpe -0.377, win 26%). 명확한 회피.
  3. 임계 세분화로 신호 격차 6.5배 강화 — v2a 4분면 3.38pp → v2b 16-cell 22pp.
  4. Δ "BOTH_IMPROVING" layer가 단일 가장 강한 신호 (+2.25pp alpha, n=8,073). Druckenmiller "change of pace" 정량 검증.
  5. L↓S↓ Bear + L_IMPROVING_ONLY = 회복 진입 신호 (+3.84pp, sharpe 0.424) ★★ — "유동성이 회복되기 시작하지만 심리는 아직 안 풀린" = 진짜 contrarian. v2a의 Contrarian보다 정밀.
  6. 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, 방어주

한계

  1. VKOSPI 미통합 — KRX MDCSTAT 별도 백필 필요
  2. DSR / PBO / Purged CV 미실행 — 다중검정 보정 미적용 (v2c)
  3. Δ-layer 20일 단일 윈도우 — 5/10/40일 비교 미실행
  4. 단일 verdict baseline — verdict-conditional + cell 교차는 sample 너무 작아짐 (n<20)
  5. VERY_HIGH/VERY_HIGH가 단순 강세장 효과인지 시그널인지 — out-of-period로 검증 필요
  6. PBO 미통과 시 cell 일부는 우연일 가능성 — 16 cell × 4 Δ regime = 64 hypothesis. 다중검정 보정 의무.

v2c 다음

  1. Deflated Sharpe Ratio (López de Prado·Bailey 2014) — 64 hypothesis 보정
  2. Probability of Backtest Overfitting (PBO) — cell selection 안정성
  3. Combinatorial Purged Cross-Validation — block-based time series CV
  4. OOS holdout — 2025-Q4 또는 2026-Q1 별도 검증

산출

  • scripts/backtest/lxs_v2b_run.py
  • data/backtest/lxs_v2b/samples_labeled_v2b.parquet (30,446 valid, 28,881 with Δ)
  • data/backtest/lxs_v2b/cell_matrix.json (16-cell + Δ + 교차)
  • 본 문서