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-10-02, from do-nyse-and-nasdaq-have-public-apis.
| venue | pct_of_shares | trade_count |
|---|---|---|
| Nasdaq | 48.52 | 118357 |
| FINRA Alternative Display Facility | 34.3 | 393532 |
| NYSE Arca, Inc. | 5.3 | 63875 |
| Cboe BZX | 3.4 | 34670 |
| Investors Exchange | 2.41 | 23921 |
| Cboe EDGX | 1.83 | 16212 |
| Members Exchange | 1.09 | 10646 |
| New York Stock Exchange | 1.04 | 10927 |
| NYSE Texas, Inc. | 0.78 | 1332 |
| Cboe EDGA | 0.32 | 4215 |
| Cboe BYX | 0.32 | 3333 |
| MIAX Pearl | 0.18 | 1703 |
- Rows × columns
- 12 × 3
- 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 | 12 distinct values (Cboe BYX, Cboe BZX, Cboe EDGA…) | |
pct_of_shares |
number | 0.18 to 48.52 | percent |
trade_count |
number | 1,332 to 393,532 | 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.
WITH venue_shares AS
(
SELECT
exchange AS exchange_code,
count() AS trade_count,
sum(size) AS shares
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-09-15 00:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-09-16 00:00:00', 'UTC')
GROUP BY exchange_code
)
SELECT
if(x.name = '', concat('Exchange code ', toString(v.exchange_code)), x.name) AS venue,
round(100 * v.shares / (SELECT sum(shares) FROM venue_shares), 2) AS pct_of_shares,
v.trade_count AS trade_count
FROM venue_shares AS v
LEFT JOIN
(
SELECT
toString(id) AS ex_id,
any(name) AS name
FROM global_markets.stocks_exchanges
WHERE asset_class = 'stocks'
GROUP BY ex_id
) AS x ON x.ex_id = toString(v.exchange_code)
ORDER BY pct_of_shares DESC
LIMIT 12
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.