Which Stocks Have Daily Options?
Monday, Wednesday, Friday expirations: distinct option roots carrying an expiry on each weekdayseries ·
2026-08-22 · 5×3
Daily options vs weekly options: upcoming expiration dates for six household tickersranking ·
2026-08-22 · 6×3
SPY's expiration on every trading day: each near-term SPY expiry date, its weekday and volumeseries ·
2026-08-22 · 11×4
Which tickers carry the most upcoming expirations: option roots by distinct expiration dates in the next six weeksranking ·
2026-08-22 · 20×3
DAX Daily Options: How Eurex 0DTE Works
Same-day expiries as a share of SPY option volume: every session, July 2026series ·
2026-08-03 · 21×4
Expirations on the SPY option board: every listed expiry over 30 days, 16 July 2026series ·
2026-08-03 · 13×4
Median implied volatility by days to expiry: near-the-money SPY contracts, 16 July 2026ranking ·
2026-08-03 · 5×4
Distinct expirations listed for the rest of July 2026: eight US namesranking ·
2026-08-03 · 8×3
Monday, Wednesday, Friday expirations: distinct option roots carrying an expiry on each weekday
Monday, Wednesday, Friday expirations: distinct option roots carrying an expiry on each weekday
| weekday | roots_with_expiry | contracts_mm |
|---|---|---|
| 1 Monday | 36 | 3.4 |
| 2 Tuesday | 14 | 0.6 |
| 3 Wednesday | 40 | 33.5 |
| 4 Thursday | 14 | 3.6 |
| 5 Friday | 5019 | 95.7 |
the exact SQL behind every number
SELECT weekday,
uniqExact(root) AS roots_with_expiry,
round(sum(vol) / 1e6, 1) AS contracts_mm
FROM (
SELECT substring(ticker, 3, length(ticker) - 17) AS root,
toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
multiIf(toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 1, '1 Monday',
toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 2, '2 Tuesday',
toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 3, '3 Wednesday',
toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 4, '4 Thursday',
'5 Friday') AS weekday,
toFloat64(volume) AS vol
FROM global_markets.options_minute_aggs
WHERE window_start >= now() - INTERVAL 8 DAY
)
WHERE expiry >= today() - 3 AND expiry <= today() + INTERVAL 30 DAY
GROUP BY weekday
ORDER BY weekday
More from this analysisWhich Stocks Have Daily Options?
SPY's expiration on every trading day: each near-term SPY expiry date, its weekday and volume
series 11×4
→
Which tickers carry the most upcoming expirations: option roots by distinct expiration dates in the next six weeks
ranking 20×3
→
Daily options vs weekly options: upcoming expiration dates for six household tickers
ranking 6×3
→
SPY options volume by June 2026 expiration date: a new expiry every session
series 21×2
→
See all 2,170 queries →