{"slug":"nasdaq-closing-cross-explained","qid":"hourly_profile","label":"hourly_profile","post_title":"nasdaq-closing-cross-explained","post_url":"/blog/nasdaq-closing-cross-explained#q-hourly_profile","columns":["et_hour","trades_k","median_trade_shares","avg_trade_shares"],"rows":[{"et_hour":"04:00","trades_k":9.1,"median_trade_shares":8,"avg_trade_shares":30},{"et_hour":"05:00","trades_k":3.6,"median_trade_shares":6,"avg_trade_shares":27},{"et_hour":"06:00","trades_k":4.3,"median_trade_shares":10,"avg_trade_shares":33},{"et_hour":"07:00","trades_k":6.5,"median_trade_shares":9,"avg_trade_shares":39},{"et_hour":"08:00","trades_k":10.1,"median_trade_shares":10,"avg_trade_shares":42},{"et_hour":"09:00","trades_k":185.1,"median_trade_shares":20,"avg_trade_shares":62},{"et_hour":"10:00","trades_k":196.9,"median_trade_shares":4,"avg_trade_shares":40},{"et_hour":"11:00","trades_k":231.9,"median_trade_shares":5,"avg_trade_shares":44},{"et_hour":"12:00","trades_k":161.1,"median_trade_shares":18,"avg_trade_shares":56},{"et_hour":"13:00","trades_k":135.2,"median_trade_shares":19,"avg_trade_shares":52},{"et_hour":"14:00","trades_k":101.5,"median_trade_shares":12,"avg_trade_shares":49},{"et_hour":"15:00","trades_k":170.3,"median_trade_shares":20,"avg_trade_shares":52},{"et_hour":"16:00","trades_k":5.6,"median_trade_shares":6,"avg_trade_shares":2859},{"et_hour":"17:00","trades_k":2.1,"median_trade_shares":5,"avg_trade_shares":43},{"et_hour":"18:00","trades_k":1.8,"median_trade_shares":4,"avg_trade_shares":25},{"et_hour":"19:00","trades_k":1.9,"median_trade_shares":5,"avg_trade_shares":29}],"shape":"ranking","sql":"SELECT\n    concat(if(cal.h < 10, '0', ''), toString(cal.h), ':00')  AS et_hour,\n    round(ifNull(t.trade_count, 0) / 1000, 1)                AS trades_k,\n    toUInt32(round(ifNull(t.median_trade_shares, 0), 0))     AS median_trade_shares,\n    toUInt32(round(ifNull(t.avg_trade_shares, 0), 0))        AS avg_trade_shares\nFROM\n(\n    SELECT toUInt8(4 + arrayJoin(range(16))) AS h\n) AS cal\nLEFT JOIN\n(\n    SELECT\n        toHour(toTimeZone(sip_timestamp, 'America/New_York')) AS h,\n        count()                                                AS trade_count,\n        quantileExact(0.5)(toFloat64(size))                    AS median_trade_shares,\n        avg(toFloat64(size))                                   AS avg_trade_shares\n    FROM global_markets.stocks_trades\n    WHERE ticker = 'AAPL'\n      AND sip_timestamp >= toDateTime('2026-09-10 08:00:00', 'UTC')\n      AND sip_timestamp <  toDateTime('2026-09-11 00:00:00', 'UTC')\n    GROUP BY h\n) AS t ON t.h = cal.h\nORDER BY cal.h","computed_at":"2026-09-17T15:23:04.254735+00:00","elapsed":1.436834024}