Skip to content

View original

BtcPerpMomentumVrpRegimeGatedLS

Hypotheses

BTC Perp Momentum Gated by Options Variance-Risk-Premium Regime, Long-Short (Single-Instrument BTCUSDT.BINANCE USD-M — Take the Price Trend ONLY When the Options-Implied VRP (IV − Realized Vol) Signals a Trend-Friendly Regime; Flat When Vol Is Richly Priced/Complacent, Vol-Scaled, Chandelier, 3-Parameter)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT momentum strategy on BTCUSDT.BINANCE USD-M that keeps the ONLY factor this factory rewards (momentum — its two survivors are both momentum) but adds a GENUINELY NEW, orthogonal information source as a REGIME GATE: the options-implied VARIANCE RISK PREMIUM (VRP = implied vol from Deribit minus trailing realized vol). This is L38-compliant — a new information source, not a symbol/venue swap of the dual-TF template — and it is distinct from every gate I have tried (OI, taker flow, smart-money L/S), from the price-derived Hurst regime classifier, and from the options-SKEW tilt (this uses the vol LEVEL/premium, not the put-call tilt). The premise: the options market's VRP encodes forward-looking conviction about volatility. When VRP is LOW or negative (implied vol is cheap relative to what price is actually realizing — the market is UNDER-pricing vol, typical of the early/accelerating phase of real trends), momentum tends to WORK; when VRP is HIGH (implied vol richly priced, heavy hedging/complacency, typically choppy range-bound tape), momentum whipsaws. So the strategy takes its price-trend position ONLY in the trend-friendly (low-VRP) regime and stays FLAT when VRP is high — a filter that removes the chop where pure-price momentum bleeds (the thin-PF, deflated-Sharpe death of every ungated momentum variant). It TRADES ONLY the perp (VRP is read as a lightweight daily feature — no options-catalog / multi-leg loading that killed the options ideas), is single-venue, vol-scaled with a chandelier trailing stop and no averaging down (drawdown-capped, cannot blow up), and low-frequency. 3 parameters (trend lookback, VRP regime threshold, chandelier ATR multiple).

Hypotheses

Iteration 2 makes exactly ONE structural change, targeting the single QA rejection reason: the strategy was structurally unmeasurable (9 trades / 362 days, ~13-day holds). The bottleneck QA identified is timeframe, not tuning — so the mechanism moved from 1-DAY to 4-HOUR bars and every window was rescaled into 4H bar units (trend_lookback 30 bars = 5 days, rv_lookback 42 = 7 days, atr_period 30 = 5 days, VRP percentile window 540 bars = 90 days, min_rank_samples 120 = 20 days). Annualisation is now derived from a bars_per_day constant instead of a hardcoded sqrt(365), so realized vol, the VRP level and the vol-target sizing stay in correct annualised units. With a 4-ATR(4H) chandelier (~3-4% of price) and a 5-day momentum flip, holds compress from ~2 weeks to a few days, which lifts the mechanism from ~10-30 trades/year into the range where Sharpe CIs, kurtosis and win rate are meaningful and where the 3-window walk-forward and 15-day holdout can actually populate. risk_frac was cut 0.03 -> 0.02 because the higher turnover means more independent risk events per year (L15 — cap per-trade risk, don't let losses compound into size). Every part QA did not fault is untouched: the same continuous z signal, the same VRP percentile gate, the same chandelier/flip/regime exits, the same three-way sizing cap, the same imports and class structure that already cleared Layers 1-3. On QA's second point (the low-VRP => trend-friendly premise being untested and possibly inverted): the ungated baseline is NESTED in the parameter space — vrp_pct_max clamps at 0.95, where the gate admits essentially every bar — so sweeping vrp_pct_max is a direct like-for-like test of whether the VRP conditioning adds value or merely thins the momentum signal, and at 4H there are now enough trades per gate level for that sweep to show or refute monotone structure. I have deliberately NOT added an invert-the-sign parameter: fitting the gate's polarity in-sample would be a best-of-N trap, and the honest test is whether the hypothesised direction survives the sweep. Venue stays BINANCE USD-M futures (strategy goes short) with leverage 1.0, so no unused-leverage issue.

Hypotheses

Thin, outlier-driven momentum edge that will not clear post-optimization robustness gates. Sharpe is 0.208 with a 95% CI [-0.467, 0.830] straddling zero (well below the 0.5 OOS minimum), profit_factor 1.13 (below the 1.2 meaningful line), information_ratio -0.65, and total_return only 24.2% over ~5 years. The result hinges on a handful of single-day spikes (2023-01-19 +21.1% makes the entire +10.5% year; 2026-02-05 +10.4%; 2024-03-04 +9.1%) with return_kurtosis 12.8 — the classic profile that fails deflated-Sharpe/PBO after best-of-225 selection. This is the ungated-momentum class (L9/L41, zero survivors); the VRP regime gate was supposed to remove chop and lift the thin PF but delivered Sharpe 0.21/PF 1.13, no better than the ungated signal it aimed to rescue. avg_trade_return_pct 0.249% clears the fee floor, so this is a risk-adjusted/overfit failure, not fee-fragility, and there is no robust parameter region to tune toward — optimizing would tune to the 3-4 spike days and near-certainly abandon-overfit in ANALYZING. The trade-count fix (iteration 2) succeeded but exposed that the underlying edge is absent. Abandon at BACKTEST_REVIEW rather than spend 2 hours.

Implementation

Long/short BTCUSDT.BINANCE USD-M perp momentum on 4-HOUR bars, gated by the options variance-risk-premium regime. Signal = vol-normalised trend strength z = log(P_t/P_{t-L}) / (sigma_bar * sqrt(L)), returned continuously every bar. Entry takes the trend direction (|z| > entry_z) ONLY when the VRP (Deribit DVOL implied vol minus trailing annualised realized vol) sits in the LOW part of its own 90-day rolling percentile distribution (rank <= vrp_pct_max) — the trend-friendly regime where implied vol is cheap relative to what price is realizing. Otherwise flat. Exits on a chandelier trailing stop (chandelier_atr_mult ATRs from the extreme since entry), on momentum sign flip, or on the VRP regime turning hostile (with a hysteresis buffer). Sizing is min(vol target, per-trade risk budget against the actual stop distance, hard gross-notional cap). No DVOL / stale DVOL => flat, never a price-only substitute edge.

Verification Results

Verification failed (Layer 4 — QA review): - The strategy is structurally unmeasurable at this timeframe. The full-year sandbox (362 days) produced only 9 total trades (3 long, 6 short) with an average hold of ~12d 21h. Nine trades cannot distinguish edge from noise: Sharpe 0.79 but sharpe_ci_low -0.896 (CI straddles zero), return_kurtosis 24.6 (a handful of trades dominate P&L), long_win_rate 0.33 on 3 samples. The bottleneck is inherent, not a tuning artifact: daily-bar momentum entries held to a chandelier trailing stop keep positions open ~2 weeks, so even with a 60%-eligible VRP gate the mechanism generates only ~10-30 trades/year. Over the full DVOL window (2021-03→present, ~5.4y) that is ~40-50 trades — still below the ~100-trade floor — and the 3-window walk-forward would leave single-digit OOS trades while the 15-day holdout would see ~0-1 trades. Advancing burns a full backtest + optimization only to die at the trade-count/holdout gate. - The conditioning premise (low VRP => trend-friendly) is untested and the developer concedes the sign could be inverted (high VRP = fear = strong trends). With 9 trades the vrp_pct_max sweep cannot establish any monotone structure — no power to confirm the gate adds value rather than just thinning an already-losing ungated momentum signal.

Verification Results

The positive sandbox result is thin and outlier-dependent. Over 56 trades total_return is +2.63%, profit_factor 1.09, Sharpe 0.15 with sharpe_ci_low -1.49 (CI straddles zero), win_rate 0.375. Return kurtosis is 11.9 and largest_win $10,201 vs avg_win $1,553 — a single trade carries much of the gross profit, and net expectancy per trade is small (+$46.88). Marginal edge; whether it survives is exactly what the 3-phase optimization exists to answer. Not a code defect.

Verification Results

avg_trade_return_pct is -0.125% (below the 0.15% floor) while total_return/PF/expectancy are positive. For a trend-follower (win_rate 0.375, avg_win/avg_loss 1.81) this profile is expected, so avg_trade_return_pct is a poor viability metric here and should not by itself be read as a fee/edge failure — but the per-trade margin over cost is slim and the edge lives in the tail winners.

Backtest Review

Iteration 2 fixed the trade-count problem (308 trades vs 9 on daily bars) — sample size is now adequate

Backtest Review

Risk construction works: max_drawdown a controlled 14.5%, cannot blow up, no averaging down

Backtest Review

Genuinely orthogonal information source (options VRP) traded as a lightweight feature — verification-safe, single venue

Backtest Review

avg_trade_return_pct 0.249% clears the futures fee floor, so failure is not fee-fragility

Backtest Review

Sharpe 0.208 with 95% CI [-0.467, 0.830] straddles zero — risk-adjusted edge indistinguishable from noise, far below the 0.5 OOS minimum

Backtest Review

profit_factor 1.13 is below the 1.2 meaningful-edge line (L9/L41 momentum class, zero survivors)

Backtest Review

Edge is outlier-concentrated: return_kurtosis 12.8, with 2023-01-19 (+21.1%), 2026-02-05 (+10.4%), 2024-03-04 (+9.1%) driving most of the total return; strip those days and the strategy is flat-to-negative

Backtest Review

information_ratio -0.65; annual returns lumpy and marginal (2022 -9.5%, 2025 +1.3%, 2026 +0.9%)

Backtest Review

The VRP gate did not deliver the promised lift — Sharpe 0.21/PF 1.13 is no better than the ungated momentum it was meant to rescue

Backtest Review

total_return only 24.2% over ~5 years despite vol-targeting to 35% annual vol — the edge is barely present

Outcome Summary

This strategy kept the only factor the factory rewards — momentum — but tried to rescue its chronic thin-PF death by gating it on a genuinely new, orthogonal signal: the options market's variance risk premium, trading the trend only when implied vol is cheap relative to realized (a trend-friendly regime) and sitting flat when vol is richly priced. Iteration 2 successfully fixed the prior unmeasurability by moving to 4-hour bars, lifting the sample from 9 to 308 trades and holding drawdown to a clean 14.5%. But that fix exposed rather than solved the problem: the VRP gate delivered a Sharpe of just 0.208 (CI straddling zero) and profit factor 1.13 — no better than the ungated momentum it aimed to improve — with the meager 24.2% total return resting on a few single-day spikes. The analyst abandoned it at backtest review as a thin, outlier-driven member of the zero-survivor momentum class, judging there was no robust region to optimize toward and that best-of-N selection would only overfit the spike days into a certain later abandon.

Outcome Summary

Adding a genuinely orthogonal regime gate (options VRP) to price momentum does not automatically rescue it — if the gated result is no better than the ungated signal (Sharpe 0.21, PF 1.13, edge concentrated in a few spike days), the conditioning merely thins the signal rather than removing the chop, and the fix that made it measurable simply exposed that the underlying edge is absent.

Outcome Summary

It was abandoned at the BACKTEST_REVIEW gate: a Sharpe straddling zero and profit factor below 1.2 mean no distinguishable risk-adjusted edge, and crucially the VRP regime gate did not deliver the promised lift — it produced no better than the ungated momentum it was meant to rescue. As an outlier-concentrated member of the zero-survivor momentum class with no robust parameter region, optimizing would tune to 3-4 spike days and near-certainly overfit-abandon, so it never reached optimization.

Outcome Summary

A long-short, single-instrument BTCUSDT.BINANCE USD-M momentum strategy that keeps the factory's rewarded factor (price momentum) but gates it on a genuinely orthogonal information source — the options variance risk premium (Deribit DVOL implied vol minus trailing realized vol) — taking its vol-scaled trend position only in the low-VRP (trend-friendly) regime and staying flat when vol is richly priced, read as a lightweight daily feature with a chandelier stop and no averaging down.

Outcome Summary

After iteration 2 moved the mechanism to 4-hour bars (fixing the prior 9-trade unmeasurability to 308 trades), the risk construction held (max drawdown a controlled 14.5%), but the edge was thin and outlier-driven: total return only 24.2% over ~5 years, Sharpe 0.208 with CI [-0.467, 0.830] straddling zero, profit factor 1.13 (below the 1.2 line), information ratio -0.65, and return kurtosis 12.8 with most of the total return coming from a handful of single-day spikes.
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.