{"slug":"investing-at-all-time-highs","qid":"ath_by_year","label":"ath_by_year","post_title":"investing-at-all-time-highs","post_url":"/blog/investing-at-all-time-highs#q-ath_by_year","columns":["year","closes_counted","record_closes","record_share_pct","series_start_label","counting_from_label","last_session_label"],"rows":[{"year":2007,"closes_counted":79,"record_closes":2,"record_share_pct":2.5,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2007"},{"year":2008,"closes_counted":253,"record_closes":0,"record_share_pct":0,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2008"},{"year":2009,"closes_counted":252,"record_closes":0,"record_share_pct":0,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2009"},{"year":2010,"closes_counted":252,"record_closes":0,"record_share_pct":0,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2010"},{"year":2011,"closes_counted":252,"record_closes":0,"record_share_pct":0,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 30, 2011"},{"year":2012,"closes_counted":250,"record_closes":0,"record_share_pct":0,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2012"},{"year":2013,"closes_counted":252,"record_closes":48,"record_share_pct":19,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2013"},{"year":2014,"closes_counted":252,"record_closes":52,"record_share_pct":20.6,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2014"},{"year":2015,"closes_counted":252,"record_closes":11,"record_share_pct":4.4,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2015"},{"year":2016,"closes_counted":252,"record_closes":18,"record_share_pct":7.1,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 30, 2016"},{"year":2017,"closes_counted":251,"record_closes":54,"record_share_pct":21.5,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 29, 2017"},{"year":2018,"closes_counted":251,"record_closes":19,"record_share_pct":7.6,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2018"},{"year":2019,"closes_counted":252,"record_closes":34,"record_share_pct":13.5,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2019"},{"year":2020,"closes_counted":253,"record_closes":33,"record_share_pct":13,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2020"},{"year":2021,"closes_counted":252,"record_closes":71,"record_share_pct":28.2,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2021"},{"year":2022,"closes_counted":251,"record_closes":1,"record_share_pct":0.4,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 30, 2022"},{"year":2023,"closes_counted":250,"record_closes":0,"record_share_pct":0,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 29, 2023"},{"year":2024,"closes_counted":252,"record_closes":58,"record_share_pct":23,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2024"},{"year":2025,"closes_counted":250,"record_closes":40,"record_share_pct":16,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Dec 31, 2025"},{"year":2026,"closes_counted":179,"record_closes":26,"record_share_pct":14.5,"series_start_label":"Sep 10, 2003","counting_from_label":"Sep 10, 2007","last_session_label":"Sep 18, 2026"}],"shape":"table","sql":"WITH\n    daily AS\n    (\n        SELECT\n            date,\n            toFloat64(argMax(close, _ingest_time)) AS close\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'SPY'\n        GROUP BY date\n    ),\n    flagged AS\n    (\n        SELECT\n            date,\n            close,\n            close >= max(close) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS is_record,\n            min(date) OVER ()                                                                          AS series_start\n        FROM daily\n    )\nSELECT\n    toYear(date)                                                 AS year,\n    count()                                                      AS closes_counted,\n    countIf(is_record = 1)                                       AS record_closes,\n    round(100 * countIf(is_record = 1) / count(), 1)             AS record_share_pct,\n    any(formatDateTime(series_start, '%b %e, %Y'))               AS series_start_label,\n    any(formatDateTime(addYears(series_start, 4), '%b %e, %Y'))  AS counting_from_label,\n    formatDateTime(max(date), '%b %e, %Y')                       AS last_session_label\nFROM flagged\nWHERE date >= addYears(series_start, 4)\nGROUP BY year\nORDER BY year","computed_at":"2026-09-20T15:14:15.096344+00:00","elapsed":0.003437038}