Lab · ML Experiments

ML — Pattern Discovery

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

CVD Filter — Universal Scan Across Viable Entries

Promoted
2026-05-19 filtercvduniversalexploration
Hypothesis
cvd_align_filter and/or cvd_divergence_filter help profitable strategies via order-flow-driven entry quality (Order Flow Imbalance & price/CVD divergence per arXiv 2602.00776).
Verdict
**SHUFFLE-CANDIDATES** — 3 (strategy × filter) cells help ≥ 5%: BB_EXTREME_2+align_010, BB_EXTREME_2+div_0, DONCHIAN_50+div_0. Run E3 shuffle-test before megasweep integration.
candidates
['BB_EXTREME_2+align_010', 'BB_EXTREME_2+div_0', 'DONCHIAN_50+div_0']
n_strategies
7
n_filter_helps
3
n_filter_variants
2

CVD Filter — Universal Scan Across Viable Entries

2026-05-19 · status: promoted · 72.1s

Hypothesis: cvd_align_filter and/or cvd_divergence_filter help profitable strategies via order-flow-driven entry quality (Order Flow Imbalance & price/CVD divergence per arXiv 2602.00776).

Verdict: SHUFFLE-CANDIDATES — 3 (strategy × filter) cells help ≥ 5%: BB_EXTREME_2+align_010, BB_EXTREME_2+div_0, DONCHIAN_50+div_0. Run E3 shuffle-test before megasweep integration.

Key metrics

metric value
n_strategies 7
n_filter_variants 2
n_filter_helps 3
candidates ['BB_EXTREME_2+align_010', 'BB_EXTREME_2+div_0', 'DONCHIAN_50+div_0']

Approach

For each of 7 strategies, run 3 variants: baseline (no CVD filter), cvd_align_filter@ofi=0.10, cvd_divergence_filter@div=0. Window 2023-01-01 → 2026-04-01. Identify profitable strategies with ≥5% lift; those are shuffle-test candidates.

Results table

strategy filter off_pnl on_pnl off_trades on_trades off_sharpe on_sharpe lift_pct is_profitable category
BB_EXTREME_2 align_010 17.66 18.69 139 124 2.18 2.45 +5.9% True FILTER HELPS
BB_EXTREME_2 div_0 17.66 32.47 139 3 2.18 11.19 +83.9% True FILTER HELPS
HOLY_GRAIL align_010 -0.83 -0.86 27 26 -2.9 -3.04 -2.9% False BASELINE UNPROFITABLE
HOLY_GRAIL div_0 -0.83 -0.22 27 10 -2.9 -3.16 +73.0% False BASELINE UNPROFITABLE
DONCHIAN_50 align_010 5.52 5.56 120 119 1.21 1.22 +0.7% True MARGINAL
DONCHIAN_50 div_0 5.52 7.16 120 65 1.21 2.84 +29.7% True FILTER HELPS
SFP_20 align_010 -4.72 -4.79 375 363 -0.91 -0.94 -1.5% False BASELINE UNPROFITABLE
SFP_20 div_0 -4.72 -2.11 375 195 -0.91 -0.78 +55.3% False BASELINE UNPROFITABLE
RSI_MR_LONG_ONLY align_010 0.01 0.01 10 10 0.03 0.03 +0.0% True MARGINAL
RSI_MR_LONG_ONLY div_0 0.01 0.01 10 10 0.03 0.03 +0.0% True MARGINAL
BURJ_KHALIFA align_010 -4.46 -4.22 147 143 -1.86 -1.79 +5.3% False BASELINE UNPROFITABLE
BURJ_KHALIFA div_0 -4.46 0.04 147 68 -1.86 0.03 +100.9% False BASELINE UNPROFITABLE
FIBDIV align_010 -1 -1.3 338 330 -0.24 -0.32 -30.6% False BASELINE UNPROFITABLE
FIBDIV div_0 -1 5.91 338 45 -0.24 1.55 +692.3% False BASELINE UNPROFITABLE

Verdict

SHUFFLE-CANDIDATES — 3 (strategy × filter) cells help ≥ 5%: BB_EXTREME_2+align_010, BB_EXTREME_2+div_0, DONCHIAN_50+div_0. Run E3 shuffle-test before megasweep integration.