Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

If we’re cooking up a bond return, we have access to 3 ingredients: inflation, credit, and real. Historically, the recipe looks like this (as described in Historical Sources of Bond Returns).

0-5 parts inflation
+ 1-2 parts credit
+ 1-3 parts real

and the chart looks like this.

 From TimelyPortfolio

In the good old days credit did not apply to U S Treasuries, but let’s just assume that given the current situation that there is a 1.4% chance of a loss of 50% due to credit (equivalent to the current CDS price on 10y US Treasuries of 0.70%). The inflation component should not include this credit risk compensation, so for US Treasuries with no credit component, this number must be included in the real component. When US 10y TIPS yield 0% but even worse -0.25% last week, that means investors find -1% real real returns a yummy recipe.

I think I need to look elsewhere for opportunity.

 From TimelyPortfolio

Access to the US 10y CDS for everybody is available at Bloomberg.

R code:

require(quantmod)

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,

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

Created by Pretty