{"slug":"options-expirations-by-weekday","qid":"weekday_map","label":"weekday_map","post_title":"options-expirations-by-weekday","post_url":"/blog/options-expirations-by-weekday#q-weekday_map","columns":["weekday","spy_expiry_dates","qqq_expiry_dates","aapl_expiry_dates","ko_expiry_dates"],"rows":[{"weekday":"Mon","spy_expiry_dates":48,"qqq_expiry_dates":48,"aapl_expiry_dates":32,"ko_expiry_dates":0},{"weekday":"Tue","spy_expiry_dates":52,"qqq_expiry_dates":52,"aapl_expiry_dates":1,"ko_expiry_dates":0},{"weekday":"Wed","spy_expiry_dates":53,"qqq_expiry_dates":53,"aapl_expiry_dates":35,"ko_expiry_dates":0},{"weekday":"Thu","spy_expiry_dates":49,"qqq_expiry_dates":49,"aapl_expiry_dates":3,"ko_expiry_dates":3},{"weekday":"Fri","spy_expiry_dates":49,"qqq_expiry_dates":49,"aapl_expiry_dates":49,"ko_expiry_dates":49}],"shape":"series","sql":"SELECT\n    formatDateTime(expiration_date, '%a')                        AS weekday,\n    countDistinctIf(expiration_date, underlying_symbol = 'SPY')   AS spy_expiry_dates,\n    countDistinctIf(expiration_date, underlying_symbol = 'QQQ')   AS qqq_expiry_dates,\n    countDistinctIf(expiration_date, underlying_symbol = 'AAPL')  AS aapl_expiry_dates,\n    countDistinctIf(expiration_date, underlying_symbol = 'KO')    AS ko_expiry_dates\nFROM global_markets.options_greeks\nWHERE date >= today() - 400\n  AND date < today()\n  AND expiration_date >= today() - 365\n  AND expiration_date < today()\n  AND toDayOfWeek(expiration_date) <= 5\n  AND underlying_symbol IN ('SPY', 'QQQ', 'AAPL', 'KO')\n  AND volume > 0\nGROUP BY weekday\nORDER BY min(toDayOfWeek(expiration_date))","computed_at":"2026-10-01T15:11:38.947261+00:00","elapsed":3.325782646}