Strike Selection for 0DTE Options
Specific guidance for configuring strike selection in same-day expiration strategies on RelayDesk.
Same-day expiration trading amplifies everything — potential gains, potential losses, and the impact of execution precision. A strike selection configuration that works acceptably on weekly contracts can fail completely on 0DTE, where liquidity windows are narrow, spreads widen through the session, and the underlying can move through multiple strikes in a single candle.
This guide covers 0DTE-specific considerations for configuring strike selection in RelayDesk, building on the general Strike Selection Reference Guide.
How 0DTE Chains Differ From Standard Contracts
Understanding what makes 0DTE options structurally different shapes every configuration decision.
Time value collapses to near zero. By definition, 0DTE options have no time left to expiration. Their pricing is almost entirely intrinsic value plus a very thin extrinsic premium driven by implied volatility. This makes deep OTM strikes essentially worthless — and illiquid.
Liquidity concentrates at and near ATM. Market makers provide tighter markets at strikes closest to the current underlying price. As the day progresses and the underlying moves, liquidity migrates with it. Strikes that were well-bid at open may have no market by afternoon.
Gamma exposure is at its highest. Near-expiration options move dramatically with small underlying price changes. A 0.25% move in the underlying can push an ATM option deep ITM or far OTM within minutes. This is the appeal of 0DTE scalping — and the risk.
Available chains depend on the underlying. Major index ETFs like SPY, QQQ, and IWM offer 0DTE contracts every trading day. Individual equities typically only have 0DTE contracts on their standard expiration days (usually monthly or weekly). Confirm your target instrument has same-day contracts available in its option chain before configuring a 0DTE bot.
ATM Drift: The Core 0DTE Execution Challenge
The most important concept for 0DTE automation is ATM drift — the distance between where the underlying was when your TradingView alert fired and where it is when RelayDesk processes the execution.
In standard weekly or monthly options, this drift rarely matters. A 2-second delay on a contract expiring in 14 days is negligible. On a 0DTE contract with $1-wide strikes, a 2-second delay during a momentum move can shift the ATM resolution by one or more strikes — changing your effective exposure significantly.
RelayDesk always resolves ATM at execution time, which is the correct behavior. But your strategy design needs to account for the fact that the strike you get may not be the strike that was ATM when your signal fired.
How to manage ATM drift in your strategy:
Use strikeOffset: 0 (ATM) for 0DTE scalps rather than targeting specific OTM offsets. ATM strikes maintain consistent delta exposure even as the underlying moves, and they're the most liquid regardless of where price is.
Avoid relying on precise OTM targeting for entries on 0DTE. A strikeOffset: 2 setup assumes the underlying stays in a specific range — in active 0DTE sessions, that assumption breaks down frequently.
Recommended Strike Configurations by 0DTE Use Case
Momentum Scalp — Long Delta
For bullish momentum entries on 0DTE, ATM calls provide the highest delta sensitivity and best liquidity. One strike OTM is acceptable during high-liquidity windows (first 2 hours of regular session) but should be avoided in the final 90 minutes.
{
"optionType": "call",
"strikeOffset": 0,
"expiry": "0DTE"
}Use strikeOffset: 1 (1 OTM) only if your strategy specifically requires lower premium outlay and you've confirmed adequate liquidity at that strike during your target trading window.
Momentum Scalp — Short Delta
For bearish momentum entries, the same logic applies to puts. ATM puts on 0DTE have the highest delta and tightest markets.
{
"optionType": "put",
"strikeOffset": 0,
"expiry": "0DTE"
}Reminder: On puts, strikeOffset: 1 means 1 strike below the underlying price (OTM). See the Strike Selection Reference Guide for the full offset/moneyness table.Range-Bound / Mean Reversion
If your strategy sells premium or plays a range, ITM strikes (strikeOffset: -1 or -2) give you higher delta and more intrinsic value cushion. These are less sensitive to ATM drift because they're already in the money — a small move in the underlying changes their price less dramatically than ATM or OTM strikes.
{
"optionType": "call",
"strikeOffset": -1,
"expiry": "0DTE"
}Liquidity Windows for 0DTE Execution
Not all hours of the trading day are equal for 0DTE execution. Strike selection that works in the morning may fail in the afternoon due to liquidity deterioration.
9:30 AM – 11:30 AM ET (Opening Window) Highest liquidity, tightest spreads, most active market making. This is the best window for automated 0DTE execution. ATM and 1 OTM strikes are well-supported.
11:30 AM – 2:00 PM ET (Midday Lull) Liquidity typically thins during this window. Bid/ask spreads widen on OTM strikes. Stick to ATM (strikeOffset: 0) if your strategy operates during this period.
2:00 PM – 3:30 PM ET (Afternoon Window) Liquidity often recovers as institutional participants rebalance for the end of the day. ATM strikes are well-supported again, but deep OTM options become illiquid as expiration approaches.
3:30 PM – 4:00 PM ET (Final 30 Minutes) Spreads widen significantly across the chain as market makers reduce inventory risk. OTM strikes should be avoided entirely. If your strategy has exits that might execute in this window, use ATM or ITM strikes and consider whether automated execution in the final 30 minutes is appropriate for your risk tolerance.
Practical configuration: If your strategy is time-constrained, configure your bot with a trading hours restriction that prevents entries in the final 60-90 minutes. Protect your fills — don't fight the liquidity clock.
Validating 0DTE Strike Selection in Paper Mode
Before running any 0DTE configuration live, validate it in paper mode across at least 5–10 sessions. Specifically, verify:
Strike resolution matches intent. Open Signal History after each paper session and check the "Strike" column in the Trade Log. Confirm the strikes being selected are the ones you configured — and note any sessions where ATM drift moved you to an unexpected strike.
Fill quality is acceptable. Paper mode simulates fills at midpoint. Real fills on 0DTE options execute at or near the ask. Factor this into your P&L expectations — a strategy that's marginally profitable at midpoint fill may not survive real-world spread costs.
Exit timing works. 0DTE positions that don't exit before expiration create assignment risk. Confirm your exit signals fire reliably and that OCO stops are triggering correctly during your paper sessions.
Common 0DTE Configuration Mistakes
Using high OTM offsets (`strikeOffset: 3+`) Deep OTM 0DTE options frequently have no tradeable market. Orders may sit unfilled or execute at heavily unfavorable prices. Limit offsets to 0 or ±1 for most 0DTE setups.
Not accounting for session time in strategy design A strategy backtested across all hours may have its edge concentrated in the opening window. If your automation runs all day, you may be taking trades in low-liquidity periods where the edge doesn't hold. Use time-of-day filters.
Assuming consistent strike width across underlyings SPY strikes are $1 wide. Some instruments have $2.50 or $5 strikes. An strikeOffset: 1 that moves you $1 OTM on SPY moves you $5 OTM on a wide-strike instrument. Always verify strike widths when configuring bots on new underlyings.
Ignoring the put offset direction This is the most common mistake across all option automation, not just 0DTE: positive strikeOffset on puts moves to a lower strike price. If you're building a put scalp and expect strikeOffset: 1 to select a strike above the underlying, you're moving OTM — not ITM.
Related Articles
Was this article helpful?