← All posts
·Option Omega0DTEBacktestingIron CondorSPX

How to Backtest a 0DTE Iron Condor on SPX

A step-by-step walkthrough for backtesting a zero-day iron condor on SPX using real 1-minute data — from picking strikes by delta to setting intra-minute stops and reading the results.

A 0DTE trade replayed minute-by-minute against the underlying and VIX

Zero-day-to-expiration (0DTE) iron condors on SPX have become one of the most popular trades in retail options. The pitch is seductive: define your risk, collect premium, and be flat by the close. But “popular” and “profitable for you” are not the same thing — and the only honest way to find out which strikes, times, and stops actually hold up is to test them against real history.

This guide walks through backtesting a 0DTE SPX iron condor in Option Omega, end to end. By the end you’ll have a repeatable process you can use to pressure-test any short-premium idea before it ever touches your account.

Why 0DTE needs real data. On expiration day, an iron condor’s P&L can swing from comfortable to catastrophic in minutes. Daily-close data hides all of that. Option Omega tests on actual recorded 1-minute market bid/ask going back to 2013 — and for SPX/SPY 0DTE it can check stops on per-second mid prices. That resolution is the difference between a backtest you can trust and a comforting fiction.

What you’ll need

  • An Option Omega plan with backtesting (or a free trial)
  • About ten minutes
  • A hypothesis worth testing — for this walkthrough: “A delta-10 SPX iron condor entered mid-morning, with a 25% profit target and a 2x stop, is worth trading.”

Step 1 — Pick SPX and set it to 0DTE

Create a new backtest and choose SPX as your underlying. SPX is cash-settled, has no early-assignment risk, and gets favorable 1256 tax treatment — which is why it’s the workhorse for this trade.

Set your DTE to 0. In Option Omega, DTE is based on the calendar, so an entry that requires 0 DTE will only fire on days SPX actually has a same-day expiration. (Heads up: SPX backtests use the standard PM-settled contracts, not the AM-settled morning expiries.)

Building the strategy in the Option Omega backtester

Step 2 — Build the iron condor

An iron condor is four legs: a short put spread below the market and a short call spread above it. Add them with the Add Leg tool, or start from the built-in Iron Condor template and adjust.

The cleanest way to keep the structure symmetric across thousands of test days is to select your short strikes by delta and your long strikes by a width offset:

  • Short put: −0.10 delta
  • Long put: 25 points below the short put
  • Short call: +0.10 delta
  • Long call: 25 points above the short call

Selecting by delta (instead of a fixed strike) means the test adapts to volatility — your condor sits roughly the same distance out of the money whether the VIX is 12 or 40. That’s exactly how you’d trade it live.

Step 3 — Set your entry rules

This is where a backtest earns its keep. A few filters worth testing:

  • Entry time. Set a single entry at, say, 10:00 AM ET. The open is noisy; many 0DTE traders wait for the initial range to establish. Try a few times and compare — you can add up to 20 additional intraday entry times to a single test, which is how you backtest a multiple entry iron condor (MEIC).
  • VIX gate. Add a minimum and/or maximum VIX condition. A condor that prints money in a sleepy tape can hand it all back in a spike, and gating on VIX lets you see that trade-off instead of guessing at it.
  • Premium floor. Require a minimum credit so you’re not selling a condor for pennies on an ultra-quiet day.

Step 4 — Define your exits

Exits matter more than entries on 0DTE. Configure:

  • Profit target: 25% of the credit received.
  • Stop loss: 2x the credit (a “2x stop”). You can express stops as a percentage, a dollar amount, or a closing order.
  • Intra-minute stop loss (IMSL): turn this on. For SPX/SPY 0DTE, IMSL evaluates your stop on per-second mid prices instead of once a minute — far closer to how a real stop behaves on a fast-moving expiration day.
  • Time exit: close any survivors at 3:50 PM ET so nothing rides into settlement.

Step 5 — Run it and see how it behaved

Add slippage and commissions under the miscellaneous settings — even a small amount, because 0DTE condors trade four legs in and (sometimes) four legs out, and the costs add up. Then run the test. Years of 1-minute data crunch in seconds.

On the results screen, look past the headline P/L to the metrics that actually describe the strategy:

  • CAGR and Max Drawdown — and the MAR ratio (CAGR ÷ MDD) that ties them together.
  • Sharpe and Sortino for risk-adjusted return.
  • Win rate and capture rate — short-premium strategies often win frequently but bleed on the losers, so check the average winner against the average loser, not just the win percentage.
  • The annual breakdown — did the edge exist every year, or is one outlier carrying the whole curve?

Backtest metrics and trade log

Then open Trade Replay and scrub a few of the worst losing days minute-by-minute, with the underlying and VIX overlaid. This is the single most valuable habit in backtesting: you’ll see exactly how a trade went wrong, and whether your stop behaved the way you assumed.

Iterate without fooling yourself

Now change one variable at a time — the entry time, the delta, the stop multiple — and re-run. A few principles to keep you honest:

  1. Change one thing at a time. If you tweak five settings at once, you won’t know which one mattered.
  2. Beware the curve-fit. If a strategy only works at exactly −0.09 delta and falls apart at −0.10, you’ve fit noise, not signal.
  3. Respect the ugly days. When results look bizarre around dates like the 2018 Volmageddon or the 2020 crash, that’s usually real — spreads genuinely blew out. Don’t blacklist your way to a pretty equity curve.
  4. Test out-of-sample. Find your settings on one stretch of history, then confirm them on a stretch you didn’t optimize over.

From backtest to live trade

Once a configuration survives all of that, you don’t have to rebuild it by hand. In Option Omega you can turn a backtest into a live, automated strategy in a click — and because automation runs on the same engine as the backtester, the behavior carries over to Tastytrade, Tradier, Schwab, or TradeStation.

That’s the whole loop: model the idea, backtest it against reality, automate the version that survives. Ready to run your first one?

Put this into practice

Build your first strategy and run it against more than a decade of real market data — free trial available.