Lab · ML Experiments

ML — Pattern Discovery

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

Direction Forecast at 1h horizon — with CVD

Inconclusive
2026-05-20 directionlightgbmcvdshort-horizon
Hypothesis
Directional signal that vanishes at 4h (Mai-Welle direction_baseline IC +0.015) may appear at 1h horizon when CVD/order-flow features are added. LightGBM on the full Master-LGBM panel + CVD targets sign(fwd 1h log return). Promote if Spearman IC > 0.04 walk-forward + ≥70% stability + top-decile fwd return spread > 30 bps.
Verdict
**MARGINAL** — pooled IC +0.0232, marginally better than Mai-Welle's +0.015 (direction_baseline) but still below the production noise floor. 1h is better than 4h but still not enough.
n_windows
13
pooled_IC
+0.0232
ic_stability
+0.9231
top_3_features
['log_rv_1h_ann', 'ret_1h', 'ret_24h']
spread_stability
+0.9231
pooled_spread_bps
+2.0127
pooled_sign_hit_rate
+0.5084

Direction Forecast at 1h horizon — with CVD

2026-05-20 · status: inconclusive · 37.3s

Hypothesis: Directional signal that vanishes at 4h (Mai-Welle direction_baseline IC +0.015) may appear at 1h horizon when CVD/order-flow features are added. LightGBM on the full Master-LGBM panel + CVD targets sign(fwd 1h log return). Promote if Spearman IC > 0.04 walk-forward + ≥70% stability + top-decile fwd return spread > 30 bps.

Verdict: MARGINAL — pooled IC +0.0232, marginally better than Mai-Welle's +0.015 (direction_baseline) but still below the production noise floor. 1h is better than 4h but still not enough.

Key metrics

metric value
pooled_IC +0.0232
pooled_sign_hit_rate +0.5084
pooled_spread_bps +2.0127
n_windows 13
ic_stability +0.9231
spread_stability +0.9231
top_3_features ['log_rv_1h_ann', 'ret_1h', 'ret_24h']

Approach

Master-LGBM panel (now includes CVD features added 2026-05-20) with directional target = log(close_t+1h / close_t). LightGBM n_estimators=300, max_depth=5, learning_rate=0.05, min_child_samples=80. Walk-forward 12mo train / 3mo test, embargo 60 min. 13 valid splits.

Pooled OOS metrics

  • Spearman IC: +0.0232 (n=28,464)

  • Sign hit rate (predicted-sign matches actual): 50.84%

  • Top-Q5 vs Bot-Q1 conditional spread: +2.0 bps

  • Top-Q5 mean fwd return: +2.1 bps

  • Bot-Q1 mean fwd return: +0.1 bps

Per-window stability (13 windows)

  • IC > 0 in: 12/13 windows

  • spread > 0 in: 12/13 windows

  • IC mean: +0.0245, min: -0.0021, max: +0.0696

window n IC spread_bps sign_hit_rate
2023-01-01 → 2023-04-01 2160 0.0333 0.7 52.0%
2023-04-01 → 2023-07-01 2184 0.0405 6 50.6%
2023-07-01 → 2023-10-01 2208 0.0194 1.8 50.7%
2023-10-01 → 2024-01-01 2208 0.002 3.4 49.1%
2024-01-01 → 2024-04-01 2184 0.0263 -1.9 52.1%
2024-04-01 → 2024-07-01 2184 0.0696 6.9 52.9%
2024-07-01 → 2024-10-01 2208 0.0019 2.6 49.7%
2024-10-01 → 2025-01-01 2208 0.0167 0.2 50.9%
2025-01-01 → 2025-04-01 2160 0.0435 6.7 50.9%
2025-04-01 → 2025-07-01 2184 -0.0021 3.7 50.1%
2025-07-01 → 2025-10-01 2208 0.0212 1.8 50.6%
2025-10-01 → 2026-01-01 2208 0.0334 4 50.8%
2026-01-01 → 2026-04-01 2160 0.0129 1.4 50.6%

per-window

Top-15 features by mean LightGBM gain

feature mean_gain
log_rv_1h_ann 199.2
ret_1h 177.8
ret_24h 172.7
ret_4h 165.2
log_vol 162.8
ret_7d 148.9
n_whale_trades_4h 146.7
range_4h 139.2
log_rv_1d_ann 137.8
bocpd_p_short 128.5
cvd_divergence_4h 127.4
vol_z_1d 124.2
vrp 119.5
hmm_p_state1 118.5
n_large_trades_4h 115.8

Overall verdict

MARGINAL — pooled IC +0.0232, marginally better than Mai-Welle's +0.015 (direction_baseline) but still below the production noise floor. 1h is better than 4h but still not enough.