When Do Options Expire? Friday 4 PM ET & Daily
The rest of 2026, measured: each month's busiest forward expiration date, July 6-9 tapeseries ·
2026-08-10 · 6×5
June 2026 SPY options volume by days-to-expiry at the time of the tradeseries ·
2026-08-10 · 4×3
Options volume by expiration weekday: all US options traded June 1 - July 9, 2026series ·
2026-08-10 · 5×5
The daily-expiration club: every root with an expiry on all 21 June 2026 sessionsranking ·
2026-08-10 · 11×3
SIP Feeds vs Direct Exchange Feeds
Which venues sat on the bid side of the quote record, KO on June 16, 2026ranking ·
2026-08-09 · 17×3
Quote update traffic across five household tickers, 10:00 to 11:00 a.m. ET on June 16, 2026table ·
2026-08-09 · 5×5
US equity exchanges that feed the consolidated tapetable ·
2026-08-09 · 18×4
Venue clock to consolidated tape clock, KO quotes on June 16, 2026series ·
2026-08-09 · 15×4
Maker-Taker Fees and Rebates Explained
Where one liquid name's shares printed, by venue (Jul 15, 2026)ranking ·
2026-08-09 · 12×3
Registered US stock exchanges and their participant codestable ·
2026-08-09 · 18×5
One hour of NBBO spreads, measured in mils (Jul 15, 2026)ranking ·
2026-08-09 · 4×3
A 30 mil per share fee as basis points of notional, by price band (Jul 15, 2026)ranking ·
2026-08-09 · 6×3
Price-Time Priority vs Pro-Rata Fills
Quote updates per second and average quoted spread, ten minutes on 17 June 2026ranking ·
2026-08-08 · 5×3
Average shares per trade print, June 2026ranking ·
2026-08-08 · 8×2
AAPL option prints by contract count, 17 June 2026ranking ·
2026-08-08 · 5×2
AAPL trade prints by share count, 17 June 2026ranking ·
2026-08-08 · 5×2
Iceberg Orders Explained: Hidden Liquidity
Most repeated price and size pairings, AAPL, June 17, 2026table ·
2026-08-06 · 12×5
Every AAPL print on June 17, 2026, grouped by trade sizeranking ·
2026-08-06 · 6×4
Average shares per print, monthly, MSFT and KOseries ·
2026-08-06 · 90×4
The busiest price and size pairing, half hour by half hourscalar ·
2026-08-06 · 1×367
Market Recap: July 30, 2026, The Day in Numbers
Session verification: first/last SPY bar ET, regular-bar count, holiday receipts, next closurescalar ·
2026-08-02 · 1×7390
Seven names: RTH median quoted spread in basis points, with quote-quality counts, July 30table ·
2026-08-02 · 7×5
July 31 and August 3 on the calendar: closures, ex-dividends, splits, the Friday expiry, and the short-interest lagscalar ·
2026-08-02 · 1×60
Ex-dividends, splits, listings, news, and the July 30 SEC filing mixscalar ·
2026-08-02 · 1×14200
Treasury curve prints on file, July 27 through July 30series ·
2026-08-02 · 4×5
SPY's median spread ranked against every July session, tightest firstscalar ·
2026-08-02 · 1×40.27
Stocks NBBO update count: July 30 vs July 29, with named-ticker updates (millions)scalar ·
2026-08-02 · 1×6560.75
Options NBBO tape: total updates vs the stock tape, plus the SPY root slice, July 30scalar ·
2026-08-02 · 1×310.32
Top 6 by dollars traded, top 4 by shares traded: July 30 regular hourstable ·
2026-08-01 · 10×5
SPY day move in trailing context (open-to-close, June 30 through July 30)scalar ·
2026-08-01 · 1×40.77
Sector ETFs, July 30 close vs July 29 close, rankedranking ·
2026-08-01 · 11×3
SPY / QQQ / DIA / IWM: July 30 vs the July 29 close, regular hourstable ·
2026-08-01 · 4×10
Options tape: contracts, call share, same-day share vs Wednesday, busiest SPY contractscalar ·
2026-08-01 · 1×1210.93
Eight mega-caps: change vs July 29 and regular-hours dollars, July 30table ·
2026-08-01 · 8×5
Biggest gainers and decliners: July 30 close vs July 29 close, $5M+ traded, splits excludedranking ·
2026-08-01 · 16×4
Liquid-tape breadth: July 30 close vs July 29 close, $1M-traded filterscalar ·
2026-08-01 · 1×63,782
Market Recap: July 29, 2026, The Day in Numbers
Top 6 by dollars traded, top 4 by shares traded: July 29 regular hourstable ·
2026-08-01 · 10×5
Session verification: first/last SPY bar ET, regular-bar count, holiday receipts, next closurescalar ·
2026-08-01 · 1×7390
Seven names: RTH median quoted spread in basis points, with quote-quality counts, July 29table ·
2026-08-01 · 7×5
July 30 and 31 on the calendar: closures, ex-dividends, splits, the Friday expiry, and the short-interest lagscalar ·
2026-08-01 · 1×60
Ex-dividends, splits, listings, news, and the July 29 SEC filing mixscalar ·
2026-08-01 · 1×1485
Treasury curve prints on file, July 24 through July 29series ·
2026-08-01 · 4×5
SPY day move in trailing context (open-to-close, June 29 through July 29)scalar ·
2026-08-01 · 1×4-1.41
SPY's median spread ranked against every July session, tightest firstscalar ·
2026-08-01 · 1×40.27
Sector ETFs, July 29 close vs July 28 close, rankedranking ·
2026-08-01 · 11×3
SPY / QQQ / DIA / IWM: July 29 vs the July 28 close, regular hourstable ·
2026-08-01 · 4×10
Stocks NBBO update count: July 29 vs July 28, with named-ticker updates (millions)scalar ·
2026-08-01 · 1×6722.65
Options NBBO tape: total updates vs the stock tape, plus the SPY root slice, July 29scalar ·
2026-08-01 · 1×313.55
Options tape: contracts, call share, same-day share vs Tuesday, busiest SPY contractscalar ·
2026-08-01 · 1×1211.03
Eight mega-caps: change vs July 28 and regular-hours dollars, July 29table ·
2026-08-01 · 8×5
Biggest gainers and decliners: July 29 close vs July 28 close, $5M+ traded, splits excludedranking ·
2026-08-01 · 16×4
Liquid-tape breadth: July 29 close vs July 28 close, $1M-traded filterscalar ·
2026-08-01 · 1×61,652
Market Recap: July 28, 2026, The Day in Numbers
Top 6 by dollars traded, top 4 by shares traded: July 28 regular hourstable ·
2026-08-01 · 10×5
Session verification: first/last SPY bar ET, regular-bar count, holiday receipts, next closurescalar ·
2026-08-01 · 1×7390
Seven names: RTH median quoted spread in basis points, with quote-quality counts, July 28table ·
2026-08-01 · 7×5
July 29 through 31 on the calendar: closures, ex-dividends, splits, the Friday expiry, and the short-interest lagscalar ·
2026-08-01 · 1×60
Ex-dividends, splits, listings, news, and the July 28 SEC filing mixscalar ·
2026-08-01 · 1×14147
Treasury curve prints on file, July 23 through July 28series ·
2026-08-01 · 4×5
SPY day move in trailing context (open-to-close, June 29 through July 28)scalar ·
2026-08-01 · 1×40.21
SPY's median spread ranked against every July session, tightest firstscalar ·
2026-08-01 · 1×40.27
Sector ETFs, July 28 close vs July 27 close, rankedranking ·
2026-08-01 · 11×3
SPY / QQQ / DIA / IWM: July 28 vs the July 27 close, regular hourstable ·
2026-08-01 · 4×10
Stocks NBBO update count: July 28 vs July 27, with named-ticker updates (millions)scalar ·
2026-08-01 · 1×6536.07
Options NBBO tape: total updates vs the stock tape, plus the SPY root slice, July 28scalar ·
2026-08-01 · 1×310.23
Options tape: contracts, call share, same-day share vs Monday, busiest SPY contractscalar ·
2026-08-01 · 1×1210.07
Eight mega-caps: change vs July 27 and regular-hours dollars, July 28table ·
2026-08-01 · 8×5
Biggest gainers and decliners: July 28 close vs July 27 close, $5M+ traded, splits excludedranking ·
2026-08-01 · 16×4
Liquid-tape breadth: July 28 close vs July 27 close, $1M-traded filterscalar ·
2026-08-01 · 1×63,519
Market Recap: July 27, 2026, The Day in Numbers
Top 6 by dollars traded, top 4 by shares traded: July 27 regular hourstable ·
2026-08-01 · 10×5
Session verification: first/last SPY bar ET, regular-bar count, holiday receipts, next closurescalar ·
2026-08-01 · 1×7390
Seven names: RTH median quoted spread in basis points, with quote-quality counts, July 27table ·
2026-08-01 · 7×5
July 28 through 31 on the calendar: closures, ex-dividends, splits, the Friday expiry, and the short-interest lagscalar ·
2026-08-01 · 1×60
Ex-dividends, splits, listings, news, and the July 27 SEC filing mixscalar ·
2026-08-01 · 1×1491
Treasury curve prints on file, July 22 through July 27series ·
2026-08-01 · 4×5
SPY day move in trailing context (open-to-close, June 26 through July 27)scalar ·
2026-08-01 · 1×4-0.79
SPY's median spread ranked against every July session through the 27th, tightest firstscalar ·
2026-08-01 · 1×40.27
Sector ETFs, July 27 close vs July 24 close, rankedranking ·
2026-08-01 · 11×3
SPY / QQQ / DIA / IWM: July 27 vs the July 24 close, regular hourstable ·
2026-08-01 · 4×10
Stocks NBBO update count: July 27 vs July 24, with named-ticker updates (millions)scalar ·
2026-08-01 · 1×6553.53
Options NBBO tape: total updates vs the stock tape, plus the SPY root slice, July 27scalar ·
2026-08-01 · 1×310.38
Options tape: contracts, call share, same-day share vs Friday, busiest SPY contractscalar ·
2026-08-01 · 1×1211.07
Eight mega-caps: change vs July 24 and regular-hours dollars, July 27table ·
2026-08-01 · 8×5
Biggest gainers and decliners: July 27 close vs July 24 close, $5M+ traded, splits excludedranking ·
2026-08-01 · 16×4
Liquid-tape breadth: July 27 close vs July 24 close, $1M-traded filterscalar ·
2026-08-01 · 1×63,880
Does Dividend Capture Actually Work?
Quarterly dividend as a share of price vs typical daily move: ten large payers, Jul 2023 to Jun 2026ranking ·
2026-08-01 · 10×4
Coca-Cola (KO): overnight decline vs dividend on each ex-dividend date, Sep 2023 to Jun 2026series ·
2026-08-01 · 12×4
Ex-dividend openings sorted by decline as a multiple of the dividend: US quarterly payers, Jan 2024 to Jun 2026ranking ·
2026-08-01 · 5×3
Overnight decline vs dividend paid: ten large payers, 12 ex-dividend dates each, Jul 2023 to Jun 2026table ·
2026-08-01 · 10×5
What Is Max Pain in Options? The Real Math
SPY contracts traded by strike, July 17 2026 expiryranking ·
2026-07-31 · 22×3
Minimising strike vs settlement close: SPY monthly expirations, Feb to Jul 2026table ·
2026-07-31 · 6×5
The six lowest-payout candidate strikes, SPY July 17 2026 expiryranking ·
2026-07-31 · 6×2
Total payout to option holders at each candidate settlement price, SPY July 17 2026table ·
2026-07-31 · 36×2
Why Do Stocks Gap Up or Down Overnight?
Overnight gaps by ticker, H1 2026: average absolute gap and the single biggest gapseries ·
2026-07-26 · 6×5
MSFT straddle prices at the close before the gap: Jan 28, 2026, Jan 30 expirytable ·
2026-07-26 · 4×5
MSFT: how the January 29, 2026 gap formed, 30-minute premarket bucketsseries ·
2026-07-26 · 11×8
SPY, H1 2026: average absolute overnight gap vs average absolute intraday movescalar ·
2026-07-26 · 1×4123
What crossed the wire during SPY's biggest overnight gap of H1 2026table ·
2026-07-26 · 2×3
SPY overnight gaps by weekday: every session, January 2024 through June 2026series ·
2026-07-26 · 5×4
SPY's six biggest overnight gaps of H1 2026: and the same day's open-to-close moveseries ·
2026-07-26 · 6×3
What Is VWAP? Volume-Weighted Average Price
The receipt: VWAP from every individual trade vs. the minute-bar shortcut (AAPL, July 2, 2026)scalar ·
2026-07-26 · 1×5305.9162
Market-wide options volume by session, with monthly expirations labelled
Market-wide options volume by session, with monthly expirations labelled
| session | contracts_m | session_type | monthly_expiry_m | session_id |
|---|---|---|---|---|
| Sep 1 | 63.3 | ordinary | 76.1 | 20260901 |
| Sep 2 | 59.9 | ordinary | 76.1 | 20260902 |
| Sep 3 | 72 | ordinary | 76.1 | 20260903 |
| Sep 4 | 71.2 | ordinary | 76.1 | 20260904 |
| Sep 8 | 61.6 | ordinary | 76.1 | 20260908 |
| Sep 9 | 61.9 | ordinary | 76.1 | 20260909 |
| Sep 10 | 64.3 | ordinary | 76.1 | 20260910 |
| Sep 11 | 68.3 | ordinary | 76.1 | 20260911 |
| Sep 14 | 67.5 | ordinary | 76.1 | 20260914 |
| Sep 15 | 56.6 | ordinary | 76.1 | 20260915 |
| Sep 16 | 65.4 | ordinary | 76.1 | 20260916 |
| Sep 17 | 68.2 | ordinary | 76.1 | 20260917 |
| Sep 18 | 76.1 | monthly expiration | 76.1 | 20260918 |
| Sep 21 | 80.3 | ordinary | 76.1 | 20260921 |
| Sep 22 | 63.6 | ordinary | 76.1 | 20260922 |
| Sep 23 | 69 | ordinary | 76.1 | 20260923 |
| Sep 24 | 67.3 | ordinary | 76.1 | 20260924 |
| Sep 25 | 72.6 | ordinary | 76.1 | 20260925 |
| Sep 28 | 66.6 | ordinary | 76.1 | 20260928 |
| Sep 29 | 58.6 | ordinary | 76.1 | 20260929 |
| Sep 30 | 61.8 | ordinary | 76.1 | 20260930 |
| Oct 1 | 69.9 | ordinary | 76.1 | 20261001 |
| Oct 2 | 78.7 | ordinary | 76.1 | 20261002 |
| Oct 5 | 69.4 | ordinary | 76.1 | 20261005 |
| Oct 6 | 63.1 | ordinary | 76.1 | 20261006 |
the exact SQL behind every number
WITH tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
sum(toFloat64(volume)) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
GROUP BY d
),
ranked AS (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
FROM tape
),
cal AS (
SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
FROM (
SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
FROM ranked
WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
)
),
w AS (
SELECT d, vol,
toStartOfMonth(d) + toIntervalDay(((5 - toDayOfWeek(toStartOfMonth(d)) + 7) % 7) + 14) AS third_friday
FROM cal
WHERE rn <= 25
),
marked AS (
SELECT d, vol,
(d = max(if(d <= third_friday, d, toDate('1970-01-01'))) OVER (PARTITION BY toStartOfMonth(d)))
AND (third_friday <= max(d) OVER ()) AS is_expiry
FROM w
),
latest AS (
SELECT d, vol, is_expiry,
max(if(is_expiry, d, toDate('1970-01-01'))) OVER () AS last_expiry_d
FROM marked
)
SELECT formatDateTime(d, '%b %e') AS session,
round(vol / 1e6, 1) AS contracts_m,
multiIf(is_expiry, 'monthly expiration', 'ordinary') AS session_type,
round(max(if(d = last_expiry_d, vol, 0)) OVER () / 1e6, 1) AS monthly_expiry_m,
toYYYYMMDD(d) AS session_id
FROM latest
ORDER BY d ASC
More from this analysisUnusual Options Activity: Last Session
Calls or puts: the board's call and put contract volume on the same session
table 10×5
→
Unusual options activity: last completed session vs. each underlying's own 20-session average
table 10×8
→
What the session's contracts were made of: options volume by days to expiry
ranking 6×4
→
What follows a heavy options session: next-session absolute move vs. the same names on an ordinary day
table 5×6
→
See all 3,256 queries →