4
$\begingroup$

I have question about the linear interpolation of interest rates. I am unable to reconcile the Bloomberg methodology for calculating risk-free rate between maturities. In theory it is a straight-line interpolation, but the numbers don't pan out.

For example,

2 year US Sovereign Strips Yield: 0.333%(BEY)

3 year US Sovereign Strips Yield: 0.633%(BEY)

According to the straight-line method the Yield for 2.826 year is 0.5808%(BEY)

While the interpolated 2.826 year Yield is 0.619% from Blg interpolation function(BEY)

in addition, the additional information is below

1 year US Sovereign Strips Yield: 0.11%(BEY)

2 year US Sovereign Strips Yield: 0.333%(BEY)

3 year US Sovereign Strips Yield: 0.633%(BEY)

4 year US Sovereign Strips Yield: 1.058%(BEY)

5 year US Sovereign Strips Yield: 1.426%(BEY)

Is there anyone can calibrate the result from blg?

$\endgroup$
  • $\begingroup$ They may interpolate based on actual issues closer to the target date than the 2 or 3 year... $\endgroup$ – assylias Dec 13 '13 at 11:30
  • 1
    $\begingroup$ This question appears to be off-topic because it is a question the data vendor can answer. $\endgroup$ – Joshua Ulrich Dec 22 '13 at 18:09
1
$\begingroup$

Go through the docs, they have something on how they interpolate the curve. It's definitely not linear. AND remember, they have many different types of curves with different underlyings so you could be looking at a swap curve and comparing to a TSY curve and you will be off.

$\endgroup$
0
$\begingroup$

I don't think a linear interpolation is performed. The fact that the interpolated value is higher than a linear model suggest a concave function. I performed an experiment with the Nelson-Siegel interpolation model using your data. I put the data in a csv file and ran the following code (Book2.csv) is my data and the exercise was performed on R

library('YieldCurve')
a <- read.csv("../Book2.csv")
matur <- a[,1]
rate.corporate <- t(matrix(a[, 2], dimnames = list(paste("M", c(1:dim(a)[1])) ,"2013-11-    18")))
r.corp.xts <- as.xts(rate.corporate, descr='xts from matrix')
NSpars <- Nelson.Siegel(rate=r.corp.xts, maturity=matur)
NSrates(NSpars,2.826)

And the answer was 5.905% which is still short of the 6+% answer that bloomberg gives you, but higher than linear.

So you just have to find out what methodology is used by bloomberg. Cubic splines, nelson-siegel, etc.

$\endgroup$
0
$\begingroup$

I don't have access to BBG right now, but are you sure these are not straight quoted STRIPS yields? Coupon & principal STRIPS are relatively actively traded in the US and these may just be generic STRIPS yields.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.