Strategies
Deribit BTC Daily-Expiry Defined-Risk Bull Put Spread — Systematic Short-Dated Put-Skew/Variance-Risk-Premium Harvest, Rolled EVERY DAY (DERIBIT Options, ~15-20 Delta Short Put + Further-OTM Long Wing, Coarse Downtrend Skip, 3-Parameter)
Outcome: Abandoned
BtcDeribitDailyBullPutSpreadVrpTrendSkip
Outcome Summary
This strategy was a well-engineered, defined-risk bull put spread on Deribit BTC, deliberately designed to sell ~2 DTE puts with a protective long wing and roll every day so it would generate hundreds of observations and escape the 'unmeasurable' data-wall that killed prior weekly/monthly VRP books. The structure worked as intended — wing-first submission, ~2 DTE entries, a 0.92 short-put win rate, +$93.7/trade expectancy and PF 2.54 — but the daily roll never happened: Deribit daily-expiry data simply wasn't in the catalog, so the schedule degenerated to 14 monthly expiries and just 26 spreads. With only 13 effective daily observations and profit concentrated in two big days (PSR 0.64), the analyst abandoned it at backtest review before any optimization, since tuning three parameters cannot enlarge a sample bounded by data availability. It joins a lineage of Deribit VRP books (12, 12, 30 trades) that hit the same wall and is flagged to revive once daily-expiry chain history is collected far enough back.
Hypothesis
A DEFINED-RISK, single-underlying options income strategy on DERIBIT BTC that harvests the persistent crypto PUT-SIDE variance/skew risk premium. Each day it SELLS a ~15-20 delta short-dated (1-2 DTE) put and BUYS a further-OTM put wing (a bull put / put-credit spread), collecting net premium, rolled DAILY. Engineered around the two things that keep killing options books here: (1) DATA-WALL — prior weekly/biweekly/monthly VRP books produced ~12 trades and died 'unmeasurable'; a DAILY roll produces ~400-600 spreads for real statistical power; (2) NAKED SHORT VOL — prior no_edge/risk_reject deaths were undefined-risk straddles/cash-secured puts; the long wing CAPS tail loss. Distinct from the abandoned ETH post-flush spread (which gated 90% of weeks away) and from the in-pipeline weekly NAKED cash-secured put write. Fills the largest venue quota gap (options 6% vs 15%).
Implementation
Sells a DEFINED-RISK bull put (put-credit) spread on Deribit BTC DAILY expiries and rolls it EVERY DAY. At ~2 DTE it SELLS the ~3%-OTM put (~15-25 delta at that tenor) and BUYS the ~6%-OTM put as a wing, collecting the short-dated put-skew / variance-risk premium with a hard, pre-known max loss of (short strike - wing strike) x contracts. The structure is closed 2 hours before the 08:00 UTC settlement and re-established on the next daily expiry. A single COARSE gate stands aside while BTC's trailing 7-day (168 x 1H bar) return is worse than -6%, the regime in which realized downside outruns short-dated put premium. Sizing is risk-first: contracts = max_loss_frac x current equity / the ACTUAL resolved spread width, so each day's pre-known max loss is a fixed 2% of equity. A day trades ONLY when both puts resolved with candle data; an unpaired short put is never sold, and both legs are submitted on the same bar so the book is never naked short. BTC-PERPETUAL 1H bars are the roll clock and the trend gate only - the perp is never traded and there is no underlying fallback path.
Verification Results
No code change required. Optionally the research/hypothesis text could clarify that 'daily' is the roll cadence, not the signal bar, to avoid the auto-generated consistency warning on future runs.
Layer-1.5 flagged that hypothesis says 'Daily' while config.bar_type is BTC-PERPETUAL.DERIBIT-1-HOUR. On inspection this is NOT a real contradiction: 'daily' refers to the option EXPIRY/ROLL cadence (rolling_options roll='daily', dte_target=2), and the 1-HOUR BTC-PERPETUAL bar is used solely as the roll clock and the coarse trend gate (168x1H = 7-day trailing return, matching the hypothesis text). The perp is never traded (should_enter/should_exit/position_size are inert). The design is coherent and the developer documented it explicitly in the rationale.
Confirm the base RollingOptionsStrategy does not rely on its own min_bars_required for leg-data warmup; if it does, reconcile the two so option legs are still fully warmed before the first entry.
min_bars_required() overrides a base-template method (static analyzer base_shadow warning). Here the override is deliberate and used consistently (returns trend_lookback_bars+1, gating both warmup in _try_enter_period and the calculate_signal window). No functional problem observed, but if the base uses min_bars_required for extra-bar/option-leg warmup subscription, confirm the override does not shorten a warmup the base expects.
Defined-risk credit spread: sandbox avg_trade_return_pct is -12.6%, but this is the L72 wing-notional artifact (per-trade return measured against the wide short-minus-wing width, not the premium collected) — the sandbox is actually USD-positive (+$93.7/trade, PF 2.54, total_return +2.44). The real question for the analyst is premium-relative economics and net edge vs Deribit round-trip (~0.06%) over full history; short-dated crypto put VRP is a genuine premium but defined-risk premium selling has historically shown thin per-notional edge. Separately, verify TRADE COUNT: the whole point of the daily-roll design is to escape the ~12-30-trade data-wall that killed prior weekly/monthly VRP books, targeting ~350-420 spreads over lookback_days=420; the truncated sandbox produced only 26 spreads, so confirm the full backtest reaches the designed count (Deribit daily-expiry chain data availability is the binding constraint) — if it lands well under ~100 spreads it becomes unmeasurable rather than fee-nonviable.
Backtest Review
- Sharpe
- 1.89
- Total return
- 2.44%
- Max drawdown
- 0.33%
- Trades
- 26
- Win rate
- 46.2%
- Profit factor
- 2.54
Genuinely new, well-engineered defined-risk structure (bull put spread, long wing hard-caps tail loss) that avoids the naked-short-vol deaths and the wing goes on the same bar as the short.
Realized economics are net-positive, NOT fee-fragile: the -12.6% avg_trade_return_pct is the L72/L67 wing-notional artifact (return measured against strike width, not premium collected); realized expectancy is +$93.7/trade, PF 2.54, +243% total return.
Headline risk-adjusted stats look good (Sharpe 1.89, Calmar 6.7, short-put win rate 0.92) and options exposure fills a real venue quota gap.
The DAILY-ROLL DESIGN DID NOT MATERIALIZE. The whole premise was to escape the data-wall by producing ~350-420 spreads; instead the resolver only found MONTHLY expiries (25JUL25, 29AUG25, 26SEP25, ... 28AUG26 = 14 expiries), yielding 26 complete spreads. avg_dte_at_entry 1.95 confirms it enters ~2 DTE, but only once per monthly expiry, not daily. Deribit daily-expiry chain data simply is not present in the catalog over this history.
26 trades / 13 effective_daily_obs is non-diagnostic — well under QA's ~100 floor and under the mechanism's own design target. metrics_reliable is nominally true but PSR is only 0.64, sharpe_ci_low 0.93, and profit is dominated by two single days (2025-11-28 +80.9%, 2026-02-27 +79.0%) — classic small-n concentration.
Tuning cannot enlarge the sample: the binding constraint is daily-expiry chain data availability, not a parameter. A 3-phase run would curve-fit ~9 spreads per walk-forward window and a handful in holdout — the exact wall that killed the prior 12- and 30-trade Deribit VRP books.
Outcome Summary
A high-cadence roll can only escape the options data-wall if the underlying short-dated expiry history actually exists in the catalog; verify data availability before designing a mechanism whose statistical power depends on it.
The backtest-review analyst issued an 'abandon' verdict before optimization: the daily-roll design failed to materialize because Deribit daily-expiry chain history is absent from the catalog, so the schedule resolved to only 14 monthly expiries, yielding 26 spreads and 13 effective daily observations — far below the ~100-trade floor and non-diagnostic (abandon_class = unmeasurable).
Harvest the crypto put-side variance/skew risk premium by selling a ~15-25 delta short-dated Deribit BTC put against a further-OTM long put wing (a defined-risk bull put spread), rolled daily with a coarse downtrend skip.
Over the available chain it produced 26 complete spreads with a +$93.7/trade expectancy, profit factor 2.54, +243% total return, Sharpe 1.89 and a 0.92 short-put win rate, but PSR was only 0.64 (sharpe_ci_low 0.93) and profit was dominated by two single days (+80.9% and +79.0%). The headline -12.6% avg_trade_return_pct was a wing-notional measurement artifact, not a real economics failure.
Backtest and paper results are hypothetical. Trading involves risk of loss.