{"slug":"options-expiration-day-clock-lagos-time","qid":"wat_clock","label":"wat_clock","post_title":"options-expiration-day-clock-lagos-time","post_url":"/blog/lang/pcm/options-expiration-day-clock-lagos-time#q-wat_clock","columns":["wat_time","expiry_friday_pct","other_friday_pct"],"rows":[{"wat_time":"14:00","expiry_friday_pct":10.7,"other_friday_pct":11.38},{"wat_time":"15:00","expiry_friday_pct":16.98,"other_friday_pct":15.71},{"wat_time":"16:00","expiry_friday_pct":17.38,"other_friday_pct":12.76},{"wat_time":"17:00","expiry_friday_pct":9.92,"other_friday_pct":10.75},{"wat_time":"18:00","expiry_friday_pct":9.17,"other_friday_pct":9.97},{"wat_time":"19:00","expiry_friday_pct":11.01,"other_friday_pct":11.63},{"wat_time":"20:00","expiry_friday_pct":24.84,"other_friday_pct":27.79}],"shape":"series","sql":"WITH session_bars AS\n(\n    SELECT\n        toTimeZone(window_start, 'America/New_York') AS et_ts,\n        toTimeZone(window_start, 'Africa/Lagos')     AS wat_ts,\n        toFloat64(volume)                            AS vol\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime('2026-03-13 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)\nSELECT\n    hourly.wat_time                                       AS wat_time,\n    round(100 * hourly.expiry_vol / totals.expiry_vol, 2) AS expiry_friday_pct,\n    round(100 * hourly.other_vol / totals.other_vol, 2)   AS other_friday_pct\nFROM\n(\n    SELECT\n        formatDateTime(toStartOfHour(wat_ts), '%H:00')          AS wat_time,\n        sumIf(vol, toDayOfMonth(et_ts) BETWEEN 15 AND 21)       AS expiry_vol,\n        sumIf(vol, NOT (toDayOfMonth(et_ts) BETWEEN 15 AND 21)) AS other_vol\n    FROM session_bars\n    GROUP BY wat_time\n    HAVING countIf(toDayOfMonth(et_ts) BETWEEN 15 AND 21) > 0\n       AND countIf(NOT (toDayOfMonth(et_ts) BETWEEN 15 AND 21)) > 0\n) AS hourly\nCROSS JOIN\n(\n    SELECT\n        sumIf(vol, toDayOfMonth(et_ts) BETWEEN 15 AND 21)       AS expiry_vol,\n        sumIf(vol, NOT (toDayOfMonth(et_ts) BETWEEN 15 AND 21)) AS other_vol\n    FROM session_bars\n) AS totals\nORDER BY wat_time","computed_at":"2026-10-16T15:24:01.277423+00:00","elapsed":0.005772672}