{"slug":"the-390-rule-in-options-trading","qid":"session_shape","label":"session_shape","post_title":"the-390-rule-in-options-trading","post_url":"/blog/the-390-rule-in-options-trading#q-session_shape","columns":["et_time","bars_printed","volume_millions"],"rows":[{"et_time":"09:00","bars_printed":30,"volume_millions":0.27},{"et_time":"09:30","bars_printed":30,"volume_millions":6.78},{"et_time":"10:00","bars_printed":30,"volume_millions":4.93},{"et_time":"10:30","bars_printed":30,"volume_millions":2.93},{"et_time":"11:00","bars_printed":30,"volume_millions":2.65},{"et_time":"11:30","bars_printed":30,"volume_millions":1.78},{"et_time":"12:00","bars_printed":30,"volume_millions":1.56},{"et_time":"12:30","bars_printed":30,"volume_millions":1.91},{"et_time":"13:00","bars_printed":30,"volume_millions":1.39},{"et_time":"13:30","bars_printed":30,"volume_millions":1.05},{"et_time":"14:00","bars_printed":30,"volume_millions":1.62},{"et_time":"14:30","bars_printed":30,"volume_millions":1.59},{"et_time":"15:00","bars_printed":30,"volume_millions":2.58},{"et_time":"15:30","bars_printed":30,"volume_millions":6.49},{"et_time":"16:00","bars_printed":30,"volume_millions":1.56},{"et_time":"16:30","bars_printed":29,"volume_millions":0.06}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i', 'America/New_York') AS et_time,\n    uniqExact(window_start)                    AS bars_printed,\n    round(toFloat64(sum(volume)) / 1e6, 2)     AS volume_millions\nFROM global_markets.delayed_stocks_minute_aggs\nWHERE ticker = 'SPY'\n  AND window_start >= toDateTime('2026-09-10 13:00:00', 'UTC')\n  AND window_start <  toDateTime('2026-09-10 21:00:00', 'UTC')\nGROUP BY et_time\nORDER BY et_time","computed_at":"2026-09-17T17:11:47.425339+00:00","elapsed":0.001405785}