SPY · Deep ITM overnight: buy at 16:10, sell or exercise at 09:35 the next trading day

Every session at 16:10 New York (options on SPY trade until 16:15, 15 minutes longer than the fund itself) the page buys the in-the-money SPY option of the nearest expiry after that day (mostly the next session) whose strike + premium (a Put: strike − premium) equals the SPY price within the tolerance, and of those the one whose strike + premium comes closest to the price (or, as chosen, the one nearest the money, with the most leverage). The position holds the after-hours, the night and the pre-market and is closed at 09:35 of the next trading day: sold at the bid, or exercised at the intrinsic value from the SPY price then. The loss cannot exceed the premium paid. The budget is about $10,000 a night: the number of contracts whose cost comes nearest to it, even when that is a little more. Every setting below is recalculated in the browser from frozen quotes.

Frozen NBBO quotes: purchases 03 Jan 2023 — 29 Dec 2023, sales through 02 Jan 2024, nights: 248 (not traded: shortened sessions 2) · 10,517 option quotes at the purchase · New York time · built 30 Sep 2026.

Best variants by side

Every exit, strike rule, tolerance and formula price

lossprofit· click a cell to select that variant

Cumulative result

Starts from zero on the first night of the period; nights without an entry leave it unchanged. It sums trade P&L and is not an account balance. Each point is dated by the purchase day. Hover, or focus the chart and use the arrow keys; a click opens the night in the table.

Every night

How it is calculated
  • Data. For every night the page keeps the NBBO at the purchase minute (16:10:00) of every listed in-the-money Call and Put of the nearest expiry after the purchase day, from the money to 5% deep from the SPY price then, and, for the contracts some setting can buy, the NBBO at 09:35:00 of the next trading day: the last quote at or before that moment, the morning one posted after the 09:30 open (Massive, the /v3/quotes history). Quotes the project already had were not requested again: those of the strikes /backtests/deep-itm-overnight keeps (the same instants, a sparser grid of strikes) and the 09:35 quotes of the same-day mode of this page. The SPY price at a minute is its last trade before that minute, from the project’s minute archive. The vendor has option quotes from 7 March 2022. Shortened sessions are left out: the options close earlier. Deep ITM overnight tests the same night with other purchase and sale minutes, that sparser grid of strikes and $1,000 a day.
  • Expiry. The nearest one after the purchase day, so the option lives through the night. Options on SPY expire every session since late 2022; before that on Mondays, Wednesdays and Fridays, so on some nights the expiry is a day later than the next session.
  • Formula and pick. Overpay = strike + premium − price for a Call and premium − (strike − price) for a Put, as a percentage of the SPY price at the purchase minute; the premium is the ask (what buying costs) or the middle of the quote, as chosen. The in-the-money options whose overpay is within ±tolerance fit. By default the page takes the one whose overpay is smallest (overpays within 0.01% of the price count as equal, and the one nearest the money wins); with “the most leverage” it takes the one nearest the money, even when its overpay is at the edge of the tolerance. When none fits, the night is skipped or, as chosen, the option with the smallest overpay is taken.
  • Leverage = the SPY price at the purchase ÷ the option’s ask: how many dollars of shares one dollar of premium moves like. The table shows it for every night together with the value of the shares the contracts stand for (100 per contract).
  • Purchase. At the ask of the NBBO standing at 16:10:00. The quote must be valid: the ask above zero and not below the bid, at least one contract on the ask, no older than 60 seconds. The shares stop trading at 16:00, options on SPY at 16:15, so at 16:10 the option still has a market and the price is the after-hours one.
  • Sale at 09:35. At the bid of the NBBO standing at 09:35:00 of the next trading day, posted after the 09:30 open, when it covers the fee. At the open the bid of a deep in-the-money option is often below its intrinsic value: the field “If the bid is below intrinsic value” either sells at the bid anyway (the default) or exercises the option (they are American) at intrinsic value from the SPY price at 09:35. Contracts not sold at the bid are exercised at intrinsic value when it covers the fee; otherwise they count as $0 without a fee. When the vendor has no quote of the option posted after the open, the night has no result and is left out of the totals.
  • Exercise at 09:35. The other exit: every option is exercised at 09:35 at the intrinsic value from the SPY price then, whatever the bid; the shares delivered at the strike are taken as sold (a Put: bought back) at that price, without the shares’ spread or fees. An option that expires later than that day gives up its remaining time value this way. An option out of the money at 09:35 counts as $0.
  • Budget is split equally between the chosen legs: with Call + Put, half the budget per leg; both legs are needed, a night without either is skipped. Contracts per leg: the whole number whose cost (ask × 100 + fee each) comes nearest to the leg budget, above or below it; with displayed sizes respected, no more than the ask size. A night where even one contract costs more than twice the leg budget is skipped. The page opens with $10,000 a night and also shows the return on capital: the budget plus the largest drawdown.
  • Fees are charged for every contract bought and sold (or exercised); $0.65 by default.
  • The same in shares. For comparison: as many shares as the options cover (100 per contract; for a Put, sold short), bought at the purchase price and sold at the 09:35 price, without fees or spread.
  • Best variant. The page opens on the best variant of the whole year at $10,000 a night, a $0.65 fee, displayed sizes ignored, the strike closest to the formula and nights without a fitting strike skipped: among the variants (side × exit × formula price × tolerance and, for the sale at the bid, selling or exercising when the bid is below intrinsic value) that trade on at least half of the nights, the one with the largest total without its three best nights; ties go to the larger total. It is picked on the same nights its result comes from, so that result is overstated.
  • Limits. Quotes do not prove fills; latency, queue position and slippage are not modeled, and at the open spreads are wider than during the day, for deep in-the-money options especially. Options do not trade at night, so nothing can be done about a gap against the position.
  • Reproduction. The nights are collected by python -B scripts/collect_deep_itm_0dte.py --night --symbols SPY and the page snapshot is built from them without new requests by python -B scripts/build_deep_itm_0dte_page.py --night --symbols SPY --years 2023. The browser prices every setting with public/static/deep-itm-0dte-model.js; money is counted in hundredths of a cent.