Lab · ML Experiments

ML — Pattern Discovery

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

BOCPD Filter — Universal Scan Across All Viable Entries

Done
2026-05-19 filterbocpduniversalexploration
Hypothesis
bocpd_filter@0.3 helps multiple entry types beyond BB-Extreme. Strategies where the underlying baseline is profitable AND lift > +5% are candidates for megasweep COMPATIBLE_FILTERS inclusion (pending shuffle-test verification).
Verdict
**BB-EXTREME ONLY** — only BB-Extreme reproduces the lift; no other profitable strategy benefits. BOCPD's edge is mean-reversion-specific. Don't expand the megasweep filter pool.
n_marginal
1
n_filter_helps
1
n_filter_hurts
1
n_strategies_tested
8
n_baseline_unprofitable
5
strategies_filter_helps
['BB_EXTREME_2']

BOCPD Filter — Universal Scan Across All Viable Entries

2026-05-19 · status: done · 60.9s

Hypothesis: bocpd_filter@0.3 helps multiple entry types beyond BB-Extreme. Strategies where the underlying baseline is profitable AND lift > +5% are candidates for megasweep COMPATIBLE_FILTERS inclusion (pending shuffle-test verification).

Verdict: BB-EXTREME ONLY — only BB-Extreme reproduces the lift; no other profitable strategy benefits. BOCPD's edge is mean-reversion-specific. Don't expand the megasweep filter pool.

Key metrics

metric value
n_strategies_tested 8
n_filter_helps 1
n_marginal 1
n_filter_hurts 1
n_baseline_unprofitable 5
strategies_filter_helps ['BB_EXTREME_2']

Approach

Run each strategy with/without bocpd_filter@0.3 over 2023-01-012026-04-01. Goal: identify entries beyond BB-Extreme where BOCPD filter lifts PnL meaningfully on a profitable baseline. Strategies with unprofitable baselines are control — apparent 'lift' there is trade-count noise (per C7-D meta-lesson).

Results per strategy

strategy off_pnl on_pnl off_trades on_trades off_sharpe on_sharpe off_dd_pct on_dd_pct lift_pct is_profitable category
BB_EXTREME_2 17.66 20.67 139 115 +2.182 +2.914 -0.04 -0.03 +17.0% True FILTER HELPS (profitable + lift)
HOLY_GRAIL -0.83 -0.83 27 27 -2.895 -2.895 -0.01 -0.01 +0.0% False BASELINE UNPROFITABLE
DONCHIAN_20 0 0 0 0 False BASELINE UNPROFITABLE
DONCHIAN_50 5.52 4.7 120 120 +1.208 +1.027 -0.03 -0.03 -14.9% True FILTER HURTS (profitable, drag)
SFP_20 -4.72 -5.29 375 360 -0.909 -1.068 -0.06 -0.07 -12.2% False BASELINE UNPROFITABLE
RSI_MR_LONG_ONLY 0.01 0.01 10 10 +0.026 +0.026 -0.01 -0.01 +0.0% True MARGINAL (profitable + small lift)
BURJ_KHALIFA -4.46 -4.07 147 147 -1.861 -1.704 -0.07 -0.07 +8.7% False BASELINE UNPROFITABLE
FIBDIV -1 -1.13 338 336 -0.236 -0.268 -0.03 -0.03 -13.2% False BASELINE UNPROFITABLE

per-strategy pnl

Verdict per category

Filter HELPS (profitable + lift ≥ 5%)

  • BB_EXTREME_2: baseline=$+17.66 → $+20.67 (+17.0%), Sharpe 2.18 → 2.91, trades 139 → 115

Marginal (profitable + 0-5% lift)

  • RSI_MR_LONG_ONLY: baseline=$+0.01 → $+0.01 (+0.0%), Sharpe 0.03 → 0.03, trades 10 → 10

Filter HURTS (profitable + drag)

  • DONCHIAN_50: baseline=$+5.52 → $+4.70 (-14.9%), Sharpe 1.21 → 1.03, trades 120 → 120

Baseline unprofitable (filter signal cannot be assessed)

  • HOLY_GRAIL: baseline=$-0.83 → $-0.83 (+0.0%), Sharpe -2.90 → -2.90, trades 27 → 27

  • DONCHIAN_20: baseline=$+0.00 → $+0.00 (+nan%), Sharpe nan → nan, trades 0 → 0

  • SFP_20: baseline=$-4.72 → $-5.29 (-12.2%), Sharpe -0.91 → -1.07, trades 375 → 360

  • BURJ_KHALIFA: baseline=$-4.46 → $-4.07 (+8.7%), Sharpe -1.86 → -1.70, trades 147 → 147

  • FIBDIV: baseline=$-1.00 → $-1.13 (-13.2%), Sharpe -0.24 → -0.27, trades 338 → 336

Overall verdict

BB-EXTREME ONLY — only BB-Extreme reproduces the lift; no other profitable strategy benefits. BOCPD's edge is mean-reversion-specific. Don't expand the megasweep filter pool.