session_clock
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-23, from us-stock-market-hours-beijing-time.
| beijing_time | et_time | volume_millions | trades_thousands |
|---|---|---|---|
| 16:00 | 04:00 | 0.42 | 14 |
| 16:30 | 04:30 | 0.12 | 2.1 |
| 17:00 | 05:00 | 0.1 | 2.4 |
| 17:30 | 05:30 | 0.12 | 2.3 |
| 18:00 | 06:00 | 0.12 | 2.1 |
| 18:30 | 06:30 | 0.15 | 2.7 |
| 19:00 | 07:00 | 0.74 | 8.7 |
| 19:30 | 07:30 | 0.49 | 7.5 |
| 20:00 | 08:00 | 0.83 | 11.5 |
| 20:30 | 08:30 | 1.03 | 14.2 |
| 21:00 | 09:00 | 1.11 | 19 |
| 21:30 | 09:30 | 20.1 | 301.2 |
| 22:00 | 10:00 | 14.6 | 246.6 |
| 22:30 | 10:30 | 11.93 | 234 |
| 23:00 | 11:00 | 27.99 | 207.2 |
| 23:30 | 11:30 | 10.06 | 199 |
| 00:00 | 12:00 | 7.77 | 140.3 |
| 00:30 | 12:30 | 6.81 | 117.3 |
| 01:00 | 13:00 | 10.51 | 100.6 |
| 01:30 | 13:30 | 5.41 | 132.5 |
| 02:00 | 14:00 | 11.11 | 152.9 |
| 02:30 | 14:30 | 24.35 | 201.3 |
| 03:00 | 15:00 | 18.52 | 250 |
| 03:30 | 15:30 | 43.66 | 455.1 |
| 04:00 | 16:00 | 32.6 | 31.8 |
| 04:30 | 16:30 | 1.25 | 8.4 |
| 05:00 | 17:00 | 0.16 | 4.3 |
| 05:30 | 17:30 | 0.43 | 2.2 |
| 06:00 | 18:00 | 0.19 | 3.3 |
| 06:30 | 18:30 | 0.17 | 3 |
| 07:00 | 19:00 | 0.1 | 2.3 |
| 07:30 | 19:30 | 0.17 | 2.4 |
- Rows × columns
- 32 × 4
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
beijing_time |
text | 32 distinct values (00:00, 00:30, 01:00…) | |
et_time |
text | 32 distinct values (04:00, 04:30, 05:00…) | |
volume_millions |
number | 0.1 to 43.66 | count |
trades_thousands |
number | 2.1 to 455.1 | count |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
SELECT
beijing_time,
et_time,
round(sum(volume) / 1e6, 2) AS volume_millions,
round(sum(transactions) / 1e3, 1) AS trades_thousands
FROM
(
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'Asia/Shanghai'), INTERVAL 30 MINUTE), '%H:%i') AS beijing_time,
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ intDiv(toMinute(toTimeZone(window_start, 'America/New_York')), 30) * 30 AS et_minute_of_day,
volume,
transactions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-09-14 08:00:00', 'UTC')
AND window_start < toDateTime('2026-09-19 00:00:00', 'UTC')
)
GROUP BY beijing_time, et_time, et_minute_of_day
ORDER BY et_minute_of_day
在你的 AI 助手中使用这些数据
打开即可查询,已带上本页数据。免费,无需账号。