shillerData = shillerCSV.map(csvRow => {
let year = parseInt(csvRow["Date"])
let month = parseFloat(csvRow["Date"]) * 100 % 100
return {
date: new Date(`${year}-${month}-01`),
price: parseFloat(csvRow["S&P Comp. P"]),
dividend: parseFloat(csvRow["Dividend D"]),
earnings: parseFloat(csvRow["Earnings E"]),
cpi: parseFloat(csvRow[" Consumer Price Index CPI"]),
gs10: parseFloat(csvRow["Long Interest Rate GS10"]),
realPrice: parseFloat(csvRow["Real Price"]),
realDividend: parseFloat(csvRow["Real Dividend"]),
realEarnings: parseFloat(csvRow["Real Earnings"]),
realTotalReturnPrice: parseFloat(csvRow[" Real Total Return Price "]),
cape: parseFloat(csvRow["Cyclically Adjusted Price Earnings Ratio P/E10 or CAPE"]),
trCape: parseFloat(csvRow["Cyclically Adjusted Total Return Price Earnings Ratio TR P/E10 or TR CAPE"]),
excessCapeYield: parsePercent(csvRow["Excess CAPE Yield"]),
monthlyTotalBondReturn: parseFloat(csvRow["Monthly Total Bond Returns"]),
realTotalBondReturn: parseFloat(csvRow["Real Total Bond Returns"]),
tenYearAnnualizedRealStockReturn: parsePercent(csvRow["10 Year Annualized Stock Real Return"]),
tenYearAnnualizedRealBondReturn: parsePercent(csvRow["10 Year Annualized Bonds Real Return"]),
tenYearRealAnnualizedExcessReturn: parsePercent(csvRow["Real 10 Year Excess Annualized Returns"]),
}
})