{"slug":"did-stocks-take-25-years-to-recover","qid":"yield_by_year","label":"yield_by_year","post_title":"did-stocks-take-25-years-to-recover","post_url":"/blog/did-stocks-take-25-years-to-recover#q-yield_by_year","columns":["year","dividend_yield_pct"],"rows":[{"year":2007,"dividend_yield_pct":1.91},{"year":2008,"dividend_yield_pct":1.88},{"year":2009,"dividend_yield_pct":2.34},{"year":2010,"dividend_yield_pct":2},{"year":2011,"dividend_yield_pct":2.03},{"year":2012,"dividend_yield_pct":2.43},{"year":2013,"dividend_yield_pct":2.29},{"year":2014,"dividend_yield_pct":2.1},{"year":2015,"dividend_yield_pct":2.05},{"year":2016,"dividend_yield_pct":2.26},{"year":2017,"dividend_yield_pct":2.13},{"year":2018,"dividend_yield_pct":1.9},{"year":2019,"dividend_yield_pct":2.25},{"year":2020,"dividend_yield_pct":1.75},{"year":2021,"dividend_yield_pct":1.55},{"year":2022,"dividend_yield_pct":1.32},{"year":2023,"dividend_yield_pct":1.74},{"year":2024,"dividend_yield_pct":1.49},{"year":2025,"dividend_yield_pct":1.25}],"shape":"ranking","sql":"WITH yearly AS\n(\n    SELECT\n        toYear(date)                   AS year,\n        argMin(toFloat64(close), date) AS first_close\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'SPY'\n      AND date >= '2005-01-01'\n      AND date <  '2026-01-01'\n    GROUP BY year\n),\ncash AS\n(\n    SELECT\n        toYear(ex_date) AS year,\n        sum(cash)       AS cash_paid,\n        count()         AS payments\n    FROM\n    (\n        SELECT\n            ex_dividend_date            AS ex_date,\n            max(toFloat64(cash_amount)) AS cash\n        FROM global_markets.stocks_dividends\n        WHERE ticker = 'SPY'\n          AND ex_dividend_date >= '2005-01-01'\n          AND ex_dividend_date <  '2026-01-01'\n          AND cash_amount > 0\n        GROUP BY ex_dividend_date\n    )\n    GROUP BY year\n    HAVING payments >= 4\n)\nSELECT\n    y.year                                      AS year,\n    round(100 * c.cash_paid / y.first_close, 2) AS dividend_yield_pct\nFROM yearly AS y\nINNER JOIN cash AS c ON c.year = y.year\nORDER BY year","computed_at":"2026-10-02T15:08:04.959694+00:00","elapsed":0.003943365}