{"slug":"when-do-options-expire","qid":"dow_mix","label":"Options volume by expiration weekday: all US options traded June 1 - July 9, 2026","post_title":"When Do Options Expire? Friday 4 PM ET & Daily","post_url":"/blog/when-do-options-expire#q-dow_mix","columns":["weekday","contracts_mm","pct_of_volume","distinct_expiry_dates","underlyings"],"rows":[{"weekday":"1 Monday","contracts_mm":186.6,"pct_of_volume":10,"distinct_expiry_dates":14,"underlyings":33},{"weekday":"2 Tuesday","contracts_mm":148.8,"pct_of_volume":8,"distinct_expiry_dates":11,"underlyings":30},{"weekday":"3 Wednesday","contracts_mm":225.7,"pct_of_volume":12.1,"distinct_expiry_dates":22,"underlyings":45},{"weekday":"4 Thursday","contracts_mm":404,"pct_of_volume":21.6,"distinct_expiry_dates":14,"underlyings":5301},{"weekday":"5 Friday","contracts_mm":903.2,"pct_of_volume":48.3,"distinct_expiry_dates":39,"underlyings":5871}],"shape":"series","sql":"SELECT weekday,\n       round(sum(vol) / 1e6, 1) AS contracts_mm,\n       round(100 * sum(vol) / sum(sum(vol)) OVER (), 1) AS pct_of_volume,\n       uniqExact(expiry) AS distinct_expiry_dates,\n       uniqExact(root) AS underlyings\nFROM (\n    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,\n           substring(ticker, 3, length(ticker) - 17) AS root,\n           multiIf(toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 1, '1 Monday',\n                   toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 2, '2 Tuesday',\n                   toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 3, '3 Wednesday',\n                   toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 4, '4 Thursday',\n                   '5 Friday') AS weekday,\n           toFloat64(volume) AS vol\n    FROM global_markets.options_minute_aggs\n    WHERE window_start >= '2026-06-01 04:00:00'\n      AND window_start < '2026-07-10 04:00:00'\n)\nWHERE expiry IS NOT NULL\nGROUP BY weekday\nORDER BY weekday","computed_at":"2026-08-10T14:10:45.775702+00:00","elapsed":0.003619175}