I keep reading how this rise in rates is a rise in real rates. Since bloomberg doesn't give me the BE spread any more I made a little r-script to download and plot some stuff. More as a learning project but it works well. I highly recommend R for data analysis (and it's free).
You can see real rates have risen a little faster than nominal but not by that much. The BE spread is about at it's lowest since the 08 crash. It seems to have a little predictive power for CPI as well, but I'm showing YoY so maybe the monthly CPI leads the RRBs a bit
Here's the code to automagically extract the info from the BoC if anyone wants to play.
Code: Select all
dataM<-read.table("http://www.bankofcanada.ca/stats/results/csv?rangeType=range&rangeValue=1&rangeWeeklyValue=1&rangeMonthlyValue=100&lP=lookup_bond_yields.php&sR=2003-06-13&se=L_V122544-L_V122553&dF=&dT=u"
,sep = ","
,header = TRUE
,skip = 13
,fill = TRUE)
colnames(dataM)<-c("Date","nominal","real")
dataM$Date<-as.Date(paste(dataM$Date,"-28",sep=""), format = "%Y-%m-%d")
dataD<-read.table("http://www.bankofcanada.ca/stats/results/csv?rangeType=range&rangeValue=30&rangeWeeklyValue=1&rangeMonthlyValue=1&lP=lookup_bond_yields.php&sR=2003-06-13&se=L_V39056-L_V39057&dF=&dT="
,sep = ","
,header = TRUE
,colClasses=c("character", "numeric", "numeric")
,na.strings=c("Bankholiday")
,skip = 13
,fill = TRUE)
colnames(dataD)<-c("Date","nominal","real")
dataD$Date<-as.Date((dataD$Date), format = "%Y-%m-%d")
require(XML)
cpi = readHTMLTable("http://www.bankofcanada.ca/rates/price-indexes/cpi/")
cpi<-cpi[[1]]
cpi<-cpi[c(-1,-2),]
cpi<-cpi[,c(1,5)]
colnames(cpi)<-c("Date","CPI")
cpi$Date<-as.Date(paste(cpi$Date,"-28",sep=""), format = "%Y-%m-%d")
require(xts)
cpi<-xts(cpi[,"CPI"],cpi$Date)
data<-rbind(dataM,dataD)
data<-transform(data, BE = nominal-real)
data<-xts(data[,c("nominal","real","BE")],data$Date)
data<-merge(cpi,data)
data<- data[!is.na(data$nominal),]
colors=c("red","green","blue","black")
plot.zoo(data, plot.type = "single"
, col = colors
, xlab="", ylab="Yield", main="GoC long term bonds")
legend("topright", lty=c(1,1,1,1), lwd=c(2,2,2,2),col=colors, colnames(data))
grid()
newguy