{"slug":"when-do-spx-options-stop-trading","qid":"friday_morning","label":"friday_morning","post_title":"when-do-spx-options-stop-trading","post_url":"/blog/when-do-spx-options-stop-trading#q-friday_morning","columns":["et_time","am_settled_spx_contracts","weekly_spxw_contracts","am_settled_premarket_total","weekly_premarket_total"],"rows":[{"et_time":"09:30","am_settled_spx_contracts":0,"weekly_spxw_contracts":208022,"am_settled_premarket_total":0,"weekly_premarket_total":376724},{"et_time":"09:45","am_settled_spx_contracts":0,"weekly_spxw_contracts":168702,"am_settled_premarket_total":0,"weekly_premarket_total":376724}],"shape":"series","sql":"SELECT\n    et_time,\n    am_settled_spx_contracts,\n    weekly_spxw_contracts,\n    sum(am_settled_spx_contracts) OVER () AS am_settled_premarket_total,\n    sum(weekly_spxw_contracts)    OVER () AS weekly_premarket_total\nFROM\n(\n    SELECT\n        formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,\n        sum(if(startsWith(ticker, 'O:SPXW'), 0, volume)) AS am_settled_spx_contracts,\n        sum(if(startsWith(ticker, 'O:SPXW'), volume, 0)) AS weekly_spxw_contracts\n    FROM global_markets.options_minute_aggs\n    WHERE (startsWith(ticker, 'O:SPX260515') OR startsWith(ticker, 'O:SPXW260515'))\n      AND window_start >= toDateTime('2026-05-15 12:00:00', 'UTC')\n      AND window_start <  toDateTime('2026-05-15 14:00:00', 'UTC')\n    GROUP BY et_time\n)\nORDER BY et_time","computed_at":"2026-09-23T14:42:39.194826+00:00","elapsed":0.00300941}