{"slug":"split-adjusted-price-history","qid":"adjustment_check","label":"Is the price file already adjusted? The pre and post close quotient","post_title":"How split-adjusted price history works","post_url":"/blog/split-adjusted-price-history#q-adjustment_check","columns":["split_event","split_n","close_ratio"],"rows":[{"split_event":"SHOP Jun 2022","split_n":10,"close_ratio":1.06},{"split_event":"GOOGL Jul 2022","split_n":20,"close_ratio":1.025},{"split_event":"NVDA Jul 2021","split_n":4,"close_ratio":1.009},{"split_event":"TSLA Aug 2022","split_n":3,"close_ratio":1.003},{"split_event":"CMG Jun 2024","split_n":50,"close_ratio":0.997},{"split_event":"NVDA Jun 2024","split_n":10,"close_ratio":0.993},{"split_event":"WMT Feb 2024","split_n":3,"close_ratio":0.982},{"split_event":"AMZN Jun 2022","split_n":20,"close_ratio":0.98},{"split_event":"AAPL Aug 2020","split_n":4,"close_ratio":0.967},{"split_event":"TSLA Aug 2020","split_n":5,"close_ratio":0.888}],"shape":"ranking","sql":"WITH\nsp AS (\n    SELECT\n        ticker,\n        execution_date,\n        toFloat64(any(split_to)) / toFloat64(any(split_from)) AS n\n    FROM global_markets.stocks_splits\n    WHERE execution_date >= '2020-01-01'\n      AND execution_date < today() - 20\n      AND split_to >= split_from * 3\n      AND ticker IN ('AAPL', 'AMZN', 'CMG', 'GOOGL', 'NVDA', 'SHOP', 'TSLA', 'WMT')\n    GROUP BY ticker, execution_date\n),\npx AS (\n    SELECT\n        ticker,\n        date,\n        toFloat64(any(close)) AS c\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('AAPL', 'AMZN', 'CMG', 'GOOGL', 'NVDA', 'SHOP', 'TSLA', 'WMT')\n      AND date >= '2019-12-01'\n      AND date < today()\n    GROUP BY ticker, date\n)\nSELECT\n    concat(sp.ticker, ' ', formatDateTime(sp.execution_date, '%b %Y'))  AS split_event,\n    round(any(sp.n), 2)                                                 AS split_n,\n    round(argMaxIf(px.c, px.date, px.date <  sp.execution_date)\n        / argMinIf(px.c, px.date, px.date >= sp.execution_date), 3)     AS close_ratio\nFROM sp\nINNER JOIN px ON px.ticker = sp.ticker\nWHERE px.date >= sp.execution_date - 15\n  AND px.date <= sp.execution_date + 15\nGROUP BY sp.ticker, sp.execution_date\nHAVING countIf(px.date <  sp.execution_date) > 0\n   AND countIf(px.date >= sp.execution_date) > 0\nORDER BY close_ratio DESC, split_event","computed_at":"2026-08-22T04:22:03.996457+00:00","elapsed":0.126173386}