Midpoint Peg Orders Explained: Half-Cent Fills
Sub-penny print share by reporting route, off exchange against lit exchangeranking ·
2026-08-09 · 6×3
Share of trades printed off the penny grid, 10:00 to 11:00 a.m. ET, June 17 2026ranking ·
2026-08-09 · 6×3
BLK quoted spread and quote activity by half-hour ET bucket, June 17 2026series ·
2026-08-09 · 16×3
Average NBBO spread and the midpoint saving, 10:00 to 11:00 a.m. ET, June 17 2026ranking ·
2026-08-09 · 6×3
The Sub-Penny Rule and Price Improvement
What one cent is worth, by share price bandranking ·
2026-08-07 · 8×3
The penny tick and the quoted gap, in basis pointstable ·
2026-08-07 · 7×5
Share of prints that landed on a sub-penny priceranking ·
2026-08-07 · 7×3
AAPL sub-penny print rate by trade size, 17 June 2026ranking ·
2026-08-07 · 5×3
Sub-penny print share by reporting route, off exchange against lit exchange
Sub-penny print share by reporting route, off exchange against lit exchange
| symbol | off_exchange_sub_penny_pct | on_exchange_sub_penny_pct |
|---|---|---|
| KO | 86.1 | 11.7 |
| NVDA | 82.7 | 6.2 |
| AAPL | 75.1 | 6.7 |
| MSFT | 62.5 | 3.3 |
| SPY | 61.9 | 3.6 |
| BLK | 53.4 | 3.5 |
the exact SQL behind every number
WITH
(
SELECT groupArray(toString(id))
FROM global_markets.stocks_exchanges
WHERE lower(asset_class) = 'stocks'
AND (lower(type) = 'trf' OR positionCaseInsensitive(name, 'FINRA') > 0)
) AS trf_venue_ids
SELECT
ticker AS symbol,
round(countIf(has(trf_venue_ids, toString(exchange))
AND toUInt64(round(toFloat64(price) * 10000)) % 100 != 0)
/ countIf(has(trf_venue_ids, toString(exchange))) * 100, 1) AS off_exchange_sub_penny_pct,
round(countIf(NOT has(trf_venue_ids, toString(exchange))
AND toUInt64(round(toFloat64(price) * 10000)) % 100 != 0)
/ countIf(NOT has(trf_venue_ids, toString(exchange))) * 100, 1) AS on_exchange_sub_penny_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'BLK')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 15:00:00'
AND price > 0
GROUP BY ticker
HAVING countIf(has(trf_venue_ids, toString(exchange))) > 0
AND countIf(NOT has(trf_venue_ids, toString(exchange))) > 0
ORDER BY off_exchange_sub_penny_pct DESC
More from this analysisMidpoint Peg Orders Explained: Half-Cent Fills
Share of trades printed off the penny grid, 10:00 to 11:00 a.m. ET, June 17 2026
ranking 6×3
→
Average NBBO spread and the midpoint saving, 10:00 to 11:00 a.m. ET, June 17 2026
ranking 6×3
→
BLK quoted spread and quote activity by half-hour ET bucket, June 17 2026
series 16×3
→
AAPL's ten largest overnight gaps down, Jan 2023 to Jun 2026
ranking 10×2
→
See all 2,173 queries →