{"slug":"most-active-stocks-after-hours","qid":"ah_clock_curve","label":"ah_clock_curve","post_title":"most-active-stocks-after-hours","post_url":"/blog/most-active-stocks-after-hours#q-ah_clock_curve","columns":["et_time","volume_millions","pct_of_extended_day","print_size_shares"],"rows":[{"et_time":"04:00","volume_millions":3.1,"pct_of_extended_day":0.58,"print_size_shares":28},{"et_time":"05:00","volume_millions":0.9,"pct_of_extended_day":0.17,"print_size_shares":28},{"et_time":"06:00","volume_millions":1,"pct_of_extended_day":0.19,"print_size_shares":28},{"et_time":"07:00","volume_millions":3.3,"pct_of_extended_day":0.63,"print_size_shares":47},{"et_time":"08:00","volume_millions":5,"pct_of_extended_day":0.94,"print_size_shares":57},{"et_time":"09:00","volume_millions":85.6,"pct_of_extended_day":16.21,"print_size_shares":61},{"et_time":"10:00","volume_millions":90.5,"pct_of_extended_day":17.13,"print_size_shares":44},{"et_time":"11:00","volume_millions":66.5,"pct_of_extended_day":12.59,"print_size_shares":38},{"et_time":"12:00","volume_millions":53.8,"pct_of_extended_day":10.18,"print_size_shares":48},{"et_time":"13:00","volume_millions":45.5,"pct_of_extended_day":8.62,"print_size_shares":58},{"et_time":"14:00","volume_millions":47.5,"pct_of_extended_day":8.99,"print_size_shares":62},{"et_time":"15:00","volume_millions":96.9,"pct_of_extended_day":18.35,"print_size_shares":67},{"et_time":"16:00","volume_millions":22.4,"pct_of_extended_day":4.23,"print_size_shares":243},{"et_time":"17:00","volume_millions":3.8,"pct_of_extended_day":0.71,"print_size_shares":77},{"et_time":"18:00","volume_millions":1.5,"pct_of_extended_day":0.29,"print_size_shares":42},{"et_time":"19:00","volume_millions":1,"pct_of_extended_day":0.2,"print_size_shares":35}],"shape":"series","sql":"WITH\n    (\n        SELECT toFloat64(sum(volume))\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker IN ('AAPL','MSFT','NVDA','AMZN','TSLA','META','GOOGL','AMD','INTC','F','KO','SPY','QQQ')\n          AND window_start >= today() - 100\n          AND window_start <  today() - 1\n    ) AS basket_shares,\n    (\n        SELECT countDistinct(toDate(toTimeZone(window_start, 'America/New_York')))\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'SPY'\n          AND window_start >= today() - 100\n          AND window_start <  today() - 1\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    ) AS sessions\nSELECT\n    concat(leftPad(toString(h.hour), 2, '0'), ':00')     AS et_time,\n    round(ifNull(v.shares, 0) / sessions / 1e6, 1)       AS volume_millions,\n    round(100 * ifNull(v.shares, 0) / basket_shares, 2)  AS pct_of_extended_day,\n    toUInt32(ifNull(v.print_size_shares, 0))             AS print_size_shares\nFROM\n(\n    SELECT toUInt8(arrayJoin(range(4, 20))) AS hour\n) AS h\nLEFT JOIN\n(\n    SELECT\n        toHour(toTimeZone(window_start, 'America/New_York')) AS hour,\n        toFloat64(sum(volume))                               AS shares,\n        round(toFloat64(sum(volume)) / sum(transactions))    AS print_size_shares\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('AAPL','MSFT','NVDA','AMZN','TSLA','META','GOOGL','AMD','INTC','F','KO','SPY','QQQ')\n      AND window_start >= today() - 100\n      AND window_start <  today() - 1\n    GROUP BY hour\n) AS v ON v.hour = h.hour\nORDER BY h.hour","computed_at":"2026-10-03T15:14:18.539379+00:00","elapsed":2.367764872}