{"slug":"aapl-stock-split-history","qid":"runup","label":"The twelve months before each Apple split","post_title":"Apple Stock Split History and Ratios","post_url":"/blog/aapl-stock-split-history#q-runup","columns":["split_label","close_year_earlier","close_before_split","gain_12m_pct"],"rows":[{"split_label":"Feb 2005","close_year_earlier":0.43,"close_before_split":1.59,"gain_12m_pct":272.6},{"split_label":"Jun 2014","close_year_earlier":15.78,"close_before_split":23.06,"gain_12m_pct":46.1},{"split_label":"Aug 2020","close_year_earlier":52.18,"close_before_split":124.81,"gain_12m_pct":139.2}],"shape":"ranking","sql":"SELECT\n    formatDateTime(s.split_date, '%b %Y')                              AS split_label,\n    round(argMaxIf(b.close, b.date, b.date <= s.split_date - 365), 2)  AS close_year_earlier,\n    round(argMax(b.close, b.date), 2)                                  AS close_before_split,\n    round(100 * (argMax(b.close, b.date)\n               / argMaxIf(b.close, b.date, b.date <= s.split_date - 365) - 1), 1) AS gain_12m_pct\nFROM\n(\n    SELECT DISTINCT execution_date AS split_date\n    FROM global_markets.stocks_splits\n    WHERE ticker = 'AAPL'\n) AS s\nCROSS JOIN\n(\n    SELECT date, toFloat64(close) AS close\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'AAPL'\n) AS b\nWHERE b.date >= s.split_date - 400\n  AND b.date <  s.split_date\nGROUP BY s.split_date\nHAVING countIf(b.date <= s.split_date - 365) > 0\nORDER BY s.split_date","computed_at":"2026-08-24T14:33:05.785287+00:00","elapsed":0.003487996}