require(quantmod)
require(PerformanceAnalytics)
require(lattice)
require(latticeExtra)

getSymbols("GS10",src="FRED") #load 10yTreasury
getSymbols("BAA",src="FRED") #load Corporate for credit
getSymbols("CPIAUCSL",src="FRED") #load CPI for inflation
bondReturnSources<-na.omit(merge(ROC(CPIAUCSL,12,type="discrete")*100,
            BAA-GS10,GS10-ROC(CPIAUCSL,12,type="discrete")*100))
bondReturnSources<-merge(bondReturnSources,
            bondReturnSources[,1]+bondReturnSources[,2]+bondReturnSources[,3]) #add for total
colnames(bondReturnSources)<-c("Inflation","Credit","Real","Total")
chart.TimeSeries(bondReturnSources,legend.loc="bottom",
	main="Historical Sources of Bond Returns",
	ylab="Yield as %",
	colorset=c("darkolivegreen3","cadetblue","goldenrod","gray70"))
xyplot(bondReturnSources,
	col = c("darkolivegreen3","cadetblue","goldenrod","gray70"),
	lwd = 3,
	par.settings = theEconomist.theme(box = "transparent"),
	lattice.options = theEconomist.opts(),
	main = "Sources of US Bond Returns")