Nasdaq vs Corn Futures Volatility Regime Analysis

Is Buying Corn Futures Safe When Stocks Crash? Statistical Hedging Timing Analysis

⚠ Correction (2026-06-11): An earlier version of this post claimed a 5-business-day lagged negative volatility transmission from the Nasdaq-100 to Corn futures (r = −0.6355), supported by a GARCH(1,1) table and an N = 11,149 sample. A full re-verification could not reproduce any of it with real data: across 6,467 trading days (2000–2026) the volatility cross-correlation is flat at +0.07 to +0.09 at every lag, and the original table’s GARCH column traces to a pipeline error — a pure exponential decay, not a GARCH output. The text below reflects the corrected, measured figures. The full forensic walkthrough is in the self-audit post. ...

May 25, 2026 · 8 min · Steve
The Backtest Autopsy

The Backtest Autopsy #6: Why the Corpse on the Table IS Our Own Post

💡 TL;DR — The Self-Audit Verdict (BLUF) The headline claim does not reproduce: across 6,467 trading days (2000–2026), the NDX–ZC volatility cross-correlation is flat at +0.07 to +0.09 at every lag from −10 to +10. The original post’s 5-day-lag negative correlation (printed as −0.6355) could not be reproduced with real data. The “GARCH” column was not GARCH: the original table’s conditional-volatility columns are pure exponential decay — log-linear R² = 0.99987 (NDX) and 0.99849 (ZC) — with zero shock response. A pipeline error, now documented and corrected. The window was a lottery: 12.3% of all 17-day windows in the full sample reach a correlation ≤ −0.6355 by chance alone. A 17-day correlation carries no evidential weight. Verdict: C1 refuted, C2 partially confirmed, C3 refuted. The original post is corrected; this audit is the public record. Seventeen days ago we published a hedging study claiming that Nasdaq-100 volatility shocks transmit to corn futures with a 5-business-day lag and a correlation of −0.6355. Seventeen is a fitting number, because seventeen rows of data is exactly what that claim stood on. A reader suggested we re-check the relationship with a proper DCC-GARCH model instead of a static correlation table — so we did, against 6,467 trading days of real NDX and ZC data spanning 2000–2026. ...

June 11, 2026 · 18 min · Steve
7 Ways Your Backtest Is Lying to You — Measured, Not Guessed

7 Ways Your Backtest Is Lying to You (Measured, Not Guessed)

💡 TL;DR — 7 Structural Failure Modes, Each Measured (BLUF) Look-Ahead Bias: A tight ATR trailing stop can produce a 93.3% win rate in backtest. That win rate is a mathematical artifact of the stop being set after the move it was supposed to protect against. Intrabar Ambiguity: When both stop-loss and take-profit fall inside one candle, the candle contains no information about which fired first. rollbrains measured this on 1,820 BTC trades: the real answer was a coin flip. Slippage: In a rollbrains altcoin grid test, ignoring dynamic slippage drove win rate from 48.2% to 31.5% — and flipped net expectancy negative. Entry Price: Two reasonable entry placements, same logic, same exits. One returned +0.875R per trade. The other returned +0.046R. A 19x gap from one decision. Survivorship Bias: Crypto funding rates are charged on notional, not margin. A 3-day hold with a 0.5% stop loses ~18% of 1R to funding alone — before any trade result. Regime Change: A strategy optimized for one volatility regime doesn’t travel. The Nasdaq-Corn study’s “5-day lag, r = −0.6355” claim could not be reproduced in a 6,467-trading-day DCC-GARCH re-validation and has been corrected — it came from a 17-day sample, and the correction itself is now this series’ measured example. Correlation ≠ Direction: An FX reversion model reverted 98.01% of the time. The individual trade win rate was 47.47%. These two numbers measure different things. Most guides on backtesting mistakes are lists of things to worry about. This one is different: every failure mode described here was measured in a rollbrains experiment, with real data, and the result disagreed with what a naive backtest would have shown. ...

June 8, 2026 · 14 min · Steve