On this page is a S&P 500 Historical Return calculator. It allows you to input time-frames from 1 month all the way up to 60 years and 11 months and crunches data for historical returns on the S&P 500. It runs over all rolling periods contained in Robert Shiller’s S&P data set, which starts in 1871. Once returns are calculated, you can navigate to the ‘Chart’ tab, and we will graph them as ordered sets.
You can adjust for dividend reinvestment (note: no fees or taxes) and inflation (measured by CPI). The results also show a measure of volatility – the monthly realized historical volatility and annual realized historical volatility, which will automatically recompute for any new monthly data we add (you should follow our S&P 500 Dividend Reinvestment Calculator for updates). Finally, if you select an ending month in the ‘Input’ tab, DQYDJ will calculate every period ending on that month – useful for historical period comparisons.
The S&P 500 Historical Return Calculator
How to Use the S&P 500 Historical Return Calculator
The input page to the S&P 500 Historical Return Calculator is relatively simple. There are only three inputs you’ll need to think about, then you can select the time periods you’d like to calculate. There is no hard limit on the number of periods. Select whatever you think your eyesight and computer will handle… or run it multiple times.
Also: all returns are annualized, unless otherwise noted. This means you can directly compare results between time periods, but you will see unbelievable numbers for smaller time frames – a high monthly return looks even higher when annualized!
Inputs to the S&P 500 Historical Return Calculator
- Reinvest Dividends – The average financial site only quotes price returns… by default, DQYDJ will reinvest dividends on your behalf to compute dividend reinvested returns. Note that there is no simulation for taxes or fees, however. (For that math we have a S&P 500 reinvestment calculator; please try that after)
- Adjust for Inflation (CPI) – Should DQYDJ factor in inflation, in the form of the CPI, for this simulation?
- Detailed Results for Period – If you select this, we will add another results table with an exhaustive record of all of your return periods ending in the month from this menu. We can see this being valuable for round number comparisons such as 1, 5, 10, 20, or 30 year returns where you’d like to see performance ending at a definite date.
Outputs from the S&P 500 Historical Return Calculator
- Using (CPI) Inflation Adjustment – Are these results adjusted for inflation?
- Calculating Dividend Reinvestment – Are these results including dividend reinvestment?
- Monthly Realized Historical Volatility – Historical volatility for every month over month period. (See here)
- Annual Realized Historical Volatility – Historical volatility for every year over year period.
- Summary Statistics – For every period you selected, DQYDJ calculates average, median, maximum, and minimum returns. We also compute a standard deviation of final returns over all applicable rolling periods.
- Percentile Table – In parenthesis, we put ‘Percent Beating’… this is the best way to view this table. For example, numbers in the 90% row can be interpreted as ‘90% of rolling periods delivered this return or higher‘. (The summary statistics contain the actual highest and lowest periods.)
- (Optional) Annualized Returns Ending… – This table will only appear if you select a month in the ‘Detailed Results for Period’ option pull-down. It will show an exhaustive list of every chosen period length ending on the month you selected.
Charts from the S&P 500 Historical Return Calculator
The charts are relatively self-explanatory but let’s lay out a few things:
- When you click the ‘Chart’ tab, the chart will be drawn on demand (both to save cycles if you don’t care about the visual, and to work around a hidden div issue with Google Charts.)
- Ordered Sets of returns means, for us, that we graph from the 2nd percentile to the 98th percentile of returns after sorting.
- If you hover over a data point on a line, you will see that percentile’s return for the selected period (and for clustered lines, it should help to narrow down which line you are looking at!)
Takeaways from the S&P 500 Historical Return Calculator
If you’ve seen our previous calculator on this subject, you’ve probably already drawn some conclusions about why this data is so interesting when presented this way. Let’s stress one main point for you again: the numbers look better and better the longer the time period you select.
That is, as your holding period increases:
- Volatility smooths out
- Returns become more predictable
- For long enough time periods negative returns actually disappear
Of course, at this point we need to caution you: past performance is no guarantee of future results. However, past performance is an excellent way to determine if the plans you’ve made based on future investment returns are reasonable. If you expect to return 12% real over a 40 year career it helps to know… that’s never happened before. A 10.282% annualized real return is the winner, so far.
Knowing what has happened in the past, though, is a reasonable guide for what might happen in the future. You’ll also note that the minimum 40 year real return was 3.188% at the time of this writing. At no point over a 40 year career did the S&P 500 lose to inflation (thus far). We’ve even done some of that math for you already: see our theoretical examples on maxing out a 401(k) and maxing out an IRA.
So, here’s all of the historical data for any time period you can dream up in an easy to use and re-use format. And if it’s the wrong format? Check out our other investment calculators, hopefully you’ll find something more up your alley!