Ashby Daniels

A new S&P 500 rolling returns tool

I just added a new page to Market Return Data: S&P 500 Rolling Returns. It shows every 1- to 30-year holding period for the S&P 500, starting each month, with data back to 1871.

The chart below sums up what it shows. Since 1950, the worst 12-month stretch for the S&P 500 was a 41% loss and the best was a 60% gain. Stretch the holding period to 15 years and every single period finished positive. The worst 30-year stretch still compounded at about 9% a year.

Floating bar chart of S&P 500 annualized total returns for every rolling period starting monthly from January 1950 through September 2026. 1 year: worst −41%, median 13.9%, best +60%, 79.1% of periods positive. 3 years: −15% to +33%, 89.6% positive. 5 years: −6% to +30%, 92.3% positive. 10 years: −4% to +19%, 97.1% positive. 15 years: +4% to +19%, 100% positive. 20 years: +5% to +18%, 100% positive. 30 years: +9% to +14%, 100% positive. Medians stay between about 10% and 14% for every holding period.
Worst, median, and best annualized S&P 500 total returns for every rolling period starting monthly, January 1950–September 2026, nominal, dividends reinvested. Market Return Data, using Robert Shiller's data.

The middle of the range barely moves. The median return lands between roughly 10% and 14% a year no matter how long you hold. What changes is how far the outcomes stray from it.

You can switch to after-inflation returns or pick any starting year back to 1871 and see how the picture changes.