STRASMORE/EXPLORE 2,882 QUERIES

tape_mix_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-10-01, from tape-a-b-and-c-explained.

as of series 16×4read in context →
tape_mix_by_hour — 16 rows by 4 columns, computed from US exchange, SIP and OPRA data.
et_timetape_a_pcttape_b_pcttape_c_pct
04:0014086
05:0012.2087.8
06:0011.7088.3
07:0016084
08:0020.9079.1
09:0023077
10:0025.4074.6
11:0024.7075.3
12:0027.5072.5
13:0031.5068.5
14:0032.9067.1
15:0035.4064.6
16:0026.8073.2
17:0010.7089.3
18:009.8090.2
19:009.5090.5
Rows × columns
16 × 4
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 tape_mix_by_hour, derived from the stored result.
ColumnTypeRangeNotes
et_time text 16 distinct values (04:00, 05:00, 06:00…)
tape_a_pct number 9.5 to 35.4 percent
tape_b_pct number every row is 0 percent
tape_c_pct number 64.6 to 90.5 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.

SELECT
    formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
    round(100 * countIf(tape = 1) / count(), 1) AS tape_a_pct,
    round(100 * countIf(tape = 2) / count(), 1) AS tape_b_pct,
    round(100 * countIf(tape = 3) / count(), 1) AS tape_c_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'QQQ', 'KO', 'JNJ', 'XOM', 'WMT', 'SPY', 'IWM', 'GLD', 'HYG')
  AND sip_timestamp >= toDateTime64('2026-09-15 04:00:00', 9, 'UTC')
  AND sip_timestamp <  toDateTime64('2026-09-16 04:00:00', 9, 'UTC')
GROUP BY et_time
HAVING count() >= 100
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 analysistape-a-b-and-c-explained
tape_by_symbol ranking 12×4 → class_share_symbology ranking 10×4 → listing_venues table 7×5 → 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 → See all 2,882 queries →