콘텐츠로 이동

Phase C — 매크로 4년 Walk-Forward (DXY 결손 해소 + 한국 예탁금 4신호)

일자: 2026-05-26 (Tue) 선행: topic_discovery_walkforward.md Phase C / S318 Phase A 6/6 완료 / S317 us_macro_audit 입력: data/macro/panel_4y_daily.parquet (1,461×39) + data/sentiment_kr/customer_deposit_normalized.parquet (9.8년) + data/dart_cache/kospi_daily.parquet 산출: - data/backtest/phase_c/macro_panel_unified.parquet (1,072 × 52) - data/backtest/phase_c/events.parquet (20,253 발화) - data/backtest/phase_c/regime_spread.parquet - data/backtest/phase_c/deposit_signals.parquet - data/backtest/phase_c/summary.json - 코드: scripts/backtest/phase_c_macro_panel.py + phase_c_walkforward.py


1. 방법론

1.1 신호 패널 (106 시그널)

  • 52개 raw 컬럼(yf 28 + FRED 11 + VIX 파생 2 + 예탁금 10 + 한국 4신호) × {level z, chg z} = 106개
  • z-score: 60일 rolling
  • 발화: |z| ≥ 1.5

1.2 Regime 5분할

KOSPI 60d 누적수익률 cutoff: strong_down(<-10%) / down(-10~-3%) / flat(-3~+3%) / up(+3~+10%) / strong_up(>+10%)

분포 (1,072 거래일): flat 284 / strong_up 240 / up 239 / down 217 / strong_down 32

1.3 forward & spread

  • forward: D+5/+10/+20 KOSPI ret (다음 거래일 기준)
  • baseline: regime별 KOSPI 평균 (event-weighted)
  • spread = signal mean - baseline (mean alpha)
  • hit rate = 부호 일치율 (HIGH→up, LOW→down)

2. Baseline (regime × horizon)

regime D+5 D+10 D+20
strong_down +1.26% +2.23% +5.28%
down +0.41% +0.58% +0.13%
flat -0.19% -0.08% +0.35%
up +0.02% -0.06% +0.37%
strong_up +2.05% +4.32% +8.44%

관찰: strong_down에서 forward +5.28% (반등 patterns) / strong_up에서 forward +8.44% (모멘텀 지속). 양극단 baseline이 가장 큼.


3. C5 한국 예탁금 4신호 — 가설 검증

가설: - (a) 예탁금 급증 = 단기 과열 → forward 음의 spread - (b) 예탁금 급감 = dry powder 소진 → forward 음의 spread

3.1 deposit_lev_z (절대 수준 z)

kind regime n mean_d10 spread_d10 hit_d10
HIGH down 8 +5.93% +5.35pp 100%
HIGH strong_up 104 +4.49% +0.17pp 83.2%
HIGH up 51 -0.47% -0.41pp 35.3%
LOW flat 46 -4.51% -4.43pp 89.1%
LOW down 54 +0.67% +0.09pp 40.7%

해석: - ★ LOW × flat n=46 D+10 -4.43pp / hit 89.1% — 가설 (b) 검증: 횡보장에서 예탁금 감소 = 자금 이탈 → 약세 - HIGH × down n=8 D+10 +5.35pp / hit 100% — 가설 (a) 반대: 약세장에서 예탁금 급증 = 매수 대기 자금 유입 → 반등 (소표본 주의)

3.2 deposit_credit_ratio_z (예탁금/신용잔고)

kind regime n spread_d10 hit_d10
LOW down 11 -3.23pp 90.9%
LOW flat 46 -1.81pp 63.0%
HIGH down 37 +1.76pp 73.0%
HIGH strong_up 38 +0.25pp 78.9%

해석: ratio 낮음 = 신용공여 비율 상승(레버리지↑). down regime에서 LOW = 레버↑+약세 → 추가 하락 (포지션 청산 압력).

3.3 deposit_chg5_z (5일 변화 z)

kind regime n spread_d10 hit_d10
HIGH down 15 +3.91pp 100%
HIGH strong_up 29 -1.78pp 65.5%
LOW strong_up 24 -2.98pp 47.6%

3.4 deposit_slope20_z (20일 회귀 기울기)

kind regime n spread_d10 hit_d10
HIGH strong_up 42 +0.39pp 85.7%
HIGH up 33 -1.89pp 15.2%
LOW strong_up 26 +1.97pp 7.7% (역방향)

3.5 C5 결론

신호 작동 regime 방향 신뢰도
deposit_lev_z LOW flat 약세 (-4.43pp) hit 89% ★
deposit_credit_ratio_z LOW down 약세 (-3.23pp) hit 91% ★
deposit_lev_z HIGH down 강세 (+5.35pp, n=8) hit 100% (소표본)
deposit_chg5_z HIGH down 강세 (+3.91pp) hit 100%
deposit_slope20_z strong_up spread 미미 hit 86% 부호만

채택: 2개 신호 (deposit_lev_z LOW × flat, deposit_credit_ratio_z LOW × down) — 운영 룰북 등재 후보.


4. C4 DXY 결손 해소 결과

S317에서 누락된 DXY 4신호 모두 산출 완료. (yf_DXY 2 + fred_DTWEXBGS 2)

signal kind regime n spread_d10 hit_d10
yf_DXY_lev_z HIGH flat 28 -3.37pp 14.3% (역방향)
yf_DXY_lev_z HIGH strong_up 19 -3.54pp 42.1%
yf_DXY_chg_z HIGH flat 11 +0.98pp 81.8% (소표본)
fred_DTWEXBGS_chg_z HIGH strong_up 13 -2.25pp 53.8%
fred_DTWEXBGS_lev_z LOW strong_up 40 +2.90pp 7.5% (역방향)

채택: yf_DXY_lev_z HIGH × flat n=28 spread -3.37pp hit 14.3% (역방향) ★ — 달러 강세 + 횡보 = KOSPI 약세 (정합), 역방향 hit이지만 spread 일관.

S317 결손 우려 → 해소. DXY 신호는 flat regime에서 가장 강하게 작동.


5. Top 25 |spread_d10| 신호 — 강도 순

Signal Kind Regime n spread_d10 hit spread_d20
yf_VVIX_lev_z LOW strong_up 9 +9.43pp 0% (역) +14.24
der_VIX_9D_SLOPE_lev_z HIGH strong_up 9 +6.36pp 100% +6.15
yf_RTY_lev_z LOW strong_up 9 -5.80pp 66.7% +0.12
yf_VVIX_lev_z LOW down 5 +5.73pp 0% (역) +4.63
yf_VIX9D_lev_z LOW strong_up 6 +5.56pp 16.7% +9.50
deposit_lev_z HIGH down 8 +5.35pp 100% +4.77
yf_VIX9D_chg_z LOW strong_up 11 +5.01pp 9.1% +3.73
fred_DEXKOUS_lev_z LOW strong_up 13 -4.98pp 53.8% -5.98
fred_HY_OAS_chg_z LOW strong_up 10 +4.73pp 20% +6.45
deposit_lev_z LOW flat 46 -4.43pp 89.1% -6.05

5.1 양상 분류

A. 표본 충분 + hit + spread 일관 (★★): - der_VIX_9D_SLOPE_lev_z HIGH × strong_up n=9 hit 100% +6.36pp — VIX 단기 텀구조 정상화 + 강세장 = 지속 - deposit_lev_z LOW × flat n=46 hit 89.1% -4.43pp — 표본 충분, 핵심 채택

B. 역방향 hit + spread 일관 (다른 의미): - VVIX/VIX9D LOW × strong_up = 변동성 안정 + 강세장에서 forward 양수. 평균 회귀 시계열.

C. 소표본 노이즈: - n < 10 신호들은 룰북 등재 보류 — 운영 진입 전 추가 시점 확보 필요.


6. 시그널 등급 분류 (운영 적용 게이트)

Tier 기준 신호
Tier 1 ★ n ≥ 30 + spread
Tier 2 n ≥ 15 + spread
Tier 3 보류 n < 15 또는 hit < 60% VVIX/VIX9D 신호, der_VIX_9D_SLOPE
회피 spread sign flip across regimes 다수 자산 (regime 의존성 높음)

7. S317 us_macro_audit 비교

항목 S317 Phase C
입력 panel lxs_v1/v2 분리 (sentiment + macro) 통합 panel_4y (1,072d × 52cols)
DXY 미가용 yf_DXY + fred_DTWEXBGS 4신호 ★
한국 예탁금 없음 4신호 추가 ★
Regime 분할 fold 3분할 KOSPI 60d ret 5분할
발화 수 약 8K 20,253
L_composite_z, NET_LIQ_BN ★★ 본 Phase에선 raw FRED 컴포넌트 별도 z

S317 ★★ 신호(L_composite_z) 재현은 다음 세션 (FRED WALCL-TGA-RRP 합성 → z) 별도 산출 가능.


8. 제약 & 다음 단계

8.1 제약

  • strong_down regime n=32만 (4년 중 표본 부족) → strong_down 발화 신호 신뢰도 낮음
  • fred_SLOOS_CI 77.7% NaN (분기 데이터 ffill 한계) → 별도 처리 또는 제외
  • fred_HY_OAS 31.9% NaN (2023-05-23 이후만, S317과 동일 한계)
  • KRX 파생 panel 미통합: 별도 long-format 변환 작업 필요 (D 분리)

8.2 다음 단계

  1. Phase D 차트 walk-forward (PM 옵션) — 일봉 분석기 6 약세 t0
  2. L_composite_z 합성 재현 — FRED WALCL-TGA-RRP를 통합해 S317 ★★ 신호 재측정
  3. KRX 파생 long → wide 변환 + 본 Phase에 합치기
  4. Tier 1 신호 운영 진입deposit_lev_z LOW × flat 룰북 추가 (signal-synthesizer)
  5. Q3 반전 룰 재측정 (옵션 3) — discovery_walkforward summary in/out swap

9. 의사결정 (PM 대기)

결정 옵션
Tier 1 신호 운영 진입 (a) deposit_lev_z LOW × flat 즉시 / (b) 다음 cycle 추가
KRX 파생 통합 (a) Phase C 확장 / (b) Phase D와 묶음 / (c) 별도
다음 세션 Phase D 차트 / 옵션 3 Q3 반전 재측정 / 옵션 4 퀀트 / 옵션 5 corp_code 확장