{"slug":"why-relative-volume-differs-between-platforms","qid":"lookbacks","label":"One AAPL session, four lookbacks: full-day relative volume from daily bars","post_title":"Why Relative Volume Differs Between Platforms","post_url":"/blog/why-relative-volume-differs-between-platforms#q-lookbacks","columns":["lookback","session_volume_millions","average_volume_millions","rvol_ratio"],"rows":[{"lookback":"10 sessions","session_volume_millions":70,"average_volume_millions":41.1,"rvol_ratio":1.7},{"lookback":"20 sessions","session_volume_millions":70,"average_volume_millions":40.6,"rvol_ratio":1.72},{"lookback":"50 sessions","session_volume_millions":70,"average_volume_millions":48.6,"rvol_ratio":1.44},{"lookback":"63 sessions (about 3 months)","session_volume_millions":70,"average_volume_millions":53.4,"rvol_ratio":1.31}],"shape":"ranking","sql":"WITH toDate('2026-09-10') AS session_day\nSELECT\n    lookback,\n    round(session_volume / 1e6, 1)            AS session_volume_millions,\n    round(average_volume / 1e6, 1)            AS average_volume_millions,\n    round(session_volume / average_volume, 2) AS rvol_ratio\nFROM\n(\n    SELECT\n        date,\n        vol                                                                     AS session_volume,\n        avg(vol) OVER (ORDER BY date ROWS BETWEEN 10 PRECEDING AND 1 PRECEDING) AS avg10,\n        avg(vol) OVER (ORDER BY date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS avg20,\n        avg(vol) OVER (ORDER BY date ROWS BETWEEN 50 PRECEDING AND 1 PRECEDING) AS avg50,\n        avg(vol) OVER (ORDER BY date ROWS BETWEEN 63 PRECEDING AND 1 PRECEDING) AS avg63,\n        count()  OVER (ORDER BY date ROWS BETWEEN 63 PRECEDING AND 1 PRECEDING) AS prior_sessions\n    FROM\n    (\n        SELECT date, max(toFloat64(volume)) AS vol\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'AAPL'\n          AND date >= session_day - 110\n          AND date <= session_day\n        GROUP BY date\n    )\n)\nARRAY JOIN\n    ['10 sessions', '20 sessions', '50 sessions', '63 sessions (about 3 months)'] AS lookback,\n    [10, 20, 50, 63]                                                                 AS n,\n    [avg10, avg20, avg50, avg63]                                                     AS average_volume\nWHERE date = session_day\n  AND prior_sessions >= 63\n  AND session_volume > 0\nORDER BY n","computed_at":"2026-09-16T14:57:17.145047+00:00","elapsed":0.003683095}