VRP Filter — Universal Scan Across All Viable Entries
PromotedVRP Filter — Universal Scan Across All Viable Entries
2026-05-19 · status: promoted · 53.7s
Hypothesis: vrp_filter@p20 (block entries when VRP 90d-percentile < 0.2) helps some profitable entry types. Expected mechanism: blocks low-VRP regimes where vol expansion ahead. Mean-reversion entries should benefit, trend entries should not (or even be hurt).
Verdict: CANDIDATE FILTERS — 2 profitable strategies lift ≥ 5% with vrp_filter: BB_EXTREME_2, DONCHIAN_50. Run shuffle-test (D5) before adding to COMPATIBLE_FILTERS.
Key metrics
| metric | value |
|---|---|
| n_strategies_tested | 7 |
| n_filter_helps | 2 |
| n_marginal | 0 |
| n_filter_hurts | 1 |
| strategies_filter_helps | [BB_EXTREME_2, DONCHIAN_50] |
Approach
Run each strategy with/without vrp_filter@p20 over 2023-01-01 → 2026-04-01. vrp_filter blocks entries when VRP rolling 90d-percentile < 0.2 (= IV cheap vs RV → expansion regime). Mirrors bocpd_filter_universal scope; mean-reversion vs trend asymmetry should re-appear with this filter too (per Exp #19 mechanism).
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.09 | 139 | 113 | 2.182 | 2.886 | -0.04 | -0.03 | +13.8% | True | FILTER HELPS (profitable + lift) |
| HOLY_GRAIL | -0.83 | 0.29 | 27 | 22 | -2.895 | 1.765 | -0.01 | -0 | +135.2% | False | BASELINE UNPROFITABLE |
| DONCHIAN_50 | 5.52 | 7.6 | 120 | 94 | 1.208 | 2.019 | -0.03 | -0.02 | +37.7% | True | FILTER HELPS (profitable + lift) |
| SFP_20 | -4.72 | -3 | 375 | 321 | -0.909 | -0.745 | -0.06 | -0.05 | +36.4% | False | BASELINE UNPROFITABLE |
| RSI_MR_LONG_ONLY | 0.01 | -0.33 | 10 | 5 | 0.026 | -7.142 | -0.01 | -0 | -6203.6% | True | FILTER HURTS (profitable + drag) |
| BURJ_KHALIFA | -4.46 | -4.9 | 147 | 102 | -1.861 | -3.494 | -0.07 | -0.05 | -10.0% | False | BASELINE UNPROFITABLE |
| FIBDIV | -1 | -1.24 | 338 | 267 | -0.236 | -0.365 | -0.03 | -0.03 | -24.3% | False | BASELINE UNPROFITABLE |

VRP filter vs BOCPD filter — side-by-side
| strategy | lift_pct_vrp | category_vrp | lift_pct_bocpd | category_bocpd |
|---|---|---|---|---|
| BB_EXTREME_2 | +13.8% | FILTER HELPS (profitable + lift) | +17.0% | FILTER HELPS (profitable + lift) |
| BURJ_KHALIFA | -10.0% | BASELINE UNPROFITABLE | +8.7% | BASELINE UNPROFITABLE |
| DONCHIAN_20 | — | nan | — | BASELINE UNPROFITABLE |
| DONCHIAN_50 | +37.7% | FILTER HELPS (profitable + lift) | -14.9% | FILTER HURTS (profitable, drag) |
| FIBDIV | -24.3% | BASELINE UNPROFITABLE | -13.2% | BASELINE UNPROFITABLE |
| HOLY_GRAIL | +135.2% | BASELINE UNPROFITABLE | +0.0% | BASELINE UNPROFITABLE |
| RSI_MR_LONG_ONLY | -6203.6% | FILTER HURTS (profitable + drag) | +0.0% | MARGINAL (profitable + small lift) |
| SFP_20 | +36.4% | BASELINE UNPROFITABLE | -12.2% | BASELINE UNPROFITABLE |
Verdict per category
Filter HELPS (profitable + lift ≥ 5%)
-
BB_EXTREME_2: $+17.66 → $+20.09 (+13.8%), Sharpe 2.18 → 2.89, trades 139 → 113
-
DONCHIAN_50: $+5.52 → $+7.60 (+37.7%), Sharpe 1.21 → 2.02, trades 120 → 94
Marginal (profitable + 0-5% lift)
(none)
Filter HURTS (profitable + drag)
- RSI_MR_LONG_ONLY: $+0.01 → $-0.33 (-6203.6%), Sharpe 0.03 → -7.14, trades 10 → 5
Baseline unprofitable
-
HOLY_GRAIL: $-0.83 → $+0.29 (+135.2%), Sharpe -2.90 → 1.77, trades 27 → 22
-
SFP_20: $-4.72 → $-3.00 (+36.4%), Sharpe -0.91 → -0.75, trades 375 → 321
-
BURJ_KHALIFA: $-4.46 → $-4.90 (-10.0%), Sharpe -1.86 → -3.49, trades 147 → 102
-
FIBDIV: $-1.00 → $-1.24 (-24.3%), Sharpe -0.24 → -0.36, trades 338 → 267
Overall verdict
CANDIDATE FILTERS — 2 profitable strategies lift ≥ 5% with vrp_filter: BB_EXTREME_2, DONCHIAN_50. Run shuffle-test (D5) before adding to COMPATIBLE_FILTERS.