volume_by_hour
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-30, from us-premarket-and-after-hours-philippine-time.
| label | volume_millions | share_of_peak_pct |
|---|---|---|
| 16:00 PHT | 4.6 | 1 |
| 17:00 PHT | 1.7 | 0.3 |
| 18:00 PHT | 2.5 | 0.5 |
| 19:00 PHT | 9 | 1.9 |
| 20:00 PHT | 18.2 | 3.7 |
| 21:00 PHT | 201.8 | 41.5 |
| 22:00 PHT | 259.5 | 53.3 |
| 23:00 PHT | 221.4 | 45.5 |
| 00:00 PHT | 164.7 | 33.9 |
| 01:00 PHT | 146 | 30 |
| 02:00 PHT | 193.5 | 39.8 |
| 03:00 PHT | 486.4 | 100 |
| 04:00 PHT | 241.3 | 49.6 |
| 05:00 PHT | 15 | 3.1 |
| 06:00 PHT | 4.5 | 0.9 |
| 07:00 PHT | 2 | 0.4 |
- 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 |
|---|---|---|---|
label |
text | 16 distinct values (00:00 PHT, 01:00 PHT, 02:00 PHT…) | |
volume_millions |
number | 1.7 to 486.4 | count |
share_of_peak_pct |
number | 0.3 to 100 | percent |
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.
WITH bars AS
(
SELECT
toHour(toTimeZone(window_start, 'Asia/Manila')) AS pht_hour,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 70
AND window_start < today() - 2
)
SELECT
concat(leftPad(toString(pht_hour), 2, '0'), ':00 PHT') AS label,
round(toFloat64(sum(volume)) / 1e6, 1) AS volume_millions,
round(100 * toFloat64(sum(volume)) / max(toFloat64(sum(volume))) OVER (), 1) AS share_of_peak_pct
FROM bars
GROUP BY pht_hour
ORDER BY (pht_hour + 8) % 24
Gamitin ang datos na ito sa iyong AI assistant
Bubukas nang handang mag-query, kasama ang datos ng pahinang ito. Libre, walang account.