S317 — 모듈별 선행/후행 + 방향 일치율 정리¶
작성: 2026-05-26 (Tue) 01:50
범위: 매크로/파생 (lxs_v4b·v4b_swing5·v4c) + L×S regime (v4c) + 차트 (S307big) + Order Flow (S307big+OF)
방법: 기존 산출물(data/backtest/*/signal_metrics.json, summary.json, S307big report) 재집계만. 신규 백테스트 실행 X.
선행/후행 정의:
- mean_lead: 신호 발화 → KOSPI swing 도달까지 평균 일수. 음수=선행, 0=동시, 양수=후행
- lead/concur/lag count: swing N건 중 선행·동시·후행 분류
- swing 정의: v4b ±8% (3건), v4b_swing5 ±5% (7건). 모두 2026-02-19 ~ 04-14 구간
1. 매크로/파생 모듈 (KOSPI swing 시점 매칭)¶
1-1. v4b ±8% swing (3건) — 표본 적지만 압도성 측정¶
| 모듈 | matched/3 | mean_lead | lead | concur | lag | swing 방향 일치 |
|---|---|---|---|---|---|---|
| basis_z (선물프리미엄) | 3/3 | -18.0d | 2 | 1 | 0 | 3/3 ✅ |
| VKOSPI 선물 z | 2/3 | -22.0d | 1 | 1 | 0 | 2/3 (1건 HIGH/LOW 부호 불일치) |
| 선물 OI Δ z | 3/3 | -14.0d | 2 | 1 | 0 | 3/3 ✅ |
| max_pain 거리 z | 1/3 | -6.0d | 1 | 0 | 0 | 1/3 |
| 한국 10Y 선물 Δ z | 3/3 | -8.0d | 1 | 2 | 0 | 3/3 ✅ |
| P/C ratio OI z | 0/3 | — | 0 | 0 | 0 | 데이터 부족 |
| VKOSPI proxy z | 0/3 | — | 0 | 0 | 0 | 데이터 부족 |
출처: data/backtest/lxs_v4b/signal_metrics.json
1-2. v4b_swing5 ±5% swing (7건) — 표본 ×2.3, robustness¶
| 모듈 | matched/7 | mean_lead (lead만) | lead | concur | lag |
|---|---|---|---|---|---|
| basis_z | 7/7 | -8.6d | 5 | 1 | 1 |
| 한국 10Y 선물 Δ z | 7/7 | -10.3d | 3 | 3 | 1 |
| 선물 OI Δ z | 6/7 | -10.0d | 3 | 1 | 2 |
| VKOSPI 선물 z | 3/7 | -22.0d | 1 | 1 | 1 |
| max_pain 거리 z | 3/7 | -10.0d | 2 | 0 | 1 |
| P/C ratio OI z, VKOSPI proxy | 0/7 | — | — | — | — |
출처: data/backtest/lxs_v4b_swing5/signal_metrics.json
1-3. confusion (극단 발화 → ±10일 KOSPI 방향, v4b ±8%)¶
| 모듈 | HIGH extreme n | %UP | %DOWN | LOW extreme n | %UP | %DOWN |
|---|---|---|---|---|---|---|
| basis_z | 44 | 77.3% | 11.4% | 32 | 62.5% | 6.2% |
| 선물 OI Δ z | 14 | 71.4% | 14.3% | 41 | 70.7% | 4.9% |
| 한국 10Y Δ z | 36 | 63.9% | 8.3% | 32 | 62.5% | 6.2% |
| max_pain 거리 z | 11 | 72.7% | 9.1% | 1 | (부족) | — |
| NEUTRAL (baseline) | 137 | 67.9% | 7.3% | — | — | — |
해석: NEUTRAL %UP 67.9% 대비 basis_z HIGH +9.4pp 우위, 다른 모듈은 NEUTRAL 근접 → 방향 예측력은 basis_z만 유의.
1-4. 핵심 결론¶
| 모듈 | 선행성 | 방향 정확도 | 종합 |
|---|---|---|---|
| basis_z | ★ -18d / -8.6d | ★ HIGH %UP 77.3% (+9.4pp) | swing 알람 1순위 |
| 선물 OI Δ z | -14d / -10d | ≒ NEUTRAL | swing 알람 보조 |
| VKOSPI 선물 z | -22d (표본 1) | 부족 | 표본 부족 보류 |
| 한국 10Y Δ z | -8d / -10d | ≒ NEUTRAL | swing 알람 보조 |
| max_pain | -6d | 불안정 | 보류 |
| P/C OI, VKOSPI proxy | — | — | 데이터 결손 (미운영) |
2. L×S regime 모듈 (v4c 3-axis, 38일 기간)¶
baseline D+20 +2.78%, n=38
2-1. L×S single-axis cell × D+20 alpha¶
| cell (L_bin × S_bin) | n | mean_d20 | alpha_d20 |
|---|---|---|---|
| HIGH_LOW (Contrarian Buy) | 5 | +15.60% | +12.83pp ★ |
| LOW_LOW (Bear) | 9 | +6.59% | +3.81pp |
| LOW_HIGH (Top Warning) | 13 | -0.53% | -3.30pp |
| HIGH_HIGH (Bull) | 4 | NaN (D+20 가용 부족) | — |
| VERY_HIGH_HIGH | 2 | NaN | — |
| VERY_HIGH_VERY_HIGH | 3 | NaN | — |
선행/후행 측정 안 됨 (regime은 cross-section regime classification, swing matching X). 정확도 = cell 분류 → D+N alpha.
2-2. basis_z (deriv_bin) × D+20 alpha (v4c)¶
| deriv_bin | n | mean_d20 | alpha_d20 |
|---|---|---|---|
| LOW | 5 | +4.97 | +2.20pp |
| MID | 15 | +4.85 | +2.07pp |
| HIGH | 13 | +3.01 | +0.24pp |
| VERY_HIGH | 3 | -4.20 | -6.97pp ★ |
| VERY_LOW | 2 | -1.24 | -4.02pp |
→ basis_z VERY_HIGH는 1-3 swing 알람 + 2-2 종목 D+20 alpha 둘 다 회피 신호로 검증.
2-3. 3-axis joint cell top 4 (chart × L×S × basis_z)¶
| cell | n | alpha_d20 |
|---|---|---|
| UNKNOWN | HIGH_LOW | MID | 2 | +14.04pp ★ |
| UNKNOWN | HIGH_LOW | HIGH | 2 | +11.61pp |
| UNKNOWN | LOW_LOW | MID | 4 | +5.72pp |
| UNKNOWN | LOW_HIGH | HIGH | 5 | -4.31pp (회피) |
출처: data/backtest/lxs_v4c/summary.json
2-4. v2c OOS holdout 검증 (참고)¶
| cell | IS alpha | OOS alpha | sign match |
|---|---|---|---|
| VERY_HIGH_VERY_HIGH | +0.67pp | +12.25pp | ✅ |
| VERY_LOW_LOW | -8.20pp | -16.24pp | ✅ |
| OOS 전체 10 cell | — | — | 8/10 (80%) |
PBO=0.038. DSR로 sharpe 통계 우위 입증은 실패 (개별 cell 0/64 significant @5%). 방향 일치도만 검증됨.
출처: data/backtest/lxs_v2c/validation_report.json, S308 v2c report
3. 차트 모듈 (S307big — 47,456 sample, KOSPI 250종 / 일봉)¶
baseline D+20 +3.41%, win — / sharpe 0.194 / sortino 0.503 / calmar 0.31
3-1. 4-trigger verdict × D+20 (OF 미포함, 표본 풀)¶
| verdict | n | D+20 mean | alpha vs baseline | 평가 |
|---|---|---|---|---|
| BUY_STRONG | 400 | +5.05% | +1.64pp | ✅ 표본 큰데 유지 |
| BUY | 7,381 | +3.64% | +0.23pp | 약함 |
| MIXED_BUY_LEAN | 17,222 | +3.81% | +0.40pp | 약함 |
| NEUTRAL | 132 | +1.45% | -1.96pp | — |
| WATCH | 706 | +1.80% | -1.61pp | — |
| CAUTION | 679 | +1.02% | -2.39pp | 회피 |
| MIXED_SELL_LEAN | 10,836 | +3.47% | +0.06pp | — |
| MIXED | 4,753 | +2.52% | -0.89pp | — |
| AVOID | 2,273 | +2.48% | -0.93pp | 회피 |
| AVOID_STRONG | 3,074 | +3.21% | -0.20pp | 약한 회피 |
→ 차트 단독 신호의 TOP-BOTTOM 격차 BUY_STRONG +5.05 vs CAUTION +1.02 = 4.03pp. → 선행/후행 = N/A (verdict 발화 시점 = 진입 시점, lead 정의 없음). forward D+N alpha만이 정확도 지표.
3-2. 차트 모듈 정합성 (S307 결함 수정 후, S307defects_backtest)¶
- 90.9% verdict 유지, 9.1% 변경
- BUY_STRONG D+60 alpha -2.42pp (정밀도 약화, 표본은 변화 없음)
- AVOID_STRONG D+20 +0.72pp 개선
- 5건 본질 미해결: 차트 신호 미발화(SC/BC=0) — 차트 단독 한계
3-3. 8개 하위 모듈¶
vsa_signals (Williams 8신호) / wyckoff (Spring/UT) / volume_profile (POC/VA Steidlmayer) / order_flow (BVC/CVD Easley 2012) / bulkowski (chart pattern) / amt (acceleration/momentum/trend) / _retracement / _thresholds
개별 모듈 단독 forward alpha 미측정 (verdict 합성만 측정). 결함 수정 이후 정합성은 PM 승인 (S307_originalsource_compliance.md).
4. Order Flow 모듈 (S307big+OF — 1,682 sample, 30분봉 활성)¶
baseline (OF 활성 sample) D+20 +11.33%, sharpe 0.408, sortino 1.471, calmar 0.85
4-1. OF decision × forward (n=1,682, 30분봉 가용 구간)¶
| decision | n | D+5 | D+10 | D+20 | win D+20 | sortino |
|---|---|---|---|---|---|---|
| HOLD | 1,609 (95.7%) | — | — | — | — | — |
| BUY | 65 | +1.83% | +5.36% | +15.16% | 60.0% | 2.16 |
| SELL | 8 | +7.21% | +11.98% | +23.95% | 87.5% | inf (downside=0) |
4-2. OF 결합 effect (5-trigger 합의)¶
| verdict | n_no_of | n_with_of | mean_no | mean_with | delta |
|---|---|---|---|---|---|
| BUY_STRONG | 11 | 25 | +26.41% | +27.64% | +1.23pp |
| BUY | 294 | 286 | +12.73% | +12.67% | -0.06pp |
| AVOID_STRONG | 56 | 12 | +12.10% | +8.33% | -3.77pp ✅ |
4-3. 선행/후행¶
OF는 30분봉 imbalance → 일봉 verdict (당일 종가 기준). 선행 = 0d (동시 신호). forward D+5/10/20 모두 양수 → BUY 신호는 5~20일 지속 효과, peak D+20.
4-4. 핵심 결론¶
- OF BUY 단독 = 강함: D+20 +15.16%, sortino 2.16 (baseline 1.47 대비)
- OF SELL 단독 = 실패 확정: n=8 모두 양수 (+23.95%). 강세장 효과 + 표본 부족 + "차트만으론 불가" PM 가르침 직접 검증
- OF + 차트 5-trigger 합의 = 최강: BUY_STRONG D+20 +27.64%, sortino 2.68
5. 통합 비교표¶
| 모듈 | 선행성 (대표) | 방향 일치도 | 표본 | 검증 기간 | 운영 등급 |
|---|---|---|---|---|---|
| basis_z (매크로) | -8.6d ~ -18d | swing 7/7 ★ + HIGH %UP +9.4pp | 7 swing × 76 extreme | 38일 | ★★ 알람 |
| L×S HIGH_LOW (regime) | n/a (regime) | alpha +12.83pp ★ | n=5 | 38일 + IS/OOS | ★★ Contrarian |
| L×S LOW_HIGH | n/a | alpha -3.30pp | n=13 | 38일 | ★ 회피 |
| basis_z VERY_HIGH (cell) | n/a | alpha -6.97pp ★ | n=3 | 38일 | ★ 회피 |
| 한국 10Y Δ z | -8d ~ -10d | swing 7/7, %UP NEUTRAL 근접 | 7 swing × 68 extreme | 38일 | ★ swing 알람 보조 |
| 선물 OI Δ z | -10d ~ -14d | swing 6/7, %UP NEUTRAL 근접 | 6 swing × 55 extreme | 38일 | ★ swing 알람 보조 |
| VKOSPI 선물 z | -22d (n=1) | 표본 부족 | 1 extreme | 38일 | 보류 |
| max_pain 거리 z | -6d ~ -10d | 부분 일치 | 11 extreme | 38일 | 보류 |
| P/C ratio OI z | — | — | n=0 | — | 데이터 결손 |
| VKOSPI proxy z | — | — | n=0 | — | 데이터 결손 |
| 차트 BUY_STRONG (4-tr) | 0d (동시) | D+20 +1.64pp / D+60 -2.42pp | n=400 | 2024-12~2025-09 | ★ 단독 약함 |
| 차트 CAUTION/AVOID | 0d | D+20 -2.39pp (CAUTION) | n=679 | 동일 | ★ 회피 |
| OF BUY (30분봉) | 0d (동시) | D+20 +15.16%, sortino 2.16 | n=65 | 2026-02-13~04-15 | ★★ |
| OF SELL | 0d | D+20 +23.95% (실패) | n=8 | 동일 | ✗ 단독 사용 금지 |
| 차트+OF BUY_STRONG (5-tr) | 0d | D+20 +27.64%, sortino 2.68 | n=25 | 동일 | ★★★ 합의 |
6. 한계 및 미측정¶
- 검증 기간 통일 X — 매크로/L×S는 38일(2026-02~04), 차트는 ~2년, OF는 2개월. 직접 비교 어려움.
- 각 차트 하위 모듈(VSA/Wyckoff 등) 단독 forward alpha 미측정 — verdict 합성만 측정.
- VKOSPI proxy, P/C OI z = 데이터 결손 — 측정 자체 불가.
- OF SELL n=8 — 통계 유의성 부족하지만 100% 실패 방향 일치.
- 선행성과 forward alpha는 서로 다른 측정 대상 — 매크로/파생은 swing matching, 차트/OF는 forward N일 alpha. 같은 표로 비교는 참고 수준.
- 2024-2026 강세장 편향 — D+20/D+60 alpha 비교 시 baseline 자체가 +3~12% 양수.
7. 운영 권고¶
7-1. swing 알람용 (회피·진입 타이밍)¶
- 1순위 basis_z: HIGH = 진입 우호 / VERY_HIGH = 강한 회피
- 보조: 한국 10Y Δ z, 선물 OI Δ z (방향 정확도는 NEUTRAL 수준이지만 swing 매칭 100%)
7-2. 종목 진입 신호¶
- 차트 단독 사용 금지 (BUY_STRONG +1.64pp 약함, 5건 본질 미해결)
- OF 30분봉 BUY + 차트 BUY_STRONG 5-trigger 합의 = 최강 신호 (D+20 +27.64%)
- OF SELL 단독 진입/청산 금지 (n=8 100% 양수)
7-3. regime 가중 (포트폴리오 multiplier)¶
- L×S HIGH_LOW = Contrarian Buy pool×2.0
- L×S LOW_HIGH = pool×0.2 + tail hedge
- basis_z VERY_HIGH = 진입 중단 / 익절 우선
8. 산출물 (원시 데이터)¶
data/backtest/lxs_v4b/signal_metrics.json— 매크로/파생 v4b ±8%data/backtest/lxs_v4b_swing5/signal_metrics.json— v4b ±5% (robustness)data/backtest/lxs_v4c/summary.json— L×S × basis_z × chart 3-axis cell × D+5/10/20data/backtest/lxs_v2c/validation_report.json— PBO/DSR/OOS holdoutdata/backtest/s307big/samples.parquet— 차트 47,456 sample (post-fix)data/backtest/s307bigof/samples.parquet— 차트+OF 1,682 sample (post-fix)- 출처 문서:
docs/research/2026-05-24_S308_lxs_v2c_validation.md/2026-05-24_S309_lxs_v4c_3axis.md/2026-05-24_S307big_backtest.md/2026-05-24_S307defects_backtest.md