SPX 0DTE / Post-Selection Inference / 19-Year OOS

Regime-Concentrated Edge and the Cost of In-Sample Selection

Research completed / negative result

A high-fidelity 1-second backtest lab (Python reference + Rust parity) selects a Donchian rider on 2023–2026 that looks strong — +687 index points, profit factor 2.35, and a STRONG_GO on MES futures. A 460,800-combination grid on a 19-year out-of-sample window (2004–2022) refutes it: the champion ranks in the bottom third, the grid median is negative, and the apparent edge is concentrated in 2021–2022. A textbook post-selection-inference artifact; the contribution is methodological, not strategic.

Full materials

Research question

Does an SPX 0DTE Donchian breakout — with its risk, exit, and regime-filter layers selected on recent data — produce a positive expectancy that generalizes to a long out-of-sample history the research process never saw?

Method

A high-fidelity 1-second execution simulator (Python reference engine plus a byte-for-byte Rust parity engine), multi-timeframe Donchian signals (1m–60m), a full risk layer (stop, target, trailing, time-stop, EOD), and causal VIX / daily-range filters. The arc is deliberate: a progressively expanding in-sample grid (2023–2026) selects a “rider” champion; an MES-futures execution check confirms it; then a 460,800-combination grid is run on a 19-year out-of-sample window (2004–2022), with 1-minute Mode C bars validated as a reliable 1-second rider proxy.

Findings

Why it matters

The STRONG_GO was a textbook post-selection-inference artifact — the cost of using the entire sample for parameter, filter, and exit selection with no out-of-sample reserve. The MES “validation” was a vehicle cross-check, not a sample cross-check. The contribution is methodological: a reproducible 1-second engine, the full 460,800-row out-of-sample grid retained for independent recomputation, and a first-person account of the decisions that pre-determined the negative result.

Companion paper

This is the signal/parameter-selection half of a two-part Donchian study. The execution-layer half — Donchian Breakout on SPX 0DTE — A Negative-Result Case Study — measures the option-layer friction (Databento full-population tick validation, Black-Scholes calibration bias) on a 2022–2026 window, and in fact cites this paper for its friction decomposition and disclosure norm. Together they show the strategy has neither a generalizing signal edge nor a survivable execution profile.