{"slug":"us-market-volume-by-hour-beijing-time","qid":"activity_by_slot","label":"activity_by_slot","post_title":"us-market-volume-by-hour-beijing-time","post_url":"/blog/lang/zh-hans/us-market-volume-by-hour-beijing-time#q-activity_by_slot","columns":["et_time","beijing_time","trade_count_per_min","range_bps"],"rows":[{"et_time":"09:30","beijing_time":"21:30","trade_count_per_min":2846,"range_bps":6.8},{"et_time":"10:00","beijing_time":"22:00","trade_count_per_min":2080,"range_bps":5.9},{"et_time":"10:30","beijing_time":"22:30","trade_count_per_min":1996,"range_bps":5.6},{"et_time":"11:00","beijing_time":"23:00","trade_count_per_min":1755,"range_bps":4.7},{"et_time":"11:30","beijing_time":"23:30","trade_count_per_min":1604,"range_bps":4.5},{"et_time":"12:00","beijing_time":"00:00","trade_count_per_min":1371,"range_bps":3.9},{"et_time":"12:30","beijing_time":"00:30","trade_count_per_min":1164,"range_bps":3.7},{"et_time":"13:00","beijing_time":"01:00","trade_count_per_min":1227,"range_bps":3.8},{"et_time":"13:30","beijing_time":"01:30","trade_count_per_min":1384,"range_bps":3.6},{"et_time":"14:00","beijing_time":"02:00","trade_count_per_min":1464,"range_bps":3.7},{"et_time":"14:30","beijing_time":"02:30","trade_count_per_min":1355,"range_bps":3.4},{"et_time":"15:00","beijing_time":"03:00","trade_count_per_min":1618,"range_bps":3.5},{"et_time":"15:30","beijing_time":"03:30","trade_count_per_min":3432,"range_bps":4.4}],"shape":"series","sql":"WITH spy_bars AS\n(\n    SELECT\n        toTimeZone(window_start, 'America/New_York') AS et,\n        toHour(et) * 60 + toMinute(et)               AS et_min,\n        intDiv(et_min, 30) * 30                      AS slot,\n        transactions,\n        toFloat64(high)                             AS hi,\n        toFloat64(low)                              AS lo,\n        toFloat64(close)                            AS cl\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime('2026-04-01 04:00:00', 'UTC')\n      AND window_start <  toDateTime('2026-07-01 04:00:00', 'UTC')\n      AND et_min >= 570\n      AND et_min <  960\n      AND cl > 0\n)\nSELECT\n    formatDateTime(toDateTime(slot * 60, 'UTC'), '%H:%i')                  AS et_time,\n    formatDateTime(toDateTime(((slot + 720) % 1440) * 60, 'UTC'), '%H:%i') AS beijing_time,\n    round(avg(transactions), 0)                                           AS trade_count_per_min,\n    round(avg(10000 * (hi - lo) / cl), 1)                                 AS range_bps\nFROM spy_bars\nGROUP BY slot\nORDER BY slot","computed_at":"2026-09-26T15:42:13.706231+00:00","elapsed":0.003550614}