{"slug":"rule-144-and-restricted-stock-sales","qid":"binding_test_market","label":"Weekly share turnover across US companies, four-week average","post_title":"Rule 144 and Selling Restricted Stock","post_url":"/blog/rule-144-and-restricted-stock-sales#q-binding_test_market","columns":["turnover_bucket","companies"],"rows":[{"turnover_bucket":"under 1%","companies":1010},{"turnover_bucket":"1% to 2%","companies":281},{"turnover_bucket":"2% to 4%","companies":881},{"turnover_bucket":"4% to 8%","companies":1322},{"turnover_bucket":"8% or more","companies":1247}],"shape":"ranking","sql":"SELECT\n    multiIf(\n        weekly_turnover_pct < 1, 'under 1%',\n        weekly_turnover_pct < 2, '1% to 2%',\n        weekly_turnover_pct < 4, '2% to 4%',\n        weekly_turnover_pct < 8, '4% to 8%',\n                                 '8% or more') AS turnover_bucket,\n    count()                                    AS companies\nFROM\n(\n    SELECT 100 * (v.weekly_volume / s.shares_out) AS weekly_turnover_pct\n    FROM\n    (\n        SELECT\n            ticker,\n            toFloat64(sum(volume)) / 4 AS weekly_volume\n        FROM global_markets.stocks_daily_aggs\n        WHERE date >= today() - 32\n          AND date <  today() - 4\n          AND ticker NOT IN ('SPCX')\n        GROUP BY ticker\n        HAVING weekly_volume > 0\n    ) AS v\n    INNER JOIN\n    (\n        SELECT\n            arrayJoin(tickers)                                                     AS ticker,\n            toFloat64(argMax(basic_shares_outstanding, (filing_date, period_end))) AS shares_out,\n            max(period_end)                                                        AS latest_period\n        FROM global_markets.stocks_income_statements\n        GROUP BY ticker\n        HAVING shares_out > 1000000\n           AND latest_period >= today() - 400\n    ) AS s ON s.ticker = v.ticker\n)\nGROUP BY turnover_bucket\nORDER BY min(weekly_turnover_pct)","computed_at":"2026-08-22T04:18:49.695307+00:00","elapsed":3.95845901}