Lab · ML Experiments

ML — Pattern Discovery

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

Volume-shock conditional return

Dropped
2026-05-17 volumeeventsregime
Hypothesis
When log-volume z-score over the past 1h crosses above 3σ, the sign of the trailing 1h return distinguishes climaxes (mean-revert) from breakouts (continue). Tested walk-forward at fwd-15m / fwd-1h / fwd-4h horizons.
Verdict
**DROP** — volume-shock buckets don't separate forward returns (rally fwd-1h +3.9, decline +2.8). Volume z-score alone is a poor regime indicator at this threshold.
n_events
16,298
rally_t_1h
+2.4687
decline_t_1h
+1.0794
spread_4h_bps
+3.5383
rally_fwd1h_bps
+3.8586
rally_fwd4h_bps
+4.4307
decline_fwd1h_bps
+2.8062
decline_fwd4h_bps
+0.8925

Volume-shock conditional return

2026-05-17 · status: dropped · 1.5s

Hypothesis: When log-volume z-score over the past 1h crosses above 3σ, the sign of the trailing 1h return distinguishes climaxes (mean-revert) from breakouts (continue). Tested walk-forward at fwd-15m / fwd-1h / fwd-4h horizons.

Verdict: DROP — volume-shock buckets don't separate forward returns (rally fwd-1h +3.9, decline +2.8). Volume z-score alone is a poor regime indicator at this threshold.

Key metrics

metric value
n_events 16,298
rally_fwd1h_bps +3.8586
decline_fwd1h_bps +2.8062
rally_fwd4h_bps +4.4307
decline_fwd4h_bps +0.8925
rally_t_1h +2.4687
decline_t_1h +1.0794
spread_4h_bps +3.5383

Approach

Log-volume z-score uses a 1-day baseline window. An event is the rising edge where vol_z_1d crosses above 3.0σ (i.e. the previous bar was below threshold). Events are bucketed by sign of trailing 1h return.

Total events: 16,298 over 3,326,400 1m bars (1 per 204 bars).

Walk-forward windows: 21

Pooled OOS per bucket × horizon

mean_bps se_bps t_stat n_windows total_events
('decline', 'fwd_15m') 2.72 1.28 2.13 21 7190
('decline', 'fwd_1h') 2.81 2.6 1.08 21 7190
('decline', 'fwd_4h') 0.89 3.8 0.23 21 7190
('rally', 'fwd_15m') 1.35 1.29 1.05 21 6593
('rally', 'fwd_1h') 3.86 1.56 2.47 21 6593
('rally', 'fwd_4h') 4.43 3.39 1.31 21 6593

Baseline (no-event) for context

mean_bps_per_horizon
fwd_15m 0.098
fwd_1h 0.426
fwd_4h 1.703

event returns