What are 0DTE options, and why do traders use them?

0DTE options expire the day they trade. Traders use them for small premiums and fast gamma, and all extrinsic value is gone by the close.

A 0DTE option is an option with zero days to expiration: it expires on the same day it trades. Traders use them because the premium per contract is small next to the value of the index or stock behind it, because gamma is at its fastest as expiration nears, and because Cboe's SPX options page lists daily expirations for S&P 500 index options.1 The cost of that speed is time: on the last day, theta and gamma are at their extreme, and any extrinsic value left in the option is gone by the close.

This post works through three real 0DTE prints from the morning of 2026-10-21 and shows the arithmetic.

What 0DTE means and who lists the contracts

Every option has an expiration date. "Days to expiration" counts down to it, and on the expiration day itself the count is zero. That is all 0DTE means. In the prints below, every contract has an expiry date of 2026-10-21, the same date it traded.

On the S&P 500 index, same-day contracts trade through SPX options. Cboe's SPX options page says traders can "Choose from A.M or P.M, standard, weekly, and daily expirations". The same page says the positions are "Cash-Settled" and "settle directly to cash at expiration without the need to deliver or receive unwanted shares", and that they have "European Exercise", meaning they "can only be exercised at expiration".1 Cboe lists the SPXW root as its S&P 500 Weeklys series.

One option contract here covers 100 units, so the premium per contract is the quoted price times 100.

The worked example: three prints from one three-minute window

As of 2026-10-21, CaymanBot's public trades feed (data delayed) shows these three same-day prints. They come from a three-minute window, 10:13:09 to 10:16:04 ET, and they are a sample from that window only.2

ItemSPXW 7715 putSPXW 7710 putMU 905 call
Expiry2026-10-212026-10-212026-10-21
Time (ET)10:13:4910:13:4910:15:07
Price13.9511.856.90
Contracts100100249
Total premium$139,500$118,500$171,810
Underlying on the print7712.307712.30$905.575
IV estimate (CaymanBot, annualized)16.0%16.5%70.5%
Side tagTagged BTO (a lean)Tagged STO (a lean)Tagged BTO (a lean)

The two SPXW puts printed in the same second, and CaymanBot's classifier grouped them as a two-leg vertical spread. The 7715 put was tagged bought to open (a lean, not proof), and the 7710 put was tagged sold to open (a lean, not proof). Nothing in the data shows who the buyer or seller was. The MU call is a stock option that also expired on 2026-10-21, the day of the print, tagged a sweep: 3 fills across 2 venues in 10 ms. The IV figures are CaymanBot's own per-print estimates, and they are not exchange figures.

The total premium for each print is price times 100 times the number of contracts:

7715 put=13.95×100×100=139,500\text{7715 put} = 13.95 \times 100 \times 100 = 139{,}500
7710 put=11.85×100×100=118,500\text{7710 put} = 11.85 \times 100 \times 100 = 118{,}500
MU call=6.90×249×100=171,810\text{MU call} = 6.90 \times 249 \times 100 = 171{,}810

The two SPXW strikes are 7715 − 7710 = 5 points apart, and the difference between the two prices is:

difference=13.95−11.85=2.10\text{difference} = 13.95 - 11.85 = 2.10

Reason 1: a small premium next to the index

One SPXW 7715 put cost this much in dollars:

premium per contract=price×100=13.95×100=1,395\text{premium per contract} = \text{price} \times 100 = 13.95 \times 100 = 1{,}395

The index itself stood at 7712.30 on the print. As a share of the index level, the price per unit was:

premium share=priceindex level=13.957712.30=0.18%\text{premium share} = \frac{\text{price}}{\text{index level}} = \frac{13.95}{7712.30} = 0.18\%

So one contract's premium of $1,395 sits against an index level of 7712.30 × 100 = 771,230 index dollars.

Reason 2: gamma at its fastest

Gamma measures how fast an option's delta changes when the underlying moves. Near expiration, and most of all for strikes close to the current price, gamma is at its fastest: a small move in the index can swing an option from in the money to out of the money and back. Both SPXW puts here sit within a few points of 7712.30, which is the zone where that happens. Our post on delta, gamma, theta and vega walks through each Greek on one contract.

The risk: what theta has left to take by the close

Theta is the value an option loses as time passes. On the last day, every minute is a large share of the time left. A clean way to see it is to split the price into intrinsic and extrinsic value. Intrinsic value is what the option would be worth if it expired at that moment. Extrinsic value is the rest, and at expiration it is worth zero.

The SPXW 7715 put

A put is in the money when the index is below the strike. On the print:

intrinsic=strike−index level=7715−7712.30=2.70\text{intrinsic} = \text{strike} - \text{index level} = 7715 - 7712.30 = 2.70
extrinsic=price−intrinsic=13.95−2.70=11.25\text{extrinsic} = \text{price} - \text{intrinsic} = 13.95 - 2.70 = 11.25
extrinsic per contract=11.25×100=1,125\text{extrinsic per contract} = 11.25 \times 100 = 1{,}125

So $1,125 of the $1,395 per contract was extrinsic, the part that is worth zero at the 2026-10-21 close whatever happens. The 7715 put's break-even at expiration, as arithmetic on this one print:

break-even=strike−premium=7715−13.95=7701.05\text{break-even} = \text{strike} - \text{premium} = 7715 - 13.95 = 7701.05
move needed=1−break-evenindex level=1−7701.057712.30=0.15%\text{move needed} = 1 - \frac{\text{break-even}}{\text{index level}} = 1 - \frac{7701.05}{7712.30} = 0.15\%

That is a 0.15% fall in the index from the print by the close.

The SPXW 7710 put

This put is out of the money, because the index at 7712.30 was above the 7710 strike. It has no intrinsic value, so all 11.85 of its price is extrinsic. If the index is still above 7710 at the close, the option expires worthless. That is the mechanism behind the phrase "0DTE options expire worthless": an option still out of the money at the close is worth nothing. Our post on why a call can expire worthless after a 7% rise shows the same mechanism over a longer expiry.

The MU 905 call

A call is in the money when the stock is above the strike:

intrinsic=stock price−strike=905.575−905=0.575\text{intrinsic} = \text{stock price} - \text{strike} = 905.575 - 905 = 0.575
extrinsic=price−intrinsic=6.90−0.575=6.325\text{extrinsic} = \text{price} - \text{intrinsic} = 6.90 - 0.575 = 6.325
extrinsic per contract=6.325×100=632.50\text{extrinsic per contract} = 6.325 \times 100 = 632.50

About $632.50 of the $690 per contract was extrinsic. The break-even at expiration on this print:

break-even=strike+premium=905+6.90=911.90\text{break-even} = \text{strike} + \text{premium} = 905 + 6.90 = 911.90
move needed=break-evenstock price−1=911.90905.575−1=0.70%\text{move needed} = \frac{\text{break-even}}{\text{stock price}} - 1 = \frac{911.90}{905.575} - 1 = 0.70\%

That is a 0.70% rise in MU from the print by the close. Each split is a snapshot that holds only at the print.

How common were 0DTE prints in that window?

Of the 768 prints read for the 10:13:09 to 10:16:04 ET window, after removing repeated identical rows, 84 expired the same day:

0DTE share=0DTE printsprints read=84768=10.9%\text{0DTE share} = \frac{\text{0DTE prints}}{\text{prints read}} = \frac{84}{768} = 10.9\%

That share covers one three-minute window of the public feed, which is what CaymanBot's feed carries, and it is not a market-wide count for the day. Our 0DTE options flow page shows same-day-expiry flow from the delayed feed.

How options traders read 0DTE prints

In general educational terms, a few habits help when reading a same-day print:

  • Check the expiry first. A 0DTE contract has hours of life left, and its price reflects that.
  • Split the price into intrinsic and extrinsic value. The extrinsic part is what time decay has left to take by the close.
  • Read side tags as leans. A spread grouping or a BTO tag is a classifier's call, and nothing in the data names the buyer or seller.
  • Our post on why an option loses value when the stock does not move covers theta over a longer stretch.

How to practice this

Open a free CaymanBot account, filter the feed for contracts that expire today, and redo the intrinsic and extrinsic split by hand on a few prints. In the first two Learning Mode stages, each trade on the feed comes with a plain-English sentence you can check against the strike, expiry and premium. You can follow a same-day contract in the $100K paper account until the close, with no real money at stake, and see what is left of its price at expiration. A free account shows options data delayed 16 minutes (60 minutes without an account). New accounts start with a 14-day Premium trial.

Educational only, not investment advice.

Notes

  1. Cboe, "SPX Options" (read 2026-10-21). https://www.cboe.com/tradable-products/sp-500/spx-options ↩︎ ↩︎

  2. CaymanBot public trades feed, data delayed, SPXW and MU 2026-10-21 10:13:09 to 10:16:04 ET (read 2026-10-21 11:16 ET). https://app.caymanbot.com/api/v1/trades ↩︎

  3. Options data from OPRA, delayed at least 60 minutes.

Frequently asked questions

What does 0DTE mean?

0DTE means zero days to expiration. A 0DTE option expires on the same day it trades, so it is bought or sold on its expiration day.

Why do traders use 0DTE options?

The premium per contract is small next to the value of the index or stock behind it, gamma is at its fastest as expiration nears, and Cboe's SPX options page lists daily expirations for S&P 500 index options.

What happens to a 0DTE option at the close?

All of its extrinsic value is gone at expiration. An option that is still out of the money at the close expires worthless, and one that is in the money is worth only its intrinsic value.

How are SPX 0DTE options settled?

Cboe's SPX options page says the positions are cash-settled, settling directly to cash at expiration without delivering or receiving shares, and that they have European exercise, so they can only be exercised at expiration.

Put the research in one place

Start free. Free account: options data delayed 16 minutes. No account: 60 minutes. Premium adds alerts and Strategy Lab, and real-time options data for users who complete the OPRA non-professional attestation.

Start free