Limit Orders on Crypto Exchanges vs Stocks
The same stock, quoted venue by venue: AAPL spreads by exchangeranking ·
2026-10-06 · 3×4
AAPL print sizes in one hour, Sep 23 2026ranking ·
2026-10-06 · 5×3
Where AAPL's volume sat by ET hour, September 2026series ·
2026-10-06 · 16×3
Average quoted spread across household names, five minutes on Sep 23 2026ranking ·
2026-10-06 · 5×3
The same stock, quoted venue by venue: AAPL spreads by exchange
The same stock, quoted venue by venue: AAPL spreads by exchange
| venue | avg_spread_bps | tightest_spread_bps | quote_updates |
|---|---|---|---|
| Nasdaq | 0.75 | 0.3 | 1360 |
| NYSE Arca, Inc. | 0.89 | 0.3 | 338 |
| Investors Exchange | 1.06 | 0.3 | 74 |
the exact SQL behind every number
SELECT
coalesce(nullIf(ex.acronym, ''), ex.name) AS venue,
round(avg(10000 * (toFloat64(q.ask_price) - toFloat64(q.bid_price))
/ ((toFloat64(q.ask_price) + toFloat64(q.bid_price)) / 2)), 2) AS avg_spread_bps,
round(min(10000 * (toFloat64(q.ask_price) - toFloat64(q.bid_price))
/ ((toFloat64(q.ask_price) + toFloat64(q.bid_price)) / 2)), 2) AS tightest_spread_bps,
count() AS quote_updates
FROM global_markets.cache_stocks_quotes AS q
INNER JOIN global_markets.stocks_exchanges AS ex
ON toUInt32(ex.id) = toUInt32(q.bid_exchange)
WHERE q.ticker = 'AAPL'
AND q.sip_timestamp >= '2026-09-23 18:30:00'
AND q.sip_timestamp < '2026-09-23 18:35:00'
AND q.bid_exchange = q.ask_exchange
AND toFloat64(q.bid_price) > 0
AND toFloat64(q.ask_price) > toFloat64(q.bid_price)
GROUP BY venue
HAVING quote_updates > 50
ORDER BY avg_spread_bps
More from this analysisLimit Orders on Crypto Exchanges vs Stocks
AAPL print sizes in one hour, Sep 23 2026
ranking 5×3
→
Average quoted spread across household names, five minutes on Sep 23 2026
ranking 5×3
→
Where AAPL's volume sat by ET hour, September 2026
series 16×3
→
Where one session of AAPL prints actually happened, by venue
ranking 15×4
→
See all 3,127 queries →