Computed Historical Data

Technical documentation on how we derive values from Shiller's raw data.

Inflation

Shiller provides the Consumer Price Index (CPI) for each month in his dataset. We derive annual inflation using:

inflation = (currentYearCPI / previousYearCPI) - 1

Example: 1990 Inflation

CPI January 1990: 127.40

CPI January 1991: 134.60

inflation = (134.60 / 127.40) - 1 = 1.0565 - 1 = 5.65%

Note: Inflation for 1871 (the first year) is set to 0% as there is no prior year for comparison.

Stock Returns

Stock returns are calculated from the S&P 500 price data (labeled "S&P Comp. (P)" in Shiller's spreadsheet) plus dividends.

Capital Appreciation

capitalAppreciation = (currentYearPrice / previousYearPrice) - 1

Dividend Yield

dividendYield = annualDividend / averagePrice

Total Return (Nominal)

totalReturn = capitalAppreciation + dividendYield

Real Return (Inflation-Adjusted)

realReturn = ((1 + totalReturn) / (1 + inflation)) - 1

Example: 2019 Stock Return

S&P 500 Jan 2019: 2,607

S&P 500 Jan 2020: 3,278

Dividend yield: ~1.9%

Inflation: 2.3%

capitalAppreciation = (3278 / 2607) - 1 = 25.7%
totalReturn = 25.7% + 1.9% = 27.6%
realReturn = (1.276 / 1.023) - 1 = 24.7%

CAPE Ratio (P/E10)

The Cyclically Adjusted Price-to-Earnings ratio uses 10 years of inflation-adjusted earnings to smooth out business cycle effects.

CAPE = currentPrice / average(last10YearsRealEarnings)

CAPE-Adjusted Withdrawal Rate

We use CAPE to adjust the safe withdrawal rate dynamically:

adjustedRate = baseRate × (medianCAPE / currentCAPE)adjustmentFactor

Example: Current Market (CAPE ~33)

Base rate: 4%

Median CAPE: 16.5

Current CAPE: 33

Adjustment factor: 0.5

adjustedRate = 4% × (16.5 / 33)0.5
adjustedRate = 4% × (0.5)0.5
adjustedRate = 4% × 0.707 = 2.83%

Housing Returns

Housing returns are calculated from Shiller's Home Price Index, similar to stock returns.

Nominal Return

nominalReturn = (currentYearIndex / previousYearIndex) - 1

Real Return

realReturn = ((1 + nominalReturn) / (1 + inflation)) - 1

Long-Term Housing Reality

Over 135 years (1890-2024), housing has averaged:

  • • Nominal return: ~3.3%/year
  • • Real return: ~0.4%/year (barely beats inflation)

Housing is often mistaken for a great investment, but the data shows it mainly keeps pace with inflation over the long term.

Bond Returns

Shiller's dataset includes 10-year Treasury bond rates. We use these rates directly to calculate bond returns in backtesting simulations.

Historical Bond Rates

1980s Peak
~14%
2020 Low
~0.9%
Long-term Avg
~4.5%
Current (2024)
~4.2%

Portfolio Return

For a mixed portfolio (e.g., 70% stocks, 30% bonds), we calculate the weighted return:

portfolioReturn = (stockWeight × stockReturn) + (bondWeight × bondReturn)

Example: 70/30 Portfolio in 2019

Stock return: 27.6%

Bond return: 8.1%

Allocation: 70% stocks, 30% bonds

portfolioReturn = (0.70 × 27.6%) + (0.30 × 8.1%)
portfolioReturn = 19.32% + 2.43% = 21.75%

Data Update Schedule

Shiller typically updates his dataset monthly. We update our embedded data annually, usually in Q2 of each year once the previous year's data is finalized. The current dataset includes data through 2024.