S-051 — gdx-short-put-wheel-v1 (delta-30 short put + wheel on GDX, real Massive marks)
ID: S051
Slug: gdx-short-put-wheel-v1
Card title: Delta-30 short put + wheel on GDX (real option marks)
Type: Buy-write / wheel pillar — short-premium + wheel exploration (sibling of S032 buy-write, the
put-selling-capitulation-* family).
Date registered: 2026-07-15
Status: REGISTERED / ONGOING exploration — NOT frozen, NOT counted, NOT live (CLAUDE.md §2A).
Motivation: the owner's live GDX auto-execution round-trip works (the engine, 2026-07-14) and wants
a premium-selling wheel on GDX. Replaces the failed S-050 share-based streak idea.
Setup (owner)
Sell a ~30-delta GDX put at ~45 DTE; manage mechanically: - take profit at 25% if reached within 7 (trading) days; - else take profit at 50% any time; - manage at 21 DTE (close); if the put is ITM → take assignment and continue the wheel (sell covered calls). (The covered-call wheel leg is layer 2 — see below.)
Data — REAL option marks via Massive (the key upgrade over a proxy)
The short-put edge is the put skew / vol-risk-premium, which a flat-implied volatility (IV) BS proxy can't see — so this uses
real historical GDX option marks from Massive (Polygon-compatible aggregates). Confirmed by probe (2026-07-15):
- GDX options are entitled (e.g. 2025-01-17: 55 puts; real daily OHLC per contract).
- ~2-year aggregates window only: 2024-09 works, 2024-03 and older return 403 NOT_AUTHORIZED. So the
backtest covers ~2024-08 → now, ~23 monthly cycles — real but short.
- No bid/ask (plan = aggregates only) → the spread is modelled as a cost (~$0.03/share half-spread each
side + commission), like the 0DTE work.
- Delta-30 selection is skew-aware: at entry we invert BS on each strike's real mark to get its IV, compute
the put delta, and pick the strike closest to −0.30 — so the strike reflects the market's actual skew.
Method
Continuous, one-position-at-a-time wheel cadence: at each monthly cycle, if flat, enter the Δ≈−0.30 put ~45 DTE,
mark daily on real Massive closes, apply the 25%/50%/21-DTE rules, net of modelled friction; then re-enter.
Engine: the exploration workspace (fetch caches the put daily bars, resumable;
run backtests). GDX spot from Tiingo.
Finding (2026-07-15) — real marks: strong-looking, but the LEFT TAIL is untested
Full run on real Massive marks, 18 cycles 2024-08 → 2026-02 (the internal file): - mean net +$46/contract (+0.82% of notional), win 89% (16/18), total +$828; worst −$43, best +$118; median delta −0.31 (selection on target), median premium $1.33. - Exit mix: 13× quick-25%-within-7-days, 3× profit-50%, 2× assignment (the only two losses: −$43, −$14).
⚠️ The honest caveat that dominates everything: these 18 cycles are a one-directional GDX BULL market (GDX ~$34 → ~$115 over the window). Selling puts in a strong uptrend is easy money — puts rarely go ITM, so the 89% win and the tiny losses are mostly the regime, not the edge. A short put's entire risk is the left tail (a sharp GDX drop → assignment at a strike well above the crashed price → a loss ~10–20× a typical winner), and this window contains no such event. Tail-first (the Doc-Severson / 95%-win lesson): a high win rate on a left-skewed payoff with an unseen tail is exactly what the gates exist to distrust. It is not market-neutral either — a Δ30 short put is bullish (delta ≈ +0.30).
Read: real marks confirm the mechanics work and the premium is real (skew-aware selection, the quick-25% rule fires 72% of the time), but the result is regime-flattered and tail-untested — a promising first real-data read, not evidence of an edge.
Wheel-call leg built (2026-07-15) — and the tail SHOWED UP
the internal file runs the full state machine: sell Δ30 put → on assignment take shares → sell Δ30 covered calls until called away → resume selling puts. Real Massive marks. Full wheel, 20 events 2024-08 → 2026-07: - total net +$664 (vs put-only +$828; with the completed 2026-04 covered call +$195 — Massive returned 0 contracts for the 2026-06 expiry so coverage is still partial), win 95%, best +$1,045, worst −$2,212. - The two completed wheels behaved as designed: the 2025-06 assignment at $51 → shares called away at $60 = +$1,045 (a gain, because GDX rose). Premium harvest ground on in the bull.
But the left tail I flagged actually happened in-sample: GDX corrected ~35% (≈$115 early-March → ≈$73 mid-year). The wheel got assigned at $97 in March 2026 right into it and is sitting on a −$2,212 unrealized loss on the held shares — one bad cycle > 2.6× the entire put-only profit. The put-only view (+$828, 89% win) hid this by booking the assignment as a small manage-close; the wheel is the honest version. This vindicates the tail-first caveat: selling GDX puts is not free money — a correction (which occurred) produces a loss that dwarfs the accumulated premium.
Honest data caveat: the call fetch timed out before the 2026-04..07 cycles, so no covered calls were sold
against the March-assigned shares — the −$2,212 is therefore an upper bound (real calls would offset a few
hundred $). Even fully hedged, that wheel cycle is a large loss. Figure: wheel_full_equity.png.
Verdict: the wheel completes the strategy honestly and, by holding losing shares instead of booking a small loss, reveals the real risk. Net-net over ~2 years it's still positive (+$469) but with a fat left tail that one GDX correction nearly erased. Confirmation = forward paper (with complete call data + a real drawdown, which this window now partly contains).
Honest caveats (known up front)
- Short history (~23 monthly cycles / ~2 years). Small sample; one gold regime. Not enough for a frozen gate.
- No bid/ask — fills are modelled (real spread could be worse on illiquid strikes).
- Wheel-call leg not yet built — assignment is currently handled by the 21-DTE manage/close; the covered-call recovery (layer 2) would change the loser cycles.
- Right-tail-of-premium / left-tail-of-assignment: read tail-first (worst cycle), not just the win rate.
Where next (owner to direct)
(1) Add the covered-call wheel leg on assignment (fetch GDX call marks, same Δ30/45DTE management). (2) Given the short history, the honest confirmation is forward paper via the live layer. (3) Sensitivity: Δ (20/30/40), manage-DTE, profit-take (PT) levels — but sweep-aware (deflate), the S-050 lesson. No promotion, no live cell until it clears.
Gate — [CALIBRATE] (not set)
Not set. A tradeable version needs a real net edge after honest fills, a tail read (worst cycle / assignment path), and — given ~23 cycles — forward confirmation, not just this backtest.
Registered pre-freeze; ONGOING exploration. Do NOT freeze, count, or fill [CALIBRATE] until the owner says go.
Part of the buy-write/wheel pillar.