EthDeribitWeeklyDefinedRiskShortPutSpreadVrp
Hypotheses
ETH Deribit Weekly Defined-Risk Short Put Spread, Put-Skew/VRP Harvest (Single-Venue Multi-Leg Options, Realized-Vol-Regime Gated from Underlying Bars, Hard Tail-Capped, Weekly Cadence, Low-Parameter)
Hypotheses
A SINGLE-VENUE, SINGLE-ACCOUNT, DEFINED-RISK options-selling strategy on ETH weekly options at DERIBIT that harvests the persistent crypto PUT-SKEW / variance-risk-premium (VRP). Each weekly cycle it sells a bull put spread (short a ~20-delta OTM put, long a ~10-delta further-OTM put of the SAME weekly expiry) to collect net credit, with the long put providing a HARD, pre-known maximum loss. This is deliberately engineered to fill the factory's single largest portfolio gap (options at 1.4% Deribit + 0% Binance vs a >=15% target) using the ONE options mechanism that is currently clearing the pipeline (weekly Deribit VRP-harvest structures keep advancing to backtest_review), while explicitly correcting the three documented failure modes of the abandoned naked-put VRP sibling (BtcDeribitPutVrpIvRankManaged): (1) it does NOT depend on a DVOL/book_summary IV feed for its core gate — the regime filter is computed from ETH underlying OHLCV (realized-vol percentile + simple trend), so the thesis is actually exercised rather than silently defaulting open; (2) it is DEFINED-RISK (the long put caps loss), eliminating the ruin/95%-drawdown naked tail; (3) it is sized on the full $100k account with a per-trade max-loss cap of ~2% equity, avoiding the small-early-account equity-relative +100%/-95% PnL-scaling artifact. Both legs settle in one Deribit options account, so there is no cross-account or multi-instrument-spot equity-aggregation artifact. ETH (vs the BTC-saturated Deribit book) and a put-skew-specific spread (vs the existing ETH weekly iron condor and ETH MONTHLY put spread) keep it distinct. Weekly cadence (not monthly) avoids the trade-starvation wall that killed monthly option rolls.
Hypotheses
Iteration 5 targets the QA CRITICAL (fee viability) and the linked edge_concern ('negative per-notional edge; profit carried by the short leg while the wing loses'), and changes nothing else. Previously the spread was established on every schedule cycle the regime gate allowed, irrespective of what it actually paid — on flat-skew weeks the wing cost nearly as much as the short leg collected, so the net credit could not clear fees on four option legs (two at open, two at close), which is exactly the structurally negative-expectancy subset that dragged per-notional edge below costs. The new `_credit_ok()` gate reads both legs' observable premia (already guaranteed to exist by the atomic `_period_ready` check), computes credit = p_short − p_wing and cost = fee_cap_frac × (p_short + p_wing) × 2, and only trades when credit ≥ min_credit_fee_mult × cost. The comparison is unit-independent (premium vs premium; USD strikes never enter it), the two new parameters are exposed in `parameters` for the optimizer, and the gate degrades OPEN whenever a leg price is unavailable so it cannot become a zero-trade source. Leg-side assignment, the RV regime gate, defined-risk sizing, the entry window and the roll delegation to RollingOptionsStrategy are byte-unchanged, and no underlying/smoke fallback exists — only real option legs ever trade.
Hypotheses
Exact L67 defined-risk Deribit options signature — not worth 2 hours of optimization. Despite a flattering headline (Sharpe 1.44, PF 1.22, +8.2%), avg_trade_return_pct is NEGATIVE at -0.931% because per-trade return is measured against the defined-risk wing notional; per L67 this positive-Sharpe/PF-but-negative-per-notional combination is structural for defined-risk credit spreads and cannot clear the viability floor, so the Sharpe must not trigger optimize. It is also structurally single-regime: the ETH option legs only span 2025-08 → 2026-09 (data_days 365, effective_daily_obs 53), so the 3-phase walk-forward and 20% holdout cannot populate across regimes, and the short-vol crash tail the wings exist for is un-sampled (short_win_rate 83%, return_skew -1.60, largest_loss $3,797 vs avg_win $902). Significance is nil: bootstrap Sharpe CI [-0.48, 3.98] straddles zero, PSR 0.696. The iteration fixes are genuinely correct and the structure now trades cleanly, but a negative per-notional edge on a one-regime sample cannot survive the deflated-Sharpe/holdout gates, and no parameter change makes a defined-risk credit spread's per-notional return positive. This is the L67/L23 defined-risk Deribit options VRP family. Failure pattern: fee_edge/no_edge defined-risk Deribit put spread, negative per-notional edge + single-regime option history (L67/L23).
Implementation
ETH Deribit weekly defined-risk bull put spread that harvests the persistent crypto put-skew / variance risk premium. Every weekly cycle the rolling-options base resolves the next ETH weekly expiry; the strategy sells the inner ~4% OTM put and buys the ~8% OTM wing of the SAME expiry, so maximum loss is hard-capped by the spread width and sized to ~2% of equity. Entry is gated by (a) a realized-vol regime filter computed purely from ETH underlying OHLCV (RV percentile not depressed, price not in a confirmed downtrend — no IV/DVOL feed dependency), (b) atomic readiness (both legs must have data, so a naked short is impossible), and (c) a NET-CREDIT fee-viability test: the observed credit (short premium minus wing premium) must be at least 1.5x the round-trip Deribit fee cost (12.5%-of-premium cap on both legs, open and close). Cycles whose skew is too flat to pay for its own fees are skipped rather than traded.
Verification Results
Verification failed (Layer 4 — QA review) [class=code_defect]:
- [edge_concern] Flattering headline (Sharpe 2.00, PF 1.21) but negative per-notional edge; left-tailed (skew -1.89), profit carried by short leg while wing loses.
- 1 critical (fee-viability), 3 warnings
Backtest Review
The iteration-4/5 fixes are real — the spread now trades (106 legs / 53 spreads), defined-risk with a proper wing, and the net-credit fee gate is sound
Backtest Review
Clean single-account structure; low drawdown (7.3%), profit_factor 1.22, omega 1.70
Backtest Review
L67 defined-risk Deribit options signature: NEGATIVE avg_trade_return_pct (-0.931%) despite the positive Sharpe/PF — per-trade return measured against the defined-risk wing notional is structurally negative and cannot clear the viability floor
Backtest Review
Single-regime ~1-year option history (legs span 2025-08 → 2026-09, data_days 365): the 3-phase walk-forward and holdout cannot populate across regimes
Backtest Review
Not significant: Sharpe 1.44 (realized-trades basis) with bootstrap CI [-0.48, 3.98] straddling zero, PSR 0.696, effective_daily_obs 53
Backtest Review
Short-vol pick-up-pennies with an under-sampled crash tail: short_win_rate 83%, return_skew -1.60, largest_loss $3,797 vs avg_win $902 — no crash in the window to test the wings
Backtest Review
L67/L23 defined-risk Deribit options VRP family — repeatedly abandoned on this exact signature
Iteration History
Verification failed (Layer 3 — sandbox backtest): No trades produced
Bar type used: ETH-PERPETUAL.DERIBIT-1-HOUR-LAST-EXTERNAL, Bars processed: 63501
Diagnostics: should_enter() returned a side 0 times over 0 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds.
Ensure your strategy produces trades with the given data and parameters.
Backtest and paper results are hypothetical. Trading involves risk of loss.