{"slug":"how-long-can-a-stock-trade-under-1-dollar","qid":"price_buckets","label":"price_buckets","post_title":"how-long-can-a-stock-trade-under-1-dollar","post_url":"/blog/how-long-can-a-stock-trade-under-1-dollar#q-price_buckets","columns":["bucket_label","names","share_pct","as_of"],"rows":[{"bucket_label":"Under $0.10","names":3,"share_pct":0.8,"as_of":"Sep 18, 2026"},{"bucket_label":"$0.10 to $0.25","names":47,"share_pct":13.2,"as_of":"Sep 18, 2026"},{"bucket_label":"$0.25 to $0.50","names":87,"share_pct":24.4,"as_of":"Sep 18, 2026"},{"bucket_label":"$0.50 to $0.75","names":100,"share_pct":28.1,"as_of":"Sep 18, 2026"},{"bucket_label":"$0.75 to $1.00","names":119,"share_pct":33.4,"as_of":"Sep 18, 2026"}],"shape":"ranking","sql":"SELECT\n    bucket_label,\n    countIf(px >= lo AND px < hi)                             AS names,\n    round(100 * countIf(px >= lo AND px < hi) / count(), 1)   AS share_pct,\n    any(session_label)                                        AS as_of\nFROM\n(\n    SELECT\n        ticker,\n        argMax(toFloat64(close), _ingest_time)       AS px,\n        any(formatDateTime(date, '%b %e, %Y'))       AS session_label\n    FROM global_markets.stocks_daily_aggs\n    WHERE date = (SELECT max(date) FROM global_markets.stocks_daily_aggs\n                  WHERE ticker = 'SPY' AND date >= today() - 14)\n      AND ifNull(otc, 0) = 0\n      AND length(ticker) <= 4\n      AND ticker NOT IN ('SPCX')\n      AND volume > 0\n      AND close > 0\n    GROUP BY ticker\n    HAVING px < 1\n) AS latest\nARRAY JOIN\n    [0.00, 0.10, 0.25, 0.50, 0.75]                                                             AS lo,\n    [0.10, 0.25, 0.50, 0.75, 1.00]                                                             AS hi,\n    ['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\nGROUP BY lo, hi, bucket_label\nORDER BY lo","computed_at":"2026-09-18T14:59:57.605975+00:00","elapsed":1.274257743}