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")