{"slug":"day-trading-strategies-explained","qid":"rvol_buckets","label":"rvol_buckets","post_title":"day-trading-strategies-explained","post_url":"/blog/lang/pcm/day-trading-strategies-explained#q-rvol_buckets","columns":["rvol_bucket","sessions","share_pct"],"rows":[{"rvol_bucket":"under 0.7","sessions":347,"share_pct":17.1},{"rvol_bucket":"0.7 to 1.0","sessions":903,"share_pct":44.4},{"rvol_bucket":"1.0 to 1.5","sessions":619,"share_pct":30.5},{"rvol_bucket":"1.5 to 2.0","sessions":101,"share_pct":5},{"rvol_bucket":"2.0 and up","sessions":62,"share_pct":3.1}],"shape":"ranking","sql":"WITH dedup AS (\n    SELECT\n        ticker,\n        date,\n        toFloat64(max(volume)) AS vol\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'AMD', 'F', 'T')\n      AND date >= today() - 420\n      AND date <  today()\n    GROUP BY ticker, date\n),\nwindowed AS (\n    SELECT\n        ticker,\n        date,\n        vol,\n        avg(vol) OVER (\n            PARTITION BY ticker ORDER BY date\n            ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING\n        ) AS base_vol\n    FROM dedup\n),\nrv AS (\n    SELECT vol / base_vol AS rvol\n    FROM windowed\n    WHERE base_vol > 0\n      AND date >= today() - 370\n)\nSELECT\n    multiIf(rvol < 0.7, 'under 0.7',\n            rvol < 1.0, '0.7 to 1.0',\n            rvol < 1.5, '1.0 to 1.5',\n            rvol < 2.0, '1.5 to 2.0',\n            '2.0 and up') AS rvol_bucket,\n    count()                                       AS sessions,\n    round(100 * count() / (SELECT count() FROM rv), 1) AS share_pct\nFROM rv\nGROUP BY rvol_bucket\nORDER BY min(rvol)","computed_at":"2026-10-09T16:04:09.228253+00:00","elapsed":0.334688402}