venue_share
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-18, from where-to-find-options-trade-data.
| venue | exchange_id | print_count | prints_label | share_pct |
|---|---|---|---|---|
| exchange 56 | 56 | 161932 | 161.93 thousand | 14.4 |
| exchange 48 | 48 | 125094 | 125.09 thousand | 11.1 |
| exchange 46 | 46 | 99356 | 99.36 thousand | 8.8 |
| exchange 57 | 57 | 89282 | 89.28 thousand | 7.9 |
| exchange 51 | 51 | 88348 | 88.35 thousand | 7.8 |
| exchange 47 | 47 | 74682 | 74.68 thousand | 6.6 |
| exchange 45 | 45 | 70720 | 70.72 thousand | 6.3 |
| exchange 52 | 52 | 62401 | 62.40 thousand | 5.5 |
| exchange 44 | 44 | 59770 | 59.77 thousand | 5.3 |
| exchange 62 | 62 | 47107 | 47.11 thousand | 4.2 |
| exchange 60 | 60 | 45834 | 45.83 thousand | 4.1 |
| exchange 53 | 53 | 43183 | 43.18 thousand | 3.8 |
| exchange 64 | 64 | 35453 | 35.45 thousand | 3.2 |
| exchange 69 | 69 | 28870 | 28.87 thousand | 2.6 |
| exchange 66 | 66 | 27775 | 27.77 thousand | 2.5 |
| exchange 67 | 67 | 24674 | 24.67 thousand | 2.2 |
| exchange 63 | 63 | 23990 | 23.99 thousand | 2.1 |
| exchange 59 | 59 | 17007 | 17.01 thousand | 1.5 |
- Rows × columns
- 18 × 5
- 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 |
|---|---|---|---|
venue |
text | 18 distinct values (exchange 44, exchange 45, exchange 46…) | |
exchange_id |
text | 18 distinct values (44, 45, 46…) | |
print_count |
number | 17,007 to 161,932 | count |
prints_label |
text | 18 distinct values | |
share_pct |
number | 1.5 to 14.4 | 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.
the exact SQL behind every number
SELECT
coalesce(nullIf(e.venue, ''), concat('exchange ', toString(t.exchange_id))) AS venue,
toString(t.exchange_id) AS exchange_id,
t.print_count AS print_count,
formatReadableQuantity(t.print_count) AS prints_label,
round(100 * t.print_count / sum(t.print_count) OVER (), 1) AS share_pct
FROM
(
SELECT
toUInt32(exchange) AS exchange_id,
count() AS print_count
FROM global_markets.options_trades
WHERE underlying_symbol = 'SPY'
AND sip_timestamp >= '2025-05-15 00:00:00'
AND sip_timestamp < '2025-05-16 00:00:00'
GROUP BY exchange_id
) AS t
LEFT JOIN
(
SELECT
toUInt32(id) AS exchange_id,
any(name) AS venue
FROM global_markets.stocks_exchanges
WHERE asset_class = 'options'
GROUP BY exchange_id
) AS e ON t.exchange_id = e.exchange_id
ORDER BY print_count DESC
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysiswhere-to-find-options-trade-data
iv_skew
table 29×4
→
largest_prints
table 10×7
→
session_clock
series 14×5
→
The 2s10s spread, every print of the half
table 124×2
→
The 2s10s spread, every print of the half
table 124×2
→
Every half-year since 1976: the 2y and 10y change, the twist between them, and the half's lowest 2s10s print
table 100×7
→
See all 2,358 queries →