Why Stocks Halt: Limit Up-Limit Down Bands
Where listed symbols sit by price, and which band rule governs each zoneranking ·
2026-08-22 · 6×3
Average minute range through the session, five liquid namesseries ·
2026-08-22 · 26×3
How far eight stocks move in a five minute window, trailing yearranking ·
2026-08-22 · 8×4
What a 5 percent band is worth in dollars, by price levelranking ·
2026-08-22 · 8×4
Where listed symbols sit by price, and which band rule governs each zone
Where listed symbols sit by price, and which band rule governs each zone
| price_zone | stock_count | share_of_tape_pct |
|---|---|---|
| under $0.75 | 720 | 5.6 |
| $0.75 to $3 | 946 | 7.3 |
| $3 to $20 | 3560 | 27.5 |
| $20 to $100 | 6562 | 50.7 |
| $100 to $500 | 1083 | 8.4 |
| $500 and up | 82 | 0.6 |
the exact SQL behind every number
SELECT
price_zone,
stock_count,
round(stock_count * 100.0 / sum(stock_count) OVER (), 1) AS share_of_tape_pct
FROM
(
SELECT
multiIf(last_price < 0.75, 'under $0.75',
last_price < 3, '$0.75 to $3',
last_price < 20, '$3 to $20',
last_price < 100, '$20 to $100',
last_price < 500, '$100 to $500',
'$500 and up') AS price_zone,
count() AS stock_count
FROM
(
SELECT
ticker,
toFloat64(argMax(close, window_start)) AS last_price
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= today() - 8
AND window_start < today() - 1
AND volume > 0
GROUP BY ticker
HAVING last_price > 0
)
GROUP BY price_zone
)
ORDER BY multiIf(price_zone = 'under $0.75', 1,
price_zone = '$0.75 to $3', 2,
price_zone = '$3 to $20', 3,
price_zone = '$20 to $100', 4,
price_zone = '$100 to $500', 5,
6)
More from this analysisWhy Stocks Halt: Limit Up-Limit Down Bands
How far eight stocks move in a five minute window, trailing year
ranking 8×4
→
What a 5 percent band is worth in dollars, by price level
ranking 8×4
→
Average minute range through the session, five liquid names
series 26×3
→
SPY open, midday and close volume against an average minute, by year
ranking 8×4
→
See all 2,170 queries →