Our first blog on Nelson Siegel yield curve smoothing technology and its shortcomings compared to cubic and quartic splines generated quite a bit of interest. This post and posts 3 and 4 detail how one can take simple market quotes and estimate forward rate and yield curves via Nelson Siegel and Maximum Smoothness Forward Rate methods. Part 2 provides a worked Nelson Siegel implementation. Part 3 provides a worked maximum smoothness forward rate implementation, and Part 4 compares the two methods, showing that Nelson Seigel fails from both a smoothness and a price-fitting point of view in many circumstances.
Part 1 of this blog was posted on www.kamakuraco.com on July 21. It contrasts the nature and implications of the Nelson-Siegel approach to yield curve fitting with both cubic splines and the maximum smoothness forward rate approach of Adams and van Deventer (1994), explained in Chapter 8 of Advanced Financial Risk Management (van Deventer, Imai and Mesler, John Wiley & Sons, 2004). The goal of this post is to show the user how to generate yield curves from market data in simple spreadsheet software. To be clear, it is far simpler to use software designed for the task, like Kamakura Risk Manager, but generating these curves “by hand” will illuminate the relative simplicity of the spline method, as well as illustrate that it is a successful (and arbitrage-free) substitute for Nelson Siegel that is both more accurate in fitting observable market prices and smoother in terms of fitted forward rates that are consistent with those market prices.
Rather than generate stylized data or select bonds that are particularly suited for the task (say, domestic zero coupons), we begin with a selection of Russian Federation coupon-bearing bonds. The following four bond quotes were taken from Bloomberg on July 22, 2009.
Note that this is not some stylized, textbook example. These bonds represent data one is likely to encounter “in the field”: they span a variety of maturity dates, coupons, and prices. For both the Nelson-Siegel and maximum smoothness forward rate approach, the basic idea is as follows:
- Given a forward rate or yield curve, one can calculate zero coupon prices at various dates
- Given the prices in (1), one can easily price a coupon bond as the sum of the payments multiplied by the appropriate zero price on that date
- We want to select the forward/yield curve in (1) that minimizes the sum of squared errors of the estimated prices in (2)
The following continuous time relationships between zero prices, p(t), zero yields, y(t), and forwards, f(t), will prove useful:
These are all common relationships that we will not derive here, but the interested reader can find detailed information in Chapter 8 of “Advanced Financial Risk Management” (2004) by van Deventer, Imai, and Mesler.
The first difference between the two approaches is the functional form of the curve to be estimated. Nelson Siegel proposes the following parameterization:
where α, β, γ, and δ are parameters to be estimated, and t represents time in years. While the prices that result from this yield curve may look sensible, recall our July 21, 2009 blog post. We referred to published academic literature (Filipovic “A Note on the Nelson-Siegel Family,” Mathematical Finance, 1999) that proves that there are no arbitrage-free yield curves that take the above functional form. That said, Nelson Siegel is still widely used in the industry for its relative parsimony (only four parameters) and fairly reasonable results. Again, Kamakura finds copulas and Value at Risk a useful analogy here: a particular method or model may provide reasonable estimates 95% of the time, but the times that are the most relevant to the user are the 5% of the time where the model produces pure nonsense. For example, Bloomberg reported in Janiuary 28, 2008 that Merrill Lynch’s daily value at risk was $92 million compared to actual losses of $18 billion already incurred by that date. The Nelson-Siegel approach produces the same type of catastrophic errors in circumstances we explain in Post 4 in this series.
To estimate the Nelson Siegel Yield curve, we take the following steps for the first three bonds (we will return to the fourth bond shortly):
- List the bond payment dates, interest and principal amounts for each bond.
- Translate those values into our time index t fractions of a year. For example, payments 90 days apart are separated by t=90/365=0.2466 years. We use 365 days for simplicity in this example, but bonds all come with their own year convention which should be followed.
- Input initial placeholder parameter values
- Calculate values from the yield curve in (3) for the yields on all of the dates in (2)
- Calculate zero prices from the yields in (4) using the relationship p(t) = exp [-y(t)t]. For example, if the 6 month yield was 0.07, the implied zero price would be exp(-0.07*0.5) =0.9656
- Calculate the net present value of each bond by taking the sum of all the payments in (1) multiplied by the appropriate zero prices in (5)
- Calculate the sum of squared pricing errors in (6) across all bonds
- Use a non-linear programming tool to select the parameter values in (3) that minimize the pricing error in (8). For today’s post, we used the “solver” function in commonly used spreadsheet software.
For concreteness, here is a spreadsheet and the associated formulas to apply this process to the first bond alone.
We can then use the calculated α, β, γ, and δ coefficients to estimate our yield curve for any value of t, and the relation f(t) = y(t) + ty' (t) to estimate our forward rate curve.
We find that the following parameter values produce a perfect fit to the Russian Federation bonds:
α = -0.14007,
β=0.20891,
γ= 0.46840, and
δ= 4.32764
The chart below shows the continuous time forward rates that are consistent with the parameters that perfectly fit observable bond prices:
We focus on forward rates because, as explained in Chapter 8 of Advanced Financial Risk Management, it is the reasonableness of forward rates (or lack thereof) that is most often used to select among yield curve smoothing methods.
At first glance, the Nelson-Siegel forward rates above seem reasonable. Nonetheless, one of the key flaws in the Nelson-Siegel approach is apparent even in this graph. The forward rates on the right hand side of the curve are trending downward. What one needs in smoothing is the option to control the right hand side of the forward rate curve. A number of options are commonly considered:
- Constrain the forward rate curve so that it is flat (first derivative = 0) on the right hand side of the curve. This option is often selected when the right hand side maturity is quite long.
- Constrain the forward rate curve so that it is instantaneously straight (second derivative = 0) on the right hand side of the curve. This option is often chosen if the right hand side of the curve is a relatively short maturity.
- Constrain the forward rate curve so that it has a first or second derivative equal to a constant x, where x is chosen by iteration so that the smoothness of the curve is maximized. This method was originally suggested by Tibor Janosi of Cornell University. For the mathematical definition of smoothness, see Chapter 8 of Advanced Financial Risk Management.
The forward rate curve above is sloping downward at the right hand side of the forward rate curve. How does one extend the curve to longer maturities? With the maximum smoothness forward rate approach, there are many choices. In the Nelson-Siegel approach, there are no choices. The behavior of the forward rate curve on the right hand side of the curve is fully determined by the Nelson-Siegel functional form and the four parameters in it. As we will see in Part 4 of this series, this leads to some serious deficiencies in situations that are commonly found in practice.
Sean Klein and Donald R. van Deventer
Kamakura Corporation
Honolulu, August 14, 2009