Which Options Expire on Each Weekday
A weekday by weekday map of options expirations: what expires Monday through Friday, and how to check any chain yourself for a weekday you do not see listed.
Which options expire on each weekday depends on the product, not on the calendar. A short list of index and ETF option classes carries an expiration on all five weekdays, Monday through Friday. Most single stock options expire on Fridays, plus a Thursday in any week where the Friday is an exchange holiday. The panels below read that pattern off contracts that actually traded, one weekday at a time.
What "every other day options" means
The phrase people type is usually "every other day options" or "Mon Wed Fri options". Both point at a weekly series that expires three times a week, on Monday, Wednesday and Friday. A weekly option, written Weekly on an exchange notice, is a listed contract with a short dated expiration that sits outside the standard monthly cycle, and the monthly cycle expires on the third Friday of the month. The every other day lineup is older and wider than the five weekday lineup. Tuesday and Thursday expirations were listed separately and later, on a narrower set of underlyings, which is why a chain can show Monday and Wednesday dates with nothing on Tuesday.
Two sibling pages cut this subject on different axes. Which stocks have daily options works the underlying axis, name by name. The 2026 options expiration calendar works the date axis, month by month. This page works the weekday axis: pick a weekday, see what expires on it.
Which options expire on each weekday
The honest way to answer is to count the expiration dates that real contracts reached, by weekday, over a full year. Four classes are below: SPY and QQQ, the S&P 500 and Nasdaq 100 ETFs, against AAPL and KO, two household single stocks.
| weekday | spy_expiry_dates | qqq_expiry_dates | aapl_expiry_dates | ko_expiry_dates |
|---|---|---|---|---|
| Mon | 48 | 48 | 32 | 0 |
| Tue | 52 | 52 | 1 | 0 |
| Wed | 53 | 53 | 35 | 0 |
| Thu | 49 | 49 | 3 | 3 |
| Fri | 49 | 49 | 49 | 49 |
The exact SQL behind every number
SELECT
formatDateTime(expiration_date, '%a') AS weekday,
countDistinctIf(expiration_date, underlying_symbol = 'SPY') AS spy_expiry_dates,
countDistinctIf(expiration_date, underlying_symbol = 'QQQ') AS qqq_expiry_dates,
countDistinctIf(expiration_date, underlying_symbol = 'AAPL') AS aapl_expiry_dates,
countDistinctIf(expiration_date, underlying_symbol = 'KO') AS ko_expiry_dates
FROM global_markets.options_greeks
WHERE date >= today() - 400
AND date < today()
AND expiration_date >= today() - 365
AND expiration_date < today()
AND toDayOfWeek(expiration_date) <= 5
AND underlying_symbol IN ('SPY', 'QQQ', 'AAPL', 'KO')
AND volume > 0
GROUP BY weekday
ORDER BY min(toDayOfWeek(expiration_date))Over the trailing year SPY reached 48 Monday expiration dates and 49 Friday ones, with Tuesday at 52, Wednesday at 53 and Thursday at 49. QQQ matches that shape, at 48 Mondays. AAPL prints 49 Friday expiration dates and 32 Mondays. KO prints 49 Fridays and 0 Wednesdays. Friday is the column every class shares. Every other column is a product by product addition.
The weekday lineup was built one pair at a time
Expirations arrived in waves, and the mechanism never changes. An exchange files to list a new expiration series, publishes a dated listing notice, and the contracts appear on the chain from a stated first trade date. CBOE listed the first Weeklys in 2005, all expiring Friday. Monday and Wednesday series followed in the mid 2010s on the large index and ETF classes. Tuesday and Thursday came last: Cboe's announcement of April 13, 2022 set SPX Tuesday expirations from April 18, 2022 and Thursday expirations from May 11, 2022 (Cboe listing announcement). The ETF side followed that autumn, with MIAX's regulatory alert of November 14, 2022 listing Tuesday and Thursday weekly series for SPY and QQQ (MIAX regulatory alert).
That listing history leaves a fingerprint in the traded data.
| month | mondays | tuesdays | wednesdays | thursdays | fridays |
|---|---|---|---|---|---|
| 2021-10 | 4 | 0 | 4 | 0 | 4 |
| 2021-11 | 5 | 0 | 4 | 0 | 4 |
| 2021-12 | 4 | 0 | 5 | 1 | 4 |
| 2022-01 | 4 | 1 | 4 | 0 | 4 |
| 2022-02 | 3 | 1 | 4 | 0 | 4 |
| 2022-03 | 4 | 0 | 5 | 1 | 4 |
| 2022-04 | 4 | 0 | 4 | 1 | 4 |
| 2022-05 | 4 | 1 | 4 | 0 | 4 |
| 2022-06 | 3 | 1 | 5 | 1 | 4 |
| 2022-07 | 3 | 1 | 4 | 0 | 5 |
| 2022-08 | 5 | 0 | 5 | 0 | 4 |
| 2022-09 | 3 | 1 | 4 | 0 | 5 |
| 2022-10 | 5 | 0 | 4 | 0 | 4 |
| 2022-11 | 4 | 3 | 5 | 1 | 4 |
| 2022-12 | 3 | 4 | 4 | 5 | 5 |
| 2023-01 | 3 | 5 | 4 | 4 | 4 |
| 2023-02 | 3 | 4 | 4 | 4 | 4 |
| 2023-03 | 4 | 4 | 5 | 5 | 5 |
| 2023-04 | 4 | 4 | 4 | 4 | 3 |
| 2023-05 | 4 | 5 | 5 | 4 | 4 |
The exact SQL behind every number
SELECT
formatDateTime(toStartOfMonth(expiration_date), '%Y-%m') AS month,
countDistinctIf(expiration_date, toDayOfWeek(expiration_date) = 1) AS mondays,
countDistinctIf(expiration_date, toDayOfWeek(expiration_date) = 2) AS tuesdays,
countDistinctIf(expiration_date, toDayOfWeek(expiration_date) = 3) AS wednesdays,
countDistinctIf(expiration_date, toDayOfWeek(expiration_date) = 4) AS thursdays,
countDistinctIf(expiration_date, toDayOfWeek(expiration_date) = 5) AS fridays
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2021-10-01'
AND date < today()
AND expiration_date >= '2021-10-01'
AND expiration_date < toStartOfMonth(today())
AND volume > 0
GROUP BY month
ORDER BY monthEach line counts SPY expiration dates in a month for one weekday. The Monday and Wednesday series are already running when the chart opens in 2021-10, at 4 Mondays that month; their listings sit before the left edge of the options history behind this panel. Tuesday and Thursday open near zero, at 0 and 0, turn on during late 2022, and track the other lines afterwards. By 2026-09 the five read 3 Mondays, 5 Tuesdays, 5 Wednesdays, 4 Thursdays and 4 Fridays. A product list memorised in 2022 was stale by the following spring, which is why this page teaches the mechanism and dates the lists it shows.
How many classes expire on more than one weekday
An option class is the full set of listed contracts on one underlying. Counting distinct expiration weekdays per class over a quarter separates the five weekday products from everything else.
| weekday_coverage | option_classes |
|---|---|
| 1 weekday | 4159 |
| 2 weekdays | 7 |
| 3 weekdays | 20 |
| 5 weekdays | 6 |
The exact SQL behind every number
SELECT
concat(toString(weekdays_used), if(weekdays_used = 1, ' weekday', ' weekdays')) AS weekday_coverage,
count() AS option_classes
FROM
(
SELECT
underlying_symbol,
countDistinct(toDayOfWeek(expiration_date)) AS weekdays_used
FROM global_markets.options_greeks
WHERE date >= today() - 120
AND date < today()
AND expiration_date >= today() - 90
AND expiration_date < today()
AND toDayOfWeek(expiration_date) <= 5
AND volume > 100
AND underlying_symbol NOT IN ('SPCX')
GROUP BY underlying_symbol
)
GROUP BY weekdays_used
ORDER BY weekdays_usedAcross the trailing quarter the 1 weekday bucket holds 4159 classes, and the 5 weekdays bucket holds 6. A class in the lowest bucket touched one weekday across three months, which for a listed stock option is the Friday series. The buckets in between reward a careful read: a Friday only name picks up a second weekday in any week where the exchange is shut on Friday, as that expiration moves to the Thursday ahead of it. The holiday shift is a calendar artifact, not a new product. Why only some stocks have daily options covers the listing standards that keep the lowest bucket crowded, and which stocks have weekly options covers the Friday series itself.
The weekday map and the same day session
An expiration that lands on a weekday also marks a zero days to expiry session on that weekday: contracts in their final hours trade on the same screen as the longer dated chain. A class carrying all five weekday expirations has one of those sessions every day of the week, while a Friday only name has one a week. When 0DTE options trade walks the session clock on a day like that, and what DTE means in options defines the counter itself.
How to check a weekday that is not covered here
- Open the option chain for the underlying in your broker platform and read the expiration selector. Every listed expiration date is in it. Note the weekday each date falls on.
- Compare two dates a week apart. A gap at Tuesday with Monday and Wednesday present is the every other day pattern, not a data error.
- Check the exchange notice before trusting any product list, including this one. Cboe publishes product updates and MIAX publishes regulatory alerts, each with a first trade date and the affected symbols.
- Expect the set to keep moving. Whether a weekday exists for a class is a dated, public listing decision at an exchange.
Whether an expiration settles against an opening or a closing print is a separate question from which weekday it lands on. AM versus PM settled options handles that one.
FAQ
What does "every other day options" mean?
It is shorthand for a weekly option series that expires on Monday, Wednesday and Friday rather than Friday alone. It is a different thing from the five weekday products, where Tuesday and Thursday expirations are listed as well.
Do all stocks have options that expire every weekday?
No. Five weekday expirations exist on a small set of high volume index and ETF classes. The trailing quarter panel above shows most option classes touching a single weekday across three months, and that weekday is Friday.
Which weekday carries the most expirations?
Friday, on every class with listed options at all. The monthly cycle expires on the third Friday and the original weekly series expires on Friday too, which leaves Friday the one weekday shared across the whole market.
What happens to a Friday expiration when the market is closed on Friday?
The expiration moves to the preceding Thursday, and the chain shows a Thursday date for a product that is otherwise Friday only. Good Friday, and a July 4 holiday observed on a Friday, are the usual cases.
How do I confirm a new weekday expiration is real?
Read the listing notice from the exchange that lists the class. Cboe product updates and MIAX regulatory alerts carry the first trade date and the symbols covered, and both are dated at the source.
Data notes and window edges
- The options history behind these panels begins in August 2021, so the Monday and Wednesday onset months sit before the left edge of the monthly chart. The exchange notices linked above carry those dates.
- Every panel counts contracts with recorded volume. A listed expiration nobody traded does not appear, which keeps the map to weekdays that were genuinely used.
- The weekday map and the quarter buckets run on rolling windows, so each count moves by one or two as weeks roll off the back.
Every panel here carries the exact SQL beneath it, so any weekday count can be checked line by line. To ask the same weekday question about a class this page does not cover, put it in plain English on the Strasmore terminal.