jst_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-10-03, from us-premarket-and-after-hours-japan-time.
| jst_time | summer_volume_mn | winter_volume_mn |
|---|---|---|
| 18:00 | 0.001 | 0.002 |
| 19:00 | 0.002 | 0.002 |
| 20:00 | 0.005 | 0.002 |
| 21:00 | 0.009 | 0.005 |
| 22:00 | 0.106 | 0.011 |
| 23:00 | 0.133 | 0.162 |
| 00:00 | 0.112 | 0.21 |
| 01:00 | 0.088 | 0.158 |
| 02:00 | 0.085 | 0.128 |
| 03:00 | 0.101 | 0.114 |
| 04:00 | 0.229 | 0.14 |
| 05:00 | 0.107 | 0.297 |
| 06:00 | 0.007 | 0.114 |
| 07:00 | 0.003 | 0.005 |
| 08:00 | 0.002 | 0.003 |
| 09:00 | 0 | 0.002 |
- Rows × columns
- 16 × 3
- 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 |
|---|---|---|---|
jst_time |
text | 16 distinct values (00:00, 01:00, 02:00…) | |
summer_volume_mn |
number | 0 to 0.229 | count |
winter_volume_mn |
number | 0.002 to 0.297 | 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
jst_time,
summer_volume_mn,
winter_volume_mn
FROM
(
SELECT
formatDateTime(toStartOfHour(toTimeZone(window_start, 'Asia/Tokyo')), '%H:%i') AS jst_time,
(toHour(toTimeZone(window_start, 'Asia/Tokyo')) + 7) % 24 AS session_order,
round(avgIf(volume, timeZoneOffset(toTimeZone(window_start, 'America/New_York')) = -14400) / 1e6, 3) AS summer_volume_mn,
round(avgIf(volume, timeZoneOffset(toTimeZone(window_start, 'America/New_York')) = -18000) / 1e6, 3) AS winter_volume_mn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 400
AND window_start < today() - 2
GROUP BY jst_time, session_order
HAVING countIf(timeZoneOffset(toTimeZone(window_start, 'America/New_York')) = -14400) > 0
AND countIf(timeZoneOffset(toTimeZone(window_start, 'America/New_York')) = -18000) > 0
)
ORDER BY session_order
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.