%run retropy.ipynb
show(shiller_snp500(), shiller_snp500(taxes=True), shiller_snp500(inf_adj=True), shiller_snp500(inf_adj=True, taxes=True))
trimmed |start| data from 1871-01-01 [S&P500 TR inf-adj, S&P500 NTR inf-adj] to 1913-02-01 [S&P500 TR nominal, S&P500 NTR nominal] trimmed |end| data from 2018-09-01 [S&P500 TR inf-adj, S&P500 NTR inf-adj] to 2018-07-01 [S&P500 TR nominal, S&P500 NTR nominal]
spy = shiller_snp500(taxes=False, inf_adj=False)
years = 10
rol = mcagr_monthly(spy, years).dropna()
fret = rol.shift(-12*years)
show(rol, ta=False)
# PREDICTOR of future 10-year TR return of S&P500
# based on: http://www.philosophicaleconomics.com/2013/12/the-single-greatest-predictor-of-future-stock-market-returns/
stocksAlloc = ((price('FRED/NCBEILQ027S@Q') + price('FRED/FBCELLQ027S@Q'))/1000)/(((price('FRED/NCBEILQ027S@Q') + price('FRED/FBCELLQ027S@Q'))/1000)+price('FRED/BCNSDODNS@Q')+price('FRED/CMDEBT@Q')+price('FRED/FGSDODNS@Q')+price('FRED/SLGSDODNS@Q')+price('FRED/DODFFSWCMI@Q'))
stocksAllocPredictor = (1-stocksAlloc)*80-43
stocksAllocPredictor = stocksAllocPredictor.asfreq("MS")
show(fret, stocksAllocPredictor, ta=False)
# sc = get(sc, source="Y")
# lc = get(lc, source="Y")
# show_rolling_beta(sc, [lc], freq="D", extra=dd(lc)/100)