HMM-Regime — Causal 2-State Volatility Regime
InconclusiveHMM-Regime — Causal 2-State Volatility Regime
2026-05-19 · status: inconclusive · 9.1s
Hypothesis: A 2-state Gaussian HMM on (1h return, 4h trailing RV) provides a causal regime feature (forward filter, not smoothing). P(state=Turbulent) predicts forward 4h RV at IC ≥ 0.05 walk-forward, and state-conditional vol means differ by ≥ 50% (regime separation).
Verdict: PURSUE — Pooled IC +0.3905, separation 1.42×, stability 100%. Includes signal but partially redundant with trailing rv_4h. Worth keeping for Master-LGBM (Exp #22) as a categorical regime feature, not as a standalone replacement for vol.
Key metrics
| metric | value |
|---|---|
| pooled_IC | +0.3905 |
| pooled_CI | [+0.3729, +0.4065] |
| pooled_n | 11,496 |
| windows_pos | 21 |
| n_windows | 21 |
| stability | +1.0000 |
| median_oos_separation | +1.4175 |
| windows_separation_ok | 7 |
Approach
1h resampling of 1m close, observation = (log return, log of trailing 4h RV). For each walk-forward split (12mo train / 3mo test, embargo = 1440 min), fit GaussianHMM(n_components=2, covariance_type='full') on the training segment, then run a manual causal forward filter over (train+test) so the state at any test-time t depends only on observations up to t.
State 1 is post-hoc renamed to be the higher-mean-RV one ('Turbulent'). Label is forward 4h realized vol starting at t+1.
Crucial methodological point: hmmlearn's predict_proba is smoothed (uses future observations) — that's the standard source of inflated HMM results in published crypto papers. We use only forward filter (alpha-only).
Pooled OOS IC (P(state=Turbulent) → forward 4h RV)
-
Pooled Spearman IC:
+0.3905(n=11,496) -
Bootstrap 95% CI:
[+0.3729, +0.4065] -
p-value:
0
Regime separation (state 1 / state 0 mean fwd 4h vol)
-
OOS median separation ratio: 1.42×
-
Windows with separation ≥ 1.5×: 7/21
Per-window OOS metrics (21 windows)
| window | n_samp | IC | ci_low | ci_high | oos_fwd_vol_s0 | oos_fwd_vol_s1 | oos_separation | trans_00 | trans_11 |
|---|---|---|---|---|---|---|---|---|---|
| 2021-01-02 → 2021-04-02 | 540 | 0.2661 | 0.1713 | 0.3435 | 0.0076 | 0.0103 | 1.367 | 0.9464 | 0.8748 |
| 2021-04-02 → 2021-07-02 | 546 | 0.2552 | 0.1738 | 0.3476 | 0.0066 | 0.0095 | 1.4419 | 0.937 | 0.9163 |
| 2021-07-02 → 2021-10-02 | 552 | 0.0283 | -0.0585 | 0.1088 | 0.0057 | 0.0061 | 1.0634 | 0.9336 | 0.9237 |
| 2021-10-02 → 2022-01-02 | 552 | 0.11 | 0.0284 | 0.2029 | 0.0055 | 0.0061 | 1.1001 | 0.9193 | 0.8998 |
| 2022-01-02 → 2022-04-02 | 540 | 0.3 | 0.2049 | 0.3891 | 0.0054 | 0.0072 | 1.3258 | 0.9244 | 0.8847 |
| 2022-04-02 → 2022-07-02 | 546 | 0.4298 | 0.3633 | 0.5045 | 0.005 | 0.0088 | 1.7593 | 0.9272 | 0.8611 |
| 2022-07-02 → 2022-10-02 | 552 | 0.1559 | 0.0655 | 0.2366 | 0.0049 | 0.006 | 1.2216 | 0.9101 | 0.8606 |
| 2022-10-02 → 2023-01-02 | 552 | 0.4515 | 0.3829 | 0.52 | 0.0029 | 0.0065 | 2.2357 | 0.9172 | 0.8664 |
| 2023-01-02 → 2023-04-02 | 540 | 0.3682 | 0.2884 | 0.4407 | 0.0036 | 0.0057 | 1.6039 | 0.9237 | 0.8994 |
| 2023-04-02 → 2023-07-02 | 546 | 0.2788 | 0.2048 | 0.3676 | 0.0032 | 0.0043 | 1.3291 | 0.9329 | 0.8968 |
| 2023-07-02 → 2023-10-02 | 552 | 0.4412 | 0.358 | 0.5058 | 0.0022 | 0.0037 | 1.6551 | 0.9322 | 0.8811 |
| 2023-10-02 → 2024-01-02 | 552 | 0.2883 | 0.2165 | 0.368 | 0.0031 | 0.0042 | 1.3525 | 0.9469 | 0.8741 |
| 2024-01-02 → 2024-04-02 | 546 | 0.364 | 0.3026 | 0.4262 | 0.0037 | 0.0055 | 1.4983 | 0.9408 | 0.8731 |
| 2024-04-02 → 2024-07-02 | 546 | 0.3763 | 0.3072 | 0.4379 | 0.0033 | 0.0049 | 1.5076 | 0.9345 | 0.8895 |
| 2024-07-02 → 2024-10-02 | 552 | 0.2712 | 0.1894 | 0.3474 | 0.004 | 0.0053 | 1.3184 | 0.9381 | 0.8906 |
| 2024-10-02 → 2025-01-02 | 552 | 0.316 | 0.2478 | 0.3848 | 0.0038 | 0.0054 | 1.4175 | 0.9325 | 0.8712 |
| 2025-01-02 → 2025-04-02 | 540 | 0.4332 | 0.3501 | 0.5158 | 0.0036 | 0.0061 | 1.6843 | 0.9296 | 0.8725 |
| 2025-04-02 → 2025-07-02 | 546 | 0.355 | 0.2804 | 0.4209 | 0.003 | 0.005 | 1.6568 | 0.9254 | 0.8821 |
| 2025-07-02 → 2025-10-02 | 552 | 0.2809 | 0.2055 | 0.3631 | 0.0026 | 0.0034 | 1.3112 | 0.9398 | 0.8754 |
| 2025-10-02 → 2026-01-02 | 552 | 0.3375 | 0.2664 | 0.4073 | 0.0033 | 0.0047 | 1.4009 | 0.9395 | 0.8957 |
| 2026-01-02 → 2026-04-02 | 540 | 0.3668 | 0.273 | 0.4295 | 0.0036 | 0.0051 | 1.4306 | 0.9383 | 0.8955 |

