How ETF Creation and Redemption Works
Quoted spread against average share volume, US listed ETFsranking ·
2026-08-07 · 5×3
One session of SPY prints, sorted into trade size bucketsranking ·
2026-08-07 · 4×4
Quoted spread through the session: large cap fund vs micro cap fundseries ·
2026-08-07 · 79×3
Daily range and volume in a high yield bond ETF, month by monthranking ·
2026-08-07 · 9×3
Quoted spread against average share volume, US listed ETFs
Quoted spread against average share volume, US listed ETFs
| ticker | spread_bps | avg_daily_shares |
|---|---|---|
| SPY | 0.29 | 64.43 million |
| VOO | 0.57 | 8.77 million |
| VV | 1.69 | 393.02 thousand |
| EPHE | 5.88 | 113.12 thousand |
| IWC | 30.89 | 131.11 thousand |
the exact SQL behind every number
WITH
quoted AS
(
SELECT
ticker,
round(10000 * avg(2 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price)), 2) AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'VOO', 'VV', 'SPLG', 'IWC', 'EPHE')
AND sip_timestamp >= '2026-06-17 15:00:00'
AND sip_timestamp < '2026-06-17 16:00:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker
),
traded AS
(
SELECT
ticker,
formatReadableQuantity(round(avg(volume))) AS avg_daily_shares
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'VOO', 'VV', 'SPLG', 'IWC', 'EPHE')
AND date >= '2026-03-17'
AND date < '2026-06-18'
GROUP BY ticker
)
SELECT
q.ticker AS ticker,
q.spread_bps AS spread_bps,
t.avg_daily_shares AS avg_daily_shares
FROM quoted AS q
INNER JOIN traded AS t ON t.ticker = q.ticker
ORDER BY q.spread_bps ASC
More from this analysisHow ETF Creation and Redemption Works
Daily range and volume in a high yield bond ETF, month by month
ranking 9×3
→
One session of SPY prints, sorted into trade size buckets
ranking 4×4
→
Quoted spread through the session: large cap fund vs micro cap fund
series 79×3
→
How far seven ETFs travel in a regular session, first half of 2026
ranking 7×3
→
See all 2,173 queries →