price_buckets
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-09-18, from how-long-can-a-stock-trade-under-1-dollar.
| bucket_label | names | share_pct | as_of |
|---|---|---|---|
| Under $0.10 | 3 | 0.8 | Sep 18, 2026 |
| $0.10 to $0.25 | 47 | 13.2 | Sep 18, 2026 |
| $0.25 to $0.50 | 87 | 24.4 | Sep 18, 2026 |
| $0.50 to $0.75 | 100 | 28.1 | Sep 18, 2026 |
| $0.75 to $1.00 | 119 | 33.4 | Sep 18, 2026 |
- Rows × columns
- 5 × 4
- 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 |
|---|---|---|---|
bucket_label |
text | 5 distinct values | |
names |
number | 3 to 119 | |
share_pct |
number | 0.8 to 33.4 | percent |
as_of |
text | 1 distinct value (Sep 18, 2026) |
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.
the exact SQL behind every number
SELECT
bucket_label,
countIf(px >= lo AND px < hi) AS names,
round(100 * countIf(px >= lo AND px < hi) / count(), 1) AS share_pct,
any(session_label) AS as_of
FROM
(
SELECT
ticker,
argMax(toFloat64(close), _ingest_time) AS px,
any(formatDateTime(date, '%b %e, %Y')) AS session_label
FROM global_markets.stocks_daily_aggs
WHERE date = (SELECT max(date) FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY' AND date >= today() - 14)
AND ifNull(otc, 0) = 0
AND length(ticker) <= 4
AND ticker NOT IN ('SPCX')
AND volume > 0
AND close > 0
GROUP BY ticker
HAVING px < 1
) AS latest
ARRAY JOIN
[0.00, 0.10, 0.25, 0.50, 0.75] AS lo,
[0.10, 0.25, 0.50, 0.75, 1.00] AS hi,
['Under $0.10', '$0.10 to $0.25', '$0.25 to $0.50', '$0.50 to $0.75', '$0.75 to $1.00'] AS bucket_label
GROUP BY lo, hi, bucket_label
ORDER BY lo
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysishow-long-can-a-stock-trade-under-1-dollar
streaks
ranking 4×3
→
sub_dollar_trend
series 105×3
→
reverse_splits_monthly
series 12×3
→
Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays
ranking 25×4
→
Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years)
ranking 25×3
→
SPY options median spread by expiration date, near-the-money strikes only
ranking 25×4
→
See all 2,358 queries →