Lab · ML Experiments

ML — Pattern Discovery

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

Divergence scan v2 — bigger pivots + rolling volume

Dropped
2026-05-25 divergencersivolumepattern_scanv2robustness
Hypothesis
v1's no-edge result may stem from (a) too-small k=5 pivots producing noisy swings and (b) single-bar volume being a poor proxy at the pivot. Hold everything else constant and sweep pivot_k ∈ {10, 20} and vol_window ∈ {1, 10}. If neither knob lifts any pattern above the PURSUE bar, divergences are confirmed dead on BTC.
Verdict
**DROP** — even with bigger pivots/rolling vol the best cell is only +127.3 bps (`reg_bull_rsi` k=10, vol_win=1, 4h/24h) with p=0.412. v1's null result holds across the full robustness grid. Divergences confirmed dead on BTC as standalone entry filter.
best_p_value
+0.4122
best_pattern
reg_bull_rsi @ k=10, vol_win=1, 4h/24h
best_signed_bps
127.25
best_total_signals
39
cells_with_p_under_10pct
0
best_windows_under_5pct_p
3
cells_with_signed_gt_10bps
42

Divergence scan v2 — bigger pivots + rolling volume

2026-05-25 · status: dropped · 7.8s

Hypothesis: v1's no-edge result may stem from (a) too-small k=5 pivots producing noisy swings and (b) single-bar volume being a poor proxy at the pivot. Hold everything else constant and sweep pivot_k ∈ {10, 20} and vol_window ∈ {1, 10}. If neither knob lifts any pattern above the PURSUE bar, divergences are confirmed dead on BTC.

Verdict: DROP — even with bigger pivots/rolling vol the best cell is only +127.3 bps (reg_bull_rsi k=10, vol_win=1, 4h/24h) with p=0.412. v1's null result holds across the full robustness grid. Divergences confirmed dead on BTC as standalone entry filter.

Key metrics

metric value
best_pattern reg_bull_rsi @ k=10, vol_win=1, 4h/24h
best_signed_bps 127.25
best_p_value +0.4122
best_windows_under_5pct_p 3
best_total_signals 39
cells_with_p_under_10pct 0
cells_with_signed_gt_10bps 42

Approach

Grid sweep over the two methodologically weak parameters in v1:

  • pivot_k ∈ [10, 20]
  • vol_window ∈ [1, 10] (rolling causal mean ending at the pivot bar)

Everything else identical to v1: 14-period RSI, 50-bar max-lookback between pivots, walk-forward 12mo train / 3mo test / 24h embargo, 200-perm mask-permutation test per window. Pattern definitions and sign conventions also unchanged.

Per-cell scan

k=10, vol_window=1, tf=1h (55,826 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=243, reg_bull_rsi=198, hid_bear_rsi=166, hid_bull_rsi=191, reg_bear_vol=331, reg_bull_vol=289, hid_bear_vol=290, hid_bull_vol=294

k=10, vol_window=1, tf=4h (13,958 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=64, reg_bull_rsi=47, hid_bear_rsi=43, hid_bull_rsi=46, reg_bear_vol=74, reg_bull_vol=70, hid_bear_vol=72, hid_bull_vol=91

k=10, vol_window=10, tf=1h (55,826 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=243, reg_bull_rsi=198, hid_bear_rsi=166, hid_bull_rsi=191, reg_bear_vol=365, reg_bull_vol=289, hid_bear_vol=318, hid_bull_vol=309

k=10, vol_window=10, tf=4h (13,958 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=64, reg_bull_rsi=47, hid_bear_rsi=43, hid_bull_rsi=46, reg_bear_vol=94, reg_bull_vol=82, hid_bear_vol=73, hid_bull_vol=88

k=20, vol_window=1, tf=1h (55,826 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=92, reg_bull_rsi=57, hid_bear_rsi=44, hid_bull_rsi=52, reg_bear_vol=104, reg_bull_vol=85, hid_bear_vol=87, hid_bull_vol=84

k=20, vol_window=1, tf=4h (13,958 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=17, reg_bull_rsi=12, hid_bear_rsi=11, hid_bull_rsi=12, reg_bear_vol=22, reg_bull_vol=13, hid_bear_vol=20, hid_bull_vol=16

k=20, vol_window=10, tf=1h (55,826 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=92, reg_bull_rsi=57, hid_bear_rsi=44, hid_bull_rsi=52, reg_bear_vol=110, reg_bull_vol=81, hid_bear_vol=87, hid_bull_vol=79

k=20, vol_window=10, tf=4h (13,958 bars, 21 WF windows)

Signals (full sample): reg_bear_rsi=17, reg_bull_rsi=12, hid_bear_rsi=11, hid_bull_rsi=12, reg_bear_vol=28, reg_bull_vol=19, hid_bear_vol=17, hid_bull_vol=16

Pooled OOS results (sorted by signed mean)

pivot_k vol_window timeframe horizon pattern direction n_windows total_signals mean_signed_bps median_signed_bps mean_p_value p_under_5pct
10 1 4h 24h reg_bull_rsi long 20 39 127.25 79.03 0.412 3
10 10 4h 24h reg_bull_rsi long 20 39 127.25 79.03 0.412 3
20 10 4h 24h hid_bear_rsi short 8 10 92.85 111.75 0.405 1
20 1 4h 24h hid_bear_rsi short 8 10 92.85 111.75 0.405 1
20 1 4h 24h reg_bear_vol short 13 17 76.98 16 0.468 1
10 10 4h 24h hid_bear_rsi short 18 41 76.93 13.53 0.418 0
10 1 4h 24h hid_bear_rsi short 18 41 76.93 13.53 0.418 0
20 1 4h 24h hid_bull_vol long 10 13 72.92 -26.98 0.487 1
20 1 1h 24h hid_bull_rsi long 19 39 66.72 103.66 0.418 3
20 10 1h 24h hid_bull_rsi long 19 39 66.72 103.66 0.418 3
20 10 4h 24h reg_bear_vol short 12 22 57.24 17.4 0.504 0
10 1 4h 24h reg_bear_rsi short 18 46 54.57 14.71 0.429 2
10 10 4h 24h reg_bear_rsi short 18 46 54.57 14.71 0.429 2
10 10 4h 24h reg_bull_vol long 21 71 51.15 31.22 0.428 1
20 10 1h 24h hid_bull_vol long 21 63 47.33 32.8 0.495 2
20 1 4h 4h reg_bull_vol long 10 13 45.64 19.26 0.344 0
20 1 4h 4h hid_bear_rsi short 8 10 40.66 6.55 0.425 1
20 10 4h 4h hid_bear_rsi short 8 10 40.66 6.55 0.425 1
20 1 4h 24h hid_bear_vol short 12 16 39.59 -9.67 0.46 1
10 1 4h 24h reg_bull_vol long 20 61 36.86 22.66 0.455 2

Full grid in results_full.csv.

Best signed-bps per (k, vol_window) cell

pivot_k 1 10
10 127.25 127.25
20 92.85 92.85

Top 15 across grid