STRASMORE/EXPLORE 2,830 QUERIES

message_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-30, from what-exchange-colocation-costs.

as of series 32×3read in context →
message_clock — 32 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timemessage_counttrades_per_second
04:0031861.8
04:308270.5
05:0011030.6
05:308520.5
06:006700.4
06:306860.4
07:00113656.3
07:3031121.7
08:0029751.7
08:30118536.6
09:0035842
09:309147350.8
10:006807037.8
10:307850243.6
11:007824843.5
11:308686648.3
12:004541725.2
12:303405318.9
13:004433124.6
13:305168428.7
14:004908227.3
14:305777632.1
15:006767137.6
15:3013473274.9
16:0099175.5
16:3028731.6
17:0012520.7
17:3020041.1
18:0027471.5
18:3017101
19:0031991.8
19:3015180.8
Rows × columns
32 × 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 message_clock, derived from the stored result.
ColumnTypeRangeNotes
et_time text 32 distinct values (04:00, 04:30, 05:00…)
message_count number 670 to 134,732 count
trades_per_second number 0.4 to 74.9 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
    formatDateTime(
        toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 minute),
        '%H:%i')                          AS et_time,
    sum(transactions)                     AS message_count,
    round(sum(transactions) / 1800, 1)    AS trades_per_second
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= '2026-06-10 08:00:00'
  AND window_start <  '2026-06-11 00:00:00'
GROUP BY et_time
ORDER BY et_time
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysiswhat-exchange-colocation-costs
quote_rates ranking 5×3 → quote_burst ranking 5×3 → 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 → The 5s30s spread month by month, with both legs series 241×4 → 5s30s and 2s10s, monthly averages over 20 years series 241×3 → See all 2,830 queries →