STRASMORE/EXPLORE 2,469 QUERIES

volume_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-22, from do-mutual-funds-trade-in-the-primary-market.

as of series 64×2read in context →
volume_clock — 64 rows by 2 columns, computed from US exchange, SIP and OPRA data.
et_timeavg_shares_millions
04:000.07
04:150.01
04:300.01
04:450.01
05:000.01
05:150.01
05:300.01
05:450.01
06:000.01
06:150.01
06:300.01
06:450.02
07:000.05
07:150.04
07:300.04
07:450.04
08:000.06
08:150.09
08:300.24
08:450.16
09:000.13
09:150.14
09:302.3
09:451.71
10:001.53
10:151.37
10:301.05
10:451.21
11:001.17
11:151.1
11:301.07
11:450.83
12:000.86
12:150.72
12:300.77
12:450.7
13:000.76
13:150.56
13:300.65
13:450.57
14:000.84
14:150.77
14:301.37
14:451.48
15:001.07
15:151.24
15:301.56
15:455.2
16:003.27
16:150.91
16:300.09
16:450.15
17:000.15
17:150.1
17:300.16
17:450.02
18:000.03
18:150.01
18:300.01
18:450.01
19:000.01
19:150.01
19:300.01
19:450.01
Rows × columns
64 × 2
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_clock, derived from the stored result.
ColumnTypeRangeNotes
et_time text 64 distinct values (04:00, 04:15, 04:30…)
avg_shares_millions number 0.01 to 5.2 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
    et_time,
    round(avg(bucket_shares) / 1e6, 2) AS avg_shares_millions
FROM
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS session_day,
        formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 minute), '%H:%i') AS et_time,
        sum(toFloat64(volume))                               AS bucket_shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-09-01 08:00:00')
      AND window_start <  toDateTime('2026-09-16 00:00:00')
    GROUP BY session_day, et_time
)
GROUP BY et_time
ORDER BY et_time
⌘/Ctrl + Enter
More from this analysisdo-mutual-funds-trade-in-the-primary-market
intraday_prices series 32×4 daily_ranges series 21×4 secondary_prints ranking 6×2 The 2s10s spread by month, full history series 604×5 One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 3m10y and 2s10s spreads, monthly averages over twenty years series 241×4 See all 2,469 queries →