{"slug":"quote-driven-vs-order-driven-markets","qid":"liquidity","label":"How US share volume concentrates across symbols, May 2026","post_title":"Quote-Driven vs Order-Driven Markets","post_url":"/blog/quote-driven-vs-order-driven-markets#q-liquidity","columns":["adv_bucket","listing_count","share_of_listings_pct","share_of_volume_pct"],"rows":[{"adv_bucket":"under 10k","listing_count":2909,"share_of_listings_pct":22.8,"share_of_volume_pct":0.1},{"adv_bucket":"10k to 100k","listing_count":3688,"share_of_listings_pct":28.9,"share_of_volume_pct":0.8},{"adv_bucket":"100k to 1M","listing_count":3488,"share_of_listings_pct":27.3,"share_of_volume_pct":7.7},{"adv_bucket":"1M to 10M","listing_count":2329,"share_of_listings_pct":18.3,"share_of_volume_pct":40.8},{"adv_bucket":"over 10M","listing_count":346,"share_of_listings_pct":2.7,"share_of_volume_pct":50.6}],"shape":"ranking","sql":"WITH\ndaily AS\n(\n    SELECT\n        ticker,\n        date,\n        max(toFloat64(volume)) AS shares\n    FROM global_markets.stocks_daily_aggs\n    WHERE date >= '2026-05-01'\n      AND date <  '2026-06-01'\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker, date\n),\nper_symbol AS\n(\n    SELECT\n        ticker,\n        avg(shares) AS adv,\n        sum(shares) AS month_shares\n    FROM daily\n    GROUP BY ticker\n    HAVING adv > 0\n),\nbuckets AS\n(\n    SELECT\n        multiIf(adv <    10000, 'under 10k',\n                adv <   100000, '10k to 100k',\n                adv <  1000000, '100k to 1M',\n                adv < 10000000, '1M to 10M',\n                                'over 10M') AS adv_bucket,\n        min(adv)                            AS bucket_floor,\n        count()                             AS listings,\n        sum(month_shares)                   AS bucket_shares\n    FROM per_symbol\n    GROUP BY adv_bucket\n),\ntotals AS\n(\n    SELECT\n        count()           AS all_listings,\n        sum(month_shares) AS all_shares\n    FROM per_symbol\n)\nSELECT\n    b.adv_bucket                                        AS adv_bucket,\n    b.listings                                          AS listing_count,\n    round(100 * b.listings / t.all_listings, 1)          AS share_of_listings_pct,\n    round(100 * b.bucket_shares / t.all_shares, 1)       AS share_of_volume_pct\nFROM buckets AS b\nCROSS JOIN totals AS t\nORDER BY b.bucket_floor","computed_at":"2026-08-11T15:48:11.243380+00:00","elapsed":0.003303667}