Chapter 5. Estimating the Term Structure of Interest Rates
In the previous chapter we discussed how changes in the level of interest rates, the term structure, affect the prices of fixed income securities. Now we focus on the estimation of the term structure of interest rates, which is a fundamental concept in finance. It is an important input in almost all financial decisions. This chapter will introduce term structure estimation methods by cubic spline regression, and it will demonstrate how one can estimate the term structure of interest rates using the termstrc
package and the govbonds
dataset.
We need to choose the functions carefully if we want the estimation to yield a reasonably estimated discount function. The typical discount function is nonlinear. It is a monotonically decreasing function and converges to zero asymptotically at infinity. Thus, fitting a straight line is not a good idea. One can try to fit a higher order polynomial to the discount function. This is not a satisfactory solution either. If we fit low-order polynomials, they are usually not flexible enough and don't fit well, especially at the short-term maturities. If we fit high-order polynomials, they may fit well but tend to produce wild swings at long-term maturities where relatively few bonds mature. These wild swings usually result in unrealistic term structure estimates.
Spline functions are functions that help solve this problem as their flexibility can be increased locally where needed, without raising the polynomial order of the estimated function. Estimating the term structure...
Although we have already used some functions from the termstrc
package in the previous example to demonstrate how one can determine the ideal number of knot points and also specify those, this process can be done in an easier manner with some further R functions, as shown in the following command lines:
First we used the estim_cs
function that estimates the term structure of coupon bonds based on cubic splines (Ferstl-Haydn, 2010) and returns the knot points in a list with the knotpoints
name. Please note that estim_cs
works with a list—just like most functions in the package—that's why x$knotpoints
returned a list from which we checked only the first element that was identical to the values we computed manually in the preceding section.
There are a bunch of other useful...
In this chapter, we discussed term structure estimation methods by cubic spline regression and also demonstrated how one can estimate the term structure of interest rates in R. After a brief theoretical introduction to term structure and interest rates, also discussing the most basic methods such as a linear regression model and related problems, the chapter gave a detailed overview of an R implementation of cubic spline regression model and also mentioned already published R functions and packages for such tasks with more complex expectations.