How S&P 500 Don Recover From Every Crash Since 2016
Every S&P 500 crash since 2016 don recover reach new high. See wetin drawdowns look like: how deep dem run, how often dem happen, and where market stand now.
Every S&P 500 crash wey don happen since 2016 don recover reach new high so far. The index fall like one-third of im value inside five weeks for early 2020, and climb back to record inside six months. E lose one quarter across 2022 and take back the high for 2024. Market dey spend most of im life somewhere below old peak, and so far every one of those low don be temporary.
That last sentence na the whole post. Crash dey feel like break for chart. For the record, na dip wey the index always, eventually, dig out. This one no dey promise say the next one go do am. E dey show wetin the last decade actually do, from stored prices wey you fit open and audit.
How far below im high market dey usually sit
Investors dey see market as line wey dey go up. Most of the time, na line wey dey sit below high wey e don already set. Drawdown na the drop from the highest close so far to wherever price dey now, and e dey stay open until the index print fresh record. The chart below dey group every trading day since 2016 by how far S&P 500, wey dem dey measure through SPY ETF, close below im running peak.
The exact SQL behind every number
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt,
(c / max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - 1) * 100 AS ddpct
FROM d
),
b AS (
SELECT multiIf(ddpct >= -0.5, 'At a new high',
ddpct >= -5, 'Within 5% of the high',
ddpct >= -10, '5-10% below',
ddpct >= -20, '10-20% below',
'More than 20% below') AS bucket,
multiIf(ddpct >= -0.5, 0, ddpct >= -5, 1, ddpct >= -10, 2, ddpct >= -20, 3, 4) AS ord
FROM dd
)
SELECT bucket, round(100.0 * count() / (SELECT count() FROM b), 1) AS pct_of_trading_days
FROM b GROUP BY bucket, ord ORDER BY ordThe index close for brand-new high only for 29.7% of trading days. E sit within 5% of high for another 38.7%, and more than 20% below one for 2.8%. To dey underwater na market normal condition, no be alarm. Deep holes dey rare, and shallow ones dey almost constant.
Market underwater history since 2016
Plot the worst drawdown wey open for each month and the shape of the last decade go show. Each episode dey carve down, then claw back to zero line as the index set new record. Reading of zero mean say market touch fresh high that month.
The exact SQL behind every number
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt, c,
max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS peak
FROM d
)
SELECT toStartOfMonth(dt) AS month, round(min((c / peak - 1) * 100), 1) AS worst_drawdown_pct
FROM dd GROUP BY month ORDER BY monthThe two deep troughs clear well well. The COVID crash for March 2020 cut the index by like one-third inside matter of weeks. 2022 bear market grind lower across most of the year. Around dem dey the ordinary pullbacks: rough December for 2018, sharp autumn for 2019, repeated 5-to-10% dips wey never make headline. Every one of dem return to zero line. The chart na decade of scares, each one erase by the next new high.
Every drawdown so far don recover
Recovery dey read more plain year by year. For each calendar year below, the worst drawdown wey the index suffer from im running high dey sit next to the price return wey the year actually deliver.
The exact SQL behind every number
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt, toYear(dt) AS yr, c,
(c / max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - 1) * 100 AS ddpct
FROM d
)
SELECT toString(yr) AS year,
round(min(ddpct), 1) AS worst_drawdown_pct,
round((argMax(c, dt) / argMin(c, dt) - 1) * 100, 1) AS year_return_pct
FROM dd GROUP BY yr ORDER BY yr2020 na the cleanest example. Worst drawdown reach -34.2%, and the year still finish at 15.1%. 2019 fall as far as -16.8% for im low and close at 28.6%. The one losing year for the span na 2022, intra-year low of -25.4% and full-year price return of -20%. The index take back that ground the following year, when 2023 return 24.8%. Double-digit drawdown inside year don be the rule pass exception, and most of those years still finish higher.
The pattern no be magic. To split the index into handful of mega-caps and everything else dey explain plenty of modern drawdown, point wey our study of index concentration cover. Crash also land hardest for highest-beta names, while calmest stocks dey fall less. Recovery, though, don show across the whole tape so far.
Where market dey stand today
One scorecard dey put the current standing for context against the full period.
The exact SQL behind every number
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt,
(c / max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - 1) * 100 AS ddpct
FROM d
)
SELECT round(-min(ddpct), 1) AS deepest_fall_pct,
round(-argMax(ddpct, dt), 1) AS current_fall_pct,
round(100.0 * countIf(ddpct < -0.5) / count(), 0) AS pct_days_below_high,
round(100.0 * countIf(ddpct < -5) / count(), 0) AS pct_days_below_5,
round(100.0 * countIf(ddpct < -10) / count(), 0) AS pct_days_below_10,
count() AS trading_days
FROM ddSince 2016 the deepest wey S&P 500 don fall from high na 34.2%, the COVID low. As of the latest session, e dey sit 0.6% below im high. Across 2647 trading days, e close below old peak for 70% of dem, more than 5% below for 32%, and more than 10% below for 16%. Market don spend like one-third of im life for meaningful distance from im high, and to date e don climb to new record out of every one of those holes.
None of this na forecast. Past recoveries dey describe wetin happen, no be wetin future crash go do, and index wey recover from 34% fall fit still fall further next time. The value for the record na perspective: drawdown na market resting state as much as im emergency, and the reflex to sell into one don, for this window, sell into the recovery.
FAQ
Stock market crashes dey always recover?
Every S&P 500 drawdown since 2016 don recover to new high to date, including the like 34.2% COVID crash and 2022 bear market. Past recoveries na record of wetin happen, no be guarantee about any future decline.
How long market dey take to recover from crash?
E don vary wide. 2020 crash take back im high within months, while 2022 bear market take reach 2024. The underwater chart above dey show each drawdown dey return to zero line for im own pace.
How much of the time stock market dey below im high?
Since 2016 S&P 500 don close below old high for like 70% of trading days. E reach brand-new high only for 29.7% of dem. To sit below peak na market normal state.
Which one na the worst stock market drawdown since 2016?
COVID crash of early 2020, when the index fall like 34.2% from im high inside few weeks. 2022 bear market na the next deepest, with intra-year low near -25.4%.
E good idea to buy stocks after crash?
This post no dey offer advice. Historical record dey show say market don spend much of im life below high and don recover from every crash for the window so far, though whether that one go hold nobody know. See our data study of buying during fear for how market most fearful days don perform.
Every number here dey come from stored query wey you fit open and audit under each chart. Run the same underwater test for any ticker for Strasmore terminal.