← All setups
S026 · Stage 3 trade simulation · forward

Live 0DTE paper-trade tracking

spx-0dte-iron-condor-forward-v1
14 days tracked gate reads at 100 0/6 cells provisional-pass forward paper · 1 contract/cell
Cumulative P&L per cell — headline fill, $ at 1 contract
$-4,728$0$4751234567891011121314session (day)
c01c02c03c04c05c06Baseline 1Baseline 2Baseline 3

🔒 Exact cell parameters (delta · wing · profit-take) are members-only. See a subscription →

Cell DaysNumber of paper-trade sessions this cell has been tracked.Avg $/dayAverage session P&L at the headline fill (mid entry + mid profit-take; worst only on a forced time-stop), per 1 contract. Total $Cumulative P&L across every tracked session, per 1 contract. CVaR-5%Conditional Value at Risk — the average P&L of the worst 5% of sessions (the tail). Needs ~100 sessions to mean anything; with few sessions it just equals the single worst day. Max DDMax drawdown — the largest peak-to-trough give-back of this cell's cumulative P&L so far. Grows as losing sessions arrive. Max riskMax risk — the defined-risk cap, the most a single session could lose = (wing − credit) × $100. The structural worst case, known on day 1 — not a realized loss. GateProvisional pass = this cell's tail (CVaR-5%) beats the hold-to-settle benchmark AND expectancy is positive. No real decision before 100 sessions.
c0114-$57-$798-$850-$1,116-$820
c0214-$131-$1,838-$1,657-$2,458-$1,720
c0314-$288-$4,028-$1,504-$4,354-$1,500
c0414-$106-$1,486-$850-$1,716-$820
c0514-$177-$2,480-$1,657-$3,048-$1,720
c0614-$338-$4,728-$1,504-$5,048-$1,500
Baseline 114-$174-$2,441-$1,696-$3,898-$1,720baseline
Baseline 213-$117-$1,516-$1,474-$3,524-$1,500baseline
Baseline 313-$116-$1,511-$826-$2,169-$820baseline

Avg $/day = mean session P&L at the headline fill (mid entry + mid profit-take; worst only on the forced time-stop). Tail-first: the gate compares each cell’s CVaR-5% against the hold-to-settle baseline (win-rate is never the headline). Provisional only until 100 sessions.

Setup detail · S026

ID: S026 Slug: spx-0dte-iron-condor-forward-v1 Type: OPT Skip stages: 1, 2 — no intraday 0DTE option history; validated forward in paper (Tastytrade), not on history Date added: 2026-06-14 Status: forward-paper active (first session 2026-06-15; original 6+1 matrix frozen). Extended 2026-06-16 with two additional hold-to-settle baselines (tracked forward from that date — see Revision log). Accumulating sessions toward the pre-registered gate. No result claimed; nothing here is "live" or "promoted". Wall: 3 — no clean intraday 0DTE history to backtest on; the intraday VRP itself is known/crowded, so the test is whether disciplined, tail-aware management clears the gate (wall classification: owner to confirm at promotion)

Type: Hypothesis spec (S-pipeline), forward-paper validated — no historical Stage 1/2 (intraday 0DTE option history is not available; see Data). The gate is a pre-registered forward-evidence gate accumulated in paper trade via Tastytrade. Status: PRE-REGISTERED — frozen on first paper session. No result claimed. Nothing here is "live" or "promoted". Pillar: first experiment of the 0DTE pillar (0dte-pillar.md). Tracked in 0dte-pillar-ledger.md for pillar-wide family-wise deflation.

ID S026 (assigned 2026-06-14)
Slug spx-0dte-iron-condor-forward-v1
Created 2026-06-13
Owner Mechaniq
Validation Forward paper trade (Tastytrade live chains), Stage-3 style
Why this complements the book Purely intraday: opens and closes same session — zero overnight gap risk, orthogonal to the put-selling-on-capitulation line and the overnight-capture candidate.

Revision log

2026-06-16 — added two hold-to-settle baselines (forward-only extension). The original 6 managed cells + 1 base benchmark (§4–§9) stay frozen and unchanged — their data and definitions are untouched (no retroactive edit). Added, pre-registered this date and tracked forward from 2026-06-16 only (so they always trail the original cells in session count):

  • v1-bench-d25w20 — hold-to-settle (no profit-take, no time-stop) at Δ0.25 / 20-pt wing
  • v1-bench-d16w10 — hold-to-settle at Δ0.16 / 10-pt wing

Why: §6's tail gate compares each managed cell's CVaR to a hold-to-settle benchmark; v1 carried only the base-case (Δ0.16/$20) baseline, so the Δ0.25/$20 and Δ0.16/$10 cells had no like-for-like control. These two fill that gap. The gate itself is unchanged — the original base benchmark v1-bench remains the default yardstick; whether to switch each cell to its own-group baseline is a separate, deliberate decision (not yet taken). Pillar trial count: +2 baselines (benchmarks, not candidate cells) — logged in 0dte-pillar-ledger.md. The display drops the all-empty Δ0.25/$10 group.


1. One-line hypothesis

We hypothesise that a mechanically-managed 0DTE SPX iron condor, entered late-morning at a conservative short-strike delta, captures the intraday variance risk premium with a controllable tail, and that the profit-take level, delta, and wing width measurably shape that tail — testable forward in paper, because the edge lives in intraday path behaviour a daily-close proxy cannot represent.

2. Rationale (the "because")

0DTE SPX options decay almost entirely within the session, and most sessions see SPX stay within a contained range — so out-of-the-money condors expire worthless often. The structural source is the variance risk premium concentrated into the single session, plus mechanical dealer hedging that dampens intraday moves. The danger is equally structural: near expiry, gamma is enormous, so a single adverse move can blow through a short strike faster than premium can compensate. The payoff is therefore left-skewed by construction — many small wins, rare large losses.

That asymmetry is why management, not structure, is the strategy. Entering late-morning (after the open's chaos, before the heaviest end-of-day gamma) preserves manageability. Whether to take profits early at 25% or 50% of credit, and which delta/wing region best controls the tail, are the open, empirically-testable questions this matrix answers.

3. Data required & the forward-only choice

Input Source Notes
Live SPXW 0DTE chains (quotes, greeks, OI) Tastytrade / dxFeed Forward only.
SPX intraday underlying Tastytrade For entry timing and underlying-based triggers.

Why forward, not historical: rigorous 0DTE backtesting needs intraday option history (minute-level prices/greeks for same-day-expiry contracts) — not reliably available via Tiingo or Tastytrade. A daily-close proxy is useless because the whole trade opens and closes within the day; its edge is the intraday path. We validate forward in paper, where every session is genuinely unseen out-of-sample. A later S-NNN can repeat on purchased intraday history if acquired. Honest consequence: validation is slower (one session/day) and the gate is forward-evidence-based.

4. The base trade (FROZEN constants — identical across every cell)

Held constant so the matrix isolates only the three varied dimensions (§5):

  • Underlying: SPX (SPXW 0DTE) — cash-settled, European, no early assignment, no overnight risk.
  • Structure: iron condor (defined risk). Chosen over the iron fly for lower gamma — survivability over premium.
  • Entry time: 10:10 ET (frozen) — after the opening range settles, retaining manageability and capturing midday theta. One time, not scanned; alternative entry times are separate future S-NNN.
  • Time-stop: close all by 15:30 ET (frozen) to avoid terminal gamma. Always on. Active close, not a settlement ride — see §7. The runner fires the close a few minutes early (~15:27 ET) with an idempotent ~15:40 backstop, so the close completes by the 15:30 deadline despite scheduler granularity — never starts at 15:30 and slips past.
  • Sizing: 1 contract per cell per session (frozen), starting capital $100,000. Mechanical, identical across cells and sessions. With SPX's $100 multiplier the structural worst case per session is wing − credit (≈ 0.6–0.9% of capital on a 10-pt wing, ≈ 1.5–1.9% on a 20-pt wing).
  • Session eligibility: trade only on regular, full-length exchange sessions (frozen). Skip exchange holidays and early-close / half-days — the 10:10 entry and 15:30 time-stop assume a normal 09:30–16:00 close. Verified against the trading calendar (pandas_market_calendars); a non-qualifying day is simply not an eligible session and counts against nothing.

Max-loss handling (how risk is capped — read this)

Max loss is handled by the structure plus the clock, not by an active price stop:

  • Structural cap = the wings. Defined-risk means max loss per trade is wing width − credit, a fixed, known number. The long wings are the catastrophe cap; the position is never unbounded.
  • Time-stop = the genuine 0DTE risk control. The real danger near expiry is fast end-of-day gamma; a clock-based time-stop addresses it directly.
  • No active price-based stop-loss in v1 — deliberately. On defined-risk 0DTE, a price stop tends to fire on intraday gamma/whipsaw, converting positions that would have recovered into realised losses, while the wing already caps catastrophe and gamma puts you near max loss before a stop could help. The documented tendency in premium selling is that managing winners adds value and stops subtract it. Stop-vs-no-stop is deferred to a single clean A/B on the surviving cell (a later S-NNN), rather than crossed into this matrix — crossing it would double the matrix to 16 cells. The forward data will settle it with full power.

5. The v1 tracking matrix (the varied dimensions)

A bounded 2×2×2, pruned to economically-coherent cells. Every cell trades the same base trade; only these three vary, and every cell is a counted trial (pillar-wide deflation).

  • Profit-take level (closing): 25% vs 50% of credit captured — both with the frozen time-stop, no active stop.
  • Short-strike delta: conservative 0.16 vs richer 0.25 (frozen).
  • Wing width: narrow 10 pt vs wider 20 pt (frozen).

Plus one hold-to-settlement benchmark (no time-stop, no profit-take) at the base delta/wing — tracked solely to measure how much the time-stop and profit-take save on worst-session severity. Not a recommended cell.

Pruning (important): delta and wing jointly set credit and max loss, so do not track the full cross-product. A rich delta with a narrow wing is aggressive; a conservative delta with a wide wing is defensive. Track only coherent trades — the conservative-defensive and moderate cells — not every combination for its own sake.

Trial math (frozen): 2 × 2 × 2 = 8 candidate cells, pruned to 6 — the aggressive 0.25-delta × 10-pt-wing corner is dropped (both profit-take levels): rich delta (often tested) + thin wing (small credit cushion) is the least-coherent corner. Tracked set = 6 cells (+1 hold-to-settlement benchmark). Deflation is for the cumulative pillar trial count (see 0dte-pillar-ledger.md); a larger grid would dilute power per cell and add months before anything is claimable.

6. Pre-registered forward gate (FROZEN — tail-aware by design)

A high win rate alone does not pass — the central discipline, and the prior gate lesson that an arithmetic mean flatters a left-skewed strategy. Evaluated per cell after the minimum sample.

  • Minimum sample: 100 0DTE sessions (frozen, ≈ 5 months) before any read. No peeking-and-stopping.
  • Tail control (binding): a cell passes only if its CVaR (mean of the worst 5% of sessions) is better than the hold-to-settlement benchmark's — i.e. the time-stop + profit-take demonstrably reduce tail severity versus doing nothing. A cell that wins often but whose tail is no better than the naive benchmark is failed, regardless of mean. No arbitrary CVaR threshold: the benchmark cell is the yardstick.
  • Expectancy (binding): positive expected daily P&L net of a realistic, asymmetric fill, SPX commissions, and per-leg fees. A credit condor is opened and profit-taken with patient limit orders — you provide liquidity, so you fill at (about) the mid; you only cross the spread when forced out at the time-stop (you take liquidity to beat terminal gamma). So: mid on entry, mid on profit-take, full-cross on the time-stop. Every trade also stores its P&L at the all-mid and all-worst (full-cross both ways) bounds, so the spread's impact is bracketed and the all-worst case is always reported — nothing is flattered. A cell that survives only at all-mid does not pass.
  • Drawdown: no separate numeric gate. Max loss is structurally capped per session (defined-risk × 1 contract), so drawdown is bounded by construction; the equity-curve path is reported and judged via the tail-control + expectancy criteria above. (Paper trading: a persistently declining curve over the 100 sessions reveals itself in the expectancy read.)
  • Cell comparison: any "this cell is best" claim is deflated for the cumulative pillar trial count (not this matrix's count alone).

7. Operational definitions (no intraday hindsight)

  • Entry: at the frozen time, select short strikes at the cell's delta from the live chain; wings at the cell's width. Record each leg's bid / ask / mid; the headline fill is a realistic 50% spread-capture, with mid and full-cross stored as bounds (see Expectancy gate).
  • Profit-take trigger: evaluated on the actual live mark, not on knowing the close.
  • Time-stop: on the clock only.
  • No active stop-loss (per §4); max loss is the wing.
  • Closing (execution): the position is actively closed — at the profit-take trigger (on the live mark) or at the 15:30 time-stop — by capturing the live mark (paper) or submitting a single 4-leg closing order (live: buy-to-close the shorts, sell-to-close the longs). The recorded exit is the 15:30 intraday mark, never the post-close settlement value: SPXW is PM-settled at 16:00, so a settlement value would bake in the exact terminal-gamma move the time-stop exists to avoid. The runner acts intraday at the trigger / 15:30; it never reconciles from an end-of-day settlement.
  • Settlement: only the hold-to-settlement benchmark cell rides to SPXW cash settlement; the 6 tracked cells never do.
  • Session eligibility: regular full-length sessions only (per §4) — holidays and early-close days are skipped, not traded.
  • Frictions: SPX commissions + modelled bid-ask on every leg, entry and exit; conservative.
  • One trade per session per cell. No re-entry, no rolling (separate future S-NNN).

8. Look-ahead-trap analysis

Step Risk Control
Entry timing Choosing the minute by hindsight Entry time frozen a priori; not scanned.
Strike/delta Selecting strikes that "would have" expired OTM Delta frozen per cell; strikes chosen live at entry.
Profit-take Acting on the known close Trigger on live marks only.
Fills Flattering paper fills Realistic 50%-spread-capture headline; mid/worst bounds recorded + reported; full frictions ($1.50/leg each way).
Cell comparison Cherry-picking the best cell All cells pre-registered, logged; pillar-wide deflation.

9. What I expect to find (pre-run forecast)

Committed before running: all cells show high win rates; the differentiator is the tail. I expect the time-stop to materially cut worst-session severity versus the settlement benchmark. Between 25% and 50% profit-take, the tighter 25% likely lowers per-trade variance at the cost of average credit captured — which of those wins on the tail-adjusted gate is the key open question. Conservative delta + wider wing is expected to be the most tail-robust region.

A null is valid and informative. If even the best cell cannot keep the tail within budget at positive expectancy net of frictions, the honest finding is that mechanical 0DTE condors do not survive their own tail — a failure, recorded openly, worst sessions shown.

10. Fail & promotion path

  • Failed (per cell) if the tail budget is breached, expectancy is non-positive net of frictions, or drawdown exceeds gate.
  • Promotion (surviving cell): forward-validated candidate; continued monitored accumulation; only after sustained forward evidence considered for live, with ongoing kill-record transparency. origin: hypothesis. Never declared live on the paper sample alone.

Frozen on first paper session; no retroactive edits. Profit-take levels vary within this spec (the question); changing a base-trade constant (entry time, structure, time-stop) is a new S-NNN. Stop-vs-no-stop is a deferred A/B, not part of this matrix. English per repo convention. Location: lab/hypotheses/spx-0dte-iron-condor-forward-v1.md.

Mechaniq provides information, not investment advice. We do not execute trades. Past results are no guarantee for future performance. You are solely responsible for your trading decisions.

Lab · Methodology · Greeks Lab · About · FAQ · Glossary · Privacy · Terms · mechaniq.trade © 2026

07 Jul 2026, 07:08