Lab · ML Experiments

ML — Pattern Discovery

Inverted workflow: find conditional edges in BTC data first, build strategies second.
55 experiments

HAR-RV-J — Jump-augmented Vol Forecast

Dropped
2026-05-19 volatilityjumpsforecasthar-rv-j
Hypothesis
Decomposing trailing realized vol into a continuous (bipower variation) and a jump component improves out-of-sample log-vol forecast quality vs the production HAR-RV model by ≥3 pp R²(log) at the 4h horizon.
Verdict
**DEAD** — jump decomposition adds +0.22 pp R² (effectively zero). Vol persistence is already captured by trailing RV; jumps add no separate signal at this cascade structure.
best_model
HAR-RV-J
R2_4h_HAR_RV
+0.6571
best_lift_pp
+0.2194
n_windows_4h
21
R2_4h_HAR_RV_J
+0.6593
IC_4h_HAR_RV_CJ
+0.7936
R2_4h_HAR_RV_CJ
+0.6541
har_rv_j_wins_4h
18
R2_4h_persistence
+0.5470
har_rv_cj_wins_4h
10

HAR-RV-J — Jump-augmented Vol Forecast

2026-05-19 · status: dropped · 5.6s

Hypothesis: Decomposing trailing realized vol into a continuous (bipower variation) and a jump component improves out-of-sample log-vol forecast quality vs the production HAR-RV model by ≥3 pp R²(log) at the 4h horizon.

Verdict: DEAD — jump decomposition adds +0.22 pp R² (effectively zero). Vol persistence is already captured by trailing RV; jumps add no separate signal at this cascade structure.

Key metrics

metric value
R2_4h_persistence +0.5470
R2_4h_HAR_RV +0.6571
R2_4h_HAR_RV_J +0.6593
R2_4h_HAR_RV_CJ +0.6541
best_lift_pp +0.2194
best_model HAR-RV-J
IC_4h_HAR_RV_CJ +0.7936
har_rv_j_wins_4h 18
har_rv_cj_wins_4h 10
n_windows_4h 21

Approach

Decompose realised vol RV at each cascade scale (1h, 4h, 1d) into a continuous component (bipower variation BV) and a jump component J = sqrt(max(RV² − BV², 0)). Compare four models on out-of-sample log(σ_{t+h}) prediction:

  • Persistence — forecast = log(rv_h) (zero parameters, baseline)
  • HAR-RV — log RV regressed on log(rv_1h, rv_4h, rv_1d) — current production
  • HAR-RV-J — HAR-RV plus one jump feature log(1+J_h)
  • HAR-RV-CJ — full continuous/jump decomposition: log(bv_) + log(1+J_)

Walk-forward: 12mo train / 3mo test, embargo = max(1440, horizon) minutes. Hourly resampled panel, σ-scale features (consistent with ml/forecast/).

Pooled OOS comparison

horizon model IC R2_log MAE_log n
1h persistence 0.8218 0.6433 0.2817 45,984
1h har_rv 0.8363 0.7041 0.2593 45,984
1h har_rv_j 0.8369 0.7051 0.2587 45,984
1h har_rv_cj 0.835 0.695 0.2608 45,984
4h persistence 0.7457 0.547 0.3123 45,984
4h har_rv 0.7938 0.6571 0.2725 45,984
4h har_rv_j 0.7949 0.6593 0.2716 45,984
4h har_rv_cj 0.7936 0.6541 0.2722 45,984
1d persistence 0.7307 0.4429 0.289 45,984
1d har_rv 0.7548 0.5735 0.2533 45,984
1d har_rv_j 0.753 0.5728 0.2539 45,984
1d har_rv_cj 0.7529 0.5733 0.2537 45,984

Per-window R²(log) by horizon

1h horizon (21 windows)

window n pers_r2 har_rv_r2 har_rv_j_r2 har_rv_cj_r2
2021-01-02 → 2021-04-02 2160 0.4973 0.6054 0.606 0.3879
2021-04-02 → 2021-07-02 2184 0.5301 0.628 0.6325 0.6156
2021-07-02 → 2021-10-02 2208 0.1294 0.3372 0.3379 0.334
2021-10-02 → 2022-01-02 2208 0.1149 0.308 0.3105 0.2874
2022-01-02 → 2022-04-02 2160 0.3312 0.4707 0.4731 0.4523
2022-04-02 → 2022-07-02 2184 0.573 0.6483 0.6499 0.6511
2022-07-02 → 2022-10-02 2208 0.2065 0.3947 0.3949 0.3941
2022-10-02 → 2023-01-02 2208 0.5698 0.6523 0.653 0.652
2023-01-02 → 2023-04-02 2160 0.5591 0.6299 0.6315 0.6307
2023-04-02 → 2023-07-02 2184 0.2926 0.4323 0.4356 0.4403
2023-07-02 → 2023-10-02 2208 0.5133 0.5888 0.5912 0.5891
2023-10-02 → 2024-01-02 2208 0.4765 0.5561 0.5591 0.5576
2024-01-02 → 2024-04-02 2184 0.5543 0.6245 0.6245 0.6244
2024-04-02 → 2024-07-02 2184 0.5624 0.6319 0.6342 0.6329
2024-07-02 → 2024-10-02 2208 0.4395 0.5361 0.5355 0.5367
2024-10-02 → 2025-01-02 2208 0.1796 0.3951 0.388 0.3212
2025-01-02 → 2025-04-02 2160 0.6726 0.6987 0.6989 0.689
2025-04-02 → 2025-07-02 2184 0.5673 0.6249 0.6251 0.6122
2025-07-02 → 2025-10-02 2208 0.4877 0.5662 0.5663 0.5572
2025-10-02 → 2026-01-02 2208 0.5715 0.6216 0.6216 0.6115
2026-01-02 → 2026-04-02 2160 0.6049 0.66 0.6613 0.6585

4h horizon (21 windows)

window n pers_r2 har_rv_r2 har_rv_j_r2 har_rv_cj_r2
2021-01-02 → 2021-04-02 2160 0.4437 0.5786 0.5792 0.4676
2021-04-02 → 2021-07-02 2184 0.4803 0.5997 0.5974 0.5851
2021-07-02 → 2021-10-02 2208 -0.0523 0.245 0.2525 0.2528
2021-10-02 → 2022-01-02 2208 -0.1526 0.1749 0.183 0.1736
2022-01-02 → 2022-04-02 2160 0.1401 0.3898 0.3888 0.3788
2022-04-02 → 2022-07-02 2184 0.4439 0.5933 0.5959 0.5966
2022-07-02 → 2022-10-02 2208 0.0069 0.2992 0.3043 0.3037
2022-10-02 → 2023-01-02 2208 0.4601 0.5875 0.5882 0.5891
2023-01-02 → 2023-04-02 2160 0.3349 0.5344 0.5356 0.5372
2023-04-02 → 2023-07-02 2184 -0.0179 0.2894 0.2928 0.2987
2023-07-02 → 2023-10-02 2208 0.3128 0.4717 0.4737 0.4751
2023-10-02 → 2024-01-02 2208 0.1795 0.4118 0.4174 0.4225
2024-01-02 → 2024-04-02 2184 0.3557 0.5255 0.5284 0.5253
2024-04-02 → 2024-07-02 2184 0.4076 0.5511 0.5533 0.5537
2024-07-02 → 2024-10-02 2208 0.2115 0.429 0.4292 0.4325
2024-10-02 → 2025-01-02 2208 0.3493 0.4797 0.4852 0.4236
2025-01-02 → 2025-04-02 2160 0.4689 0.5892 0.5895 0.5815
2025-04-02 → 2025-07-02 2184 0.3336 0.5176 0.5166 0.5083
2025-07-02 → 2025-10-02 2208 0.2716 0.4574 0.4578 0.4548
2025-10-02 → 2026-01-02 2208 0.3016 0.4802 0.4843 0.477
2026-01-02 → 2026-04-02 2160 0.3729 0.5424 0.5444 0.5417

1d horizon (21 windows)

window n pers_r2 har_rv_r2 har_rv_j_r2 har_rv_cj_r2
2021-01-02 → 2021-04-02 2160 0.337 0.4802 0.4635 0.4583
2021-04-02 → 2021-07-02 2184 0.3282 0.4753 0.4596 0.4684
2021-07-02 → 2021-10-02 2208 -0.256 0.0136 0.0159 0.0143
2021-10-02 → 2022-01-02 2208 -0.4862 -0.0738 -0.055 -0.056
2022-01-02 → 2022-04-02 2160 -0.0382 0.2321 0.2476 0.2476
2022-04-02 → 2022-07-02 2184 0.3928 0.5227 0.524 0.5231
2022-07-02 → 2022-10-02 2208 -0.2347 0.1715 0.1834 0.1889
2022-10-02 → 2023-01-02 2208 0.3488 0.4781 0.4736 0.4816
2023-01-02 → 2023-04-02 2160 0.362 0.4917 0.493 0.4941
2023-04-02 → 2023-07-02 2184 -0.3244 0.0455 0.0529 0.0604
2023-07-02 → 2023-10-02 2208 -0.221 0.1723 0.1573 0.1529
2023-10-02 → 2024-01-02 2208 -0.4131 0.068 0.0661 0.0828
2024-01-02 → 2024-04-02 2184 0.1763 0.3995 0.3977 0.3953
2024-04-02 → 2024-07-02 2184 0.0604 0.393 0.3914 0.3931
2024-07-02 → 2024-10-02 2208 -0.1023 0.2559 0.2558 0.2599
2024-10-02 → 2025-01-02 2208 -0.0013 0.3516 0.3485 0.3308
2025-01-02 → 2025-04-02 2160 0.0401 0.381 0.3732 0.3722
2025-04-02 → 2025-07-02 2184 0.1347 0.3895 0.3889 0.3835
2025-07-02 → 2025-10-02 2208 -0.3116 0.2209 0.2254 0.2229
2025-10-02 → 2026-01-02 2208 -0.2387 0.223 0.2249 0.225
2026-01-02 → 2026-04-02 2160 0.1702 0.4318 0.4156 0.4155

per-window R² 4h

lift over HAR-RV 4h