{"slug":"us-market-volume-by-hour-lagos-time","qid":"session_shape","label":"session_shape","post_title":"us-market-volume-by-hour-lagos-time","post_url":"/blog/lang/pcm/us-market-volume-by-hour-lagos-time#q-session_shape","columns":["wat_time","et_time","share_of_volume_pct","avg_volume_m"],"rows":[{"wat_time":"14:30","et_time":"09:30","share_of_volume_pct":14.77,"avg_volume_m":33},{"wat_time":"15:00","et_time":"10:00","share_of_volume_pct":8.86,"avg_volume_m":19.8},{"wat_time":"15:30","et_time":"10:30","share_of_volume_pct":7.14,"avg_volume_m":16},{"wat_time":"16:00","et_time":"11:00","share_of_volume_pct":6.45,"avg_volume_m":14.4},{"wat_time":"16:30","et_time":"11:30","share_of_volume_pct":5.59,"avg_volume_m":12.5},{"wat_time":"17:00","et_time":"12:00","share_of_volume_pct":5.19,"avg_volume_m":11.6},{"wat_time":"17:30","et_time":"12:30","share_of_volume_pct":4.73,"avg_volume_m":10.6},{"wat_time":"18:00","et_time":"13:00","share_of_volume_pct":4.47,"avg_volume_m":10},{"wat_time":"18:30","et_time":"13:30","share_of_volume_pct":4.18,"avg_volume_m":9.3},{"wat_time":"19:00","et_time":"14:00","share_of_volume_pct":4.48,"avg_volume_m":10},{"wat_time":"19:30","et_time":"14:30","share_of_volume_pct":4.74,"avg_volume_m":10.6},{"wat_time":"20:00","et_time":"15:00","share_of_volume_pct":5.72,"avg_volume_m":12.8},{"wat_time":"20:30","et_time":"15:30","share_of_volume_pct":13.62,"avg_volume_m":30.4},{"wat_time":"21:00","et_time":"16:00","share_of_volume_pct":4.99,"avg_volume_m":11.1}],"shape":"series","sql":"WITH bars AS\n(\n    SELECT\n        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,\n        toHour(toTimeZone(window_start, 'America/New_York')) * 60\n            + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute_of_day,\n        toStartOfInterval(window_start, INTERVAL 30 MINUTE)  AS bucket_ts,\n        volume\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA')\n      AND window_start >= '2026-06-01 00:00:00'\n      AND window_start <  '2026-10-01 00:00:00'\n),\ntape_day AS\n(\n    SELECT sum(volume) AS full_day_volume FROM bars\n)\nSELECT\n    formatDateTime(toTimeZone(min(bucket_ts), 'Africa/Lagos'), '%H:%i')     AS wat_time,\n    formatDateTime(toTimeZone(min(bucket_ts), 'America/New_York'), '%H:%i') AS et_time,\n    round(sum(volume) / (SELECT full_day_volume FROM tape_day) * 100, 2)    AS share_of_volume_pct,\n    round(sum(volume) / countDistinct(session_date) / 1000000, 1)           AS avg_volume_m\nFROM bars\nWHERE et_minute_of_day >= 570\n  AND et_minute_of_day <  990\nGROUP BY intDiv(et_minute_of_day, 30)\nORDER BY intDiv(et_minute_of_day, 30)","computed_at":"2026-10-16T15:23:16.243477+00:00","elapsed":0.004278863}