STRASMORE/EXPLORE 2,830 QUERIES

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.

as of ranking 16×3read in context →
volume_by_hour — 16 rows by 3 columns, computed from US exchange, SIP and OPRA data.
labelvolume_millionsshare_of_peak_pct
16:00 PHT4.61
17:00 PHT1.70.3
18:00 PHT2.50.5
19:00 PHT91.9
20:00 PHT18.23.7
21:00 PHT201.841.5
22:00 PHT259.553.3
23:00 PHT221.445.5
00:00 PHT164.733.9
01:00 PHT14630
02:00 PHT193.539.8
03:00 PHT486.4100
04:00 PHT241.349.6
05:00 PHT153.1
06:00 PHT4.50.9
07:00 PHT20.4
Rows × columns
16 × 3
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for volume_by_hour, derived from the stored result.
ColumnTypeRangeNotes
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
⌘/Ctrl + Enter

Gamitin ang datos na ito sa iyong AI assistant

Bubukas nang handang mag-query, kasama ang datos ng pahinang ito. Libre, walang account.