{"slug":"options-expiration-day-clock-lagos-time","qid":"witching_months","label":"witching_months","post_title":"options-expiration-day-clock-lagos-time","post_url":"/blog/lang/pcm/options-expiration-day-clock-lagos-time#q-witching_months","columns":["month","expiry_friday_m","other_friday_avg_m"],"rows":[{"month":"2025-10","expiry_friday_m":80.6,"other_friday_avg_m":83.4},{"month":"2025-11","expiry_friday_m":109.2,"other_friday_avg_m":71.7},{"month":"2025-12","expiry_friday_m":84.8,"other_friday_avg_m":62.9},{"month":"2026-01","expiry_friday_m":67.1,"other_friday_avg_m":70.5},{"month":"2026-02","expiry_friday_m":88.8,"other_friday_avg_m":76.5},{"month":"2026-03","expiry_friday_m":131.2,"other_friday_avg_m":85},{"month":"2026-04","expiry_friday_m":59.7,"other_friday_avg_m":36.5},{"month":"2026-05","expiry_friday_m":48.4,"other_friday_avg_m":36.6},{"month":"2026-07","expiry_friday_m":51.5,"other_friday_avg_m":41.9},{"month":"2026-08","expiry_friday_m":33.7,"other_friday_avg_m":29.7},{"month":"2026-09","expiry_friday_m":54.3,"other_friday_avg_m":31}],"shape":"series","sql":"SELECT\n    formatDateTime(et_day, '%Y-%m') AS month,\n    round(sumIf(day_volume, toDayOfMonth(et_day) BETWEEN 15 AND 21) / 1e6, 1)       AS expiry_friday_m,\n    round(avgIf(day_volume, NOT (toDayOfMonth(et_day) BETWEEN 15 AND 21)) / 1e6, 1) AS other_friday_avg_m\nFROM\n(\n    SELECT\n        toDate(toTimeZone(window_start, 'America/New_York')) AS et_day,\n        sum(toFloat64(volume))                               AS day_volume\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime('2025-10-01 00:00:00')\n      AND window_start <  toDateTime('2026-10-10 00:00:00')\n      AND toDayOfWeek(toTimeZone(window_start, 'America/New_York')) = 5\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960\n    GROUP BY et_day\n) AS fridays\nGROUP BY month\nHAVING countIf(toDayOfMonth(et_day) BETWEEN 15 AND 21) > 0\n   AND countIf(NOT (toDayOfMonth(et_day) BETWEEN 15 AND 21)) > 0\nORDER BY month","computed_at":"2026-10-16T15:24:01.514451+00:00","elapsed":0.003941536}