Yield Curves and Curve Construction
Interest Rate Modeling
Tutorial Contents
- Fixed Income Notation
- Fixed Income Probability Measures
- Multi-Currency Markets
- The HJM Framework
- Basic Fixed Income Instruments
- Caps, Floors and Swaptions
- CMS Swaps, Caps and Floors
- Bermudan Swaptions
- Structured Notes and Exotic Swaps
- Callable Libor Exotics and TARNs
- Volatility Derivatives
- Yield Curves and Curve Construction
- Managing Yield Curve Risk
- Vanilla Models With Local Volatility
- Vanilla Models With Stochastic Volatility
- Introduction to Term Structure Models
- One-Factor Short Rate Models I
- One-Factor Short Rate Models II
- Multi-Factor Short Rate Models
- The Libor Market Model I
- The Libor Market Model II
- Risk Management and Sensitivity Computations
- P&L Attribution
- Payoff Smoothing
- Vegas in the Libor Market Model
Fundamentally, the goal of an interest rate model is to describe the random movement of a curve of discount bond
prices (known as the term structure of interest rates) through time, starting from a known initial condition. In
practice, only a few short-dated discount bonds are quoted directly at any given time. This is far from the
continuous curve of discount bond prices up to a maturity of 20 or 30 years required as input in most IR models.
However, as we have seen, there are a number of liquid securities whose values, in a no-arbitrage environment, depend
in a straightforward fashion upon discount bonds. This allows the reverse engineering of theoretical values for these
bonds for maturities far beyond those that are quoted directly. Even so, only a finite set of securities are quoted in
the market, so constructing a continuous curve of discount bond prices requires assumptions on how the curve should
act between observed points, i.e. an interpolation rule. This interpolation may be based on direct assumptions of
the functional form of the curve, or on some regularity norm to be optimised over.
This area is known as discount curve construction, and is a fundamental step in the modelling of fixed income
products. Before the financial crisis of 07-08, it was standard to construct only a single discount curve based on
Libor rates. However, since the crisis, it is no longer reasonable to assume that Libor rates are an accurate proxy
for the OIS rates that underlie instruments such as vanilla swaps. It is hence necessary for a whole family of
inter-related curves to be constructed in an unified manner. Nonetheless, it is crucial to understand single-curve
construction before moving on to the construction of multiple curves. In this section, we explore the principles of
single-curve construction, as used before the crisis.
Notation
Discount curves
In this section, we are interested in a static discount curve at the initial time t=0. Hence, we freeze time in Tour
notation and write
P:[0,T]→(0,1],P(T):=P(0,T), to denote the continuous, decreasing discount curve. Here, T>0 denotes the maximum maturity of the
constructed curve.
The curve is constructed using N benchmark securities, with time 0 prices V1,…,VN. We assume that each
of the benchmark securities can be priced as a linear combination of the discount bond prices, i.e.
Vi=j=1∑Mci,jP(tj),i=1,…,N,(1) where 0<t1<⋯<tM≤T is a given set of discount security dates. In practice, these dates
are formed by merging the cashflow dates of the N benchmark securities. Let {Tn}n=1N denote the maturities
dates of the benchmark securities, in which case we find that
ci,j=0,tj>Ti. It should be clear that standard coupon-bearing bonds can be expressed in the form (1), but is also the case that, upon
rearrangement, so can FRAs and standard vanilla fixed-floating swaps.
To see this in the case of the vanilla swap, suppose t=T0=0. Then, the swap paying fixed rate K has value
Vswap=A(0)(S(0)−K)=A(0)S(0)−A(0)K=n=0∑N−1τnP(Tn+1)Ln(0)−n=0∑N−1τnKP(Tn+1)=n=0∑N−1(P(Tn)−P(Tn+1))−n=0∑N−1τnKP(Tn+1)=1−P(TN)−n=1∑Nτn−1KP(Tn). to the fixed payer. By setting V:=1−Vswap we can write
V=n=1∑NcnP(Tn),(2) where cn=τn−1K for n=1,…,N−1 and cN=1+τN−1K. Very often it is the case that at initiation,
K is set such that Vswap=0, so that in equation (2) we have V=1 on the LHS.
In the case of FRAs, consider a FRA on the Libor rate for the interval [Tn,Tn+1]. At t=0, with FRA rate given
by K, the FRA has value
VFRA=τ(Ln(0)−K)P(Tn+1). Using the definition of Ln, the above rearranges to
VFRA=τLn(0)P(Tn+1)−τKP(Tn+1)=P(Tn)−P(Tn+1)−τKP(Tn+1)=P(Tn)−(1+τK)P(Tn+1), which takes the form of a linear combination of zero-coupon bonds, as required.
Clearly, to construct a benchmark curve, it is important that all the instruments used represent borrowing from the
same lender. For example, to construct the US Treasury curve it is appropriate to use Treasury bonds and
bills, whereas the curve for a corporate lender should be built from debt issued by the lender in question, in
order to consistently represent the embedded credit-worthiness of the issuer along with other nuances of the particular
lender.
The curve that we shall focus on is a generic Libor curve. Generally, this is constructed using
certificates of deposit (CDs) for maturities up to 3 months, a strip of Eurodollar futures for maturities
between 3 months and 3/4 years (after a convexity adjustment is applied to bring the futures price in line with
the corresponding forward price), and par swaps for the rest of the curve (maturities of 5 up to 30 years).
Matrix representation
Introducing the vector P∈RM to represent the discount factors ordered by time, i.e.
P=(P(t1),…,P(tM))⊺,(3) and the vector V∈RN to represent the observable security prices, i.e.
V=(V1,…,VN)⊺, it is possible to write
V=CP,(4) where C∈RN×M represents the coupons associated with each instrument at each payment date, i.e.
C=(ci,j)1≤i≤N,1≤j≤M. This formulation reposes the above challenge of deducing the discount curve as a matrix inversion problem.
Typically, the matrix C will be quite sparse. Supposing the first two securities are CDs, the next four are FRAs and
the remaining N−6 are swaps, the first two rows of C will only have a single non-zero entry, the next four only 2
non-zero entries, and the remainder will have non-zero entries up until a certain column, and will be zero thereafter.
Construction principles and yield curves
In practice, our curve will contain many more cash flow dates than we have benchmark securities. In the above notation,
this means M>N. In this case, the matrix problem (4) will not have a unique solution, as our system is
under-determined.
Our problem then, is to supplement equation (4) with enough additional assumptions in order for us to uniquely
determine P and to determine the entire function P(⋅) for values of T not contained in the discount security
date set {tj}j=1M.
Given that the discount curve has a roughly exponentially decaying shape, it is more common to perform the curve
fitting exercise in yield space, rather than outright price space as discussed above. In yield space, the curve
is much closer to a flat shape that can easily be interpolated and fitted. Specifically, we introduce the continuous
yield function
y:[0,T]→R≥0,y(T)=−T1logP(T). Upon rearrangement, we see that the yield function y(⋅) satisfies
P(T)=e−y(T)⋅T,(5) so that y(T) can be seen as the continuous yield-to-maturity on the zero-coupon bond (discount factor) P(T).
Plugging equation (5) into (3) gives
P≡P(y)=(e−y(t1)⋅t1,…,e−y(tM)⋅tM)⊺. The mapping T↦y(T) is known as the spot (zero) yield curve. It is important to note that the yield curve
is simply an invertible transformation of the discount curve, using the transformation (5). Hence, the yield curve
is just a more convenient way of viewing the discount curve, but contains exactly the same information. Another curve
formed as a simple transformation of the discount curve is the instantaneous forward curve f(T) satisfying
P(T)=exp(−∫0Tf(u)du). Note that we can retrieve f(T) from P(T) via
f(T)=−dTdlogP(T). Likewise, using relationship (5) we find that
f(T)=dTd[y(T)⋅T]=y(T)+dTdy(T)⋅T, or
y(T)=T1∫0Tf(u)du. This shows that the yield y can be viewed as the average instantaneous forward rate up to the time T.
In the following, we choose to work in yield space, i.e. we will consider y(⋅) as the fundamental curve which we
seek to estimate.
Fundamentally, there are three approaches to solving the equation (4). These are:
- Introduce new, unspanned securities such that N=M, giving (4) a single, unique solution.
- Parameterise the yield curve using N parameters, so that the N equations in (4) recover these parameters.
- Search all possible solutions to (4) and pick the one that is optimal according to some criteria.
Typically, option 1 is undesirable. If new securities were easy to include, they would already have been included.
Hence, new securities generally have to be introduced via interpolation on already included prices. This often leads to
odd looking curves and sub-optimal hedging parameters. Hence, if an interpolation rule is to be used, it is better to
apply this directly to a fundamental quantity such as the yield curve itself.
Option 2 is used more commonly. Sometimes, it is implemented using functional forms, but it is much more common to
work with a spline representation with N user-chosen knots, with the level of yields at these knots constituting
the N unknowns for which the problem should be solved.
Option 3 represents the most sophisticated approach and can often be formulated as a totally non-parametric framework.
If stated carefully, this approach can deal with situations where the system (4) is nearly singular, due to irregular/
non-smooth solutions or linearly dependent benchmark securities.
Table 1: Swap Benchmark set for yield curve construction tests.Maturity (years) | Swap par rate |
---|
1 | 4.20% |
2 | 4.30% |
3 | 4.70% |
5 | 5.40% |
7 | 5.70% |
10 | 6.00% |
12 | 6.10% |
15 | 5.90% |
20 | 5.60% |
25 | 5.55% |
In the following, we explore options 2 and 3, using the sample data given in table 1. The table consists of a set of 10
vanilla IRSs with semi-annual fixed and floating payments so that τi=τ=0.5 for all i.
Yield Curve Fitting with N-Knot Splines
A number of well known yield curve algorithms are based on polynomial and exponential splines of various
degrees of differentiability. Here, we assume that we can arrange our benchmark security set to guarantee the
maturities of the benchmark securities satisfy
Ti+1>Ti,i=1,2,…,N−1. This equation constitutes a spanning condition and allows the N maturities to represent distinct knots in our
yield curve splines.
C0 yield curves: bootstrapping
If we simply require continuity of the yield curve, a common iterative procedure known as bootstrapping may be
used. The basic idea is the following step by step procedure:
- Let P(Tj) be known for tj≤Ti−1, such that the prices of the benchmark securities with maturities T1,…,Ti−1 are matched.
- Guess a value for P(Ti).
- Use an interpolation rule to fill in P(tj), Ti−1<tj<Ti.
- Compute Vi from the now-known values of P(tj), tj≤Ti.
- If Vi equals the value observed in the market, stop. Otherwise repeat step 2.
- While i<N, set i=i+1 and repeat step 1.
Updating the guesses in step 2 through 5 can be handled through a one-dimensional root-finding algorithm (such as
Newton's method).
Importantly, there are limitations on the interpolation rule that can be applied in step 3. For example, one might
use a representation of the yield curve in terms of instantaneous forward rates f(T), assuming that f(T) is a
continuous, piecewise linear function on the maturity grid {Ti}i=1N. However, this interpolation rule is
numerically unstable and prone to oscillations.
Some stable, standard choices for interpolation rules will be explored in the following.
Piecewise linear yields
Perhaps the most common discount curve bootstrapping algorithm assumes that the continuously compounded yield
y(⋅) is a continuous, piecewise linear function on {Ti}i=1N. Formally, we write
P(T)=e−y(T)⋅T in step 3. above, where y(T) satisfies
y(T)=(Ti+1−TiTi+1−T)y(Ti)+(Ti+1−TiT−Ti)y(Ti+1),T∈[Ti,Ti+1]. Notice that this interpolation rule requires us to provide an equation for y(t) when t<T1. Normally, it is
assumed that y(t)=y(T1) for t<T1.
The graph above shows this interpolation scheme applied to the swap data in Table 1. Notice that while yields are both
linear and continuous under this scheme, forward rates are piecewise linear, but discontinuous. This motivates the use
of a slightly different scheme - the piecewise flat forward rate scheme.
Piecewise flat forward rates
Under this scheme, we assume that between benchmark security dates Ti, the instantaneous forward rate f(⋅) is
constant, i.e.
f(T)=f(Ti),T∈[Ti,Ti+1). This rule is equivalent to assuming that logP(T) is piecewise linear in T since
logP(T)=logP(Ti)−f(Ti)(T−Ti),T∈[Ti,Ti+1]. Now, a bootstrapping algorithm can be used to determine the values of the N unknowns f(T0),…,f(TN−1). From
the equation
y(T)⋅T=∫0Tf(u)du, we see that we have, for T∈[Ti,Ti+1],
y(T)=Ty(Ti)⋅Ti+f(Ti)(T−Ti).(6) By substituting in T=Ti+1 this gives
y(Ti+1)=Ti+1y(Ti)⋅Ti+f(Ti)(Ti+1−Ti).(7) By rearranging (7) for f(Ti) and substituting into (6), we find that y(T) satisfies
y(T)=T1[(Ti+1−TiTi+1−T)y(Ti)⋅Ti+(Ti+1−TiT−Ti)y(Ti+1)⋅Ti+1]. From this relationship, it should be clear that the yield curve will remain continuous under this scheme.
The graph above shows this scheme applied to the swap data in Table 1. Notice that under this scheme yields are
non-linear functions of maturity.
C1 yield curves: Hermite splines
In the previous section we saw that bootstrapping yields generally gives rise to discontinuous forward curves.
Empirically, this is often unrealistic and can give rise to distorted derivative prices based off of said curves. The
simplest extension to bootstrapping is to produce a once-differentiable yield curve and a continuous forward
curve by utilising Hermite cubic splines. Hermitian cubic splines interpolate our yield curve function via a
continuously-differentiable (C1) function. Specifically, we write
y(T)=a0,i+a1,i(T−Ti)+a2,i(T−Ti)2+a3,i(T−Ti)3,T∈[Ti,Ti+1],(8) for a set of constants {(a0,i,a1,i,a2,i,a3,i):i=1,…,N−1} to be determined from the values
of y(Ti), y′(Ti), y(Ti+1) and y′(Ti+1) observed in the market.
To derive the values of the constants a0,i,a1,i,a2,i,a3,i, it is easier to introduce the scaling
constant hi:=Ti+1−Ti and write
di(T)bj,i:=hiT−Ti,:=aj,ihij,j=0,1,2,3. Then equation (8) becomes
y(T)=b0,i+b1,idi(T)+b2,idi(T)2+b3,idi(T)3=Di(T)⊺Bi,T∈[Ti,Ti+1],(9) where
Di(T)Bi:=(1,di(T),di(T)2,di(T)3)⊺,:=(b0,i,b1,i,b2,i,b3,i)⊺. The goal is thus to find the vector Bi as a function of yi,yi′,yi+1,yi+1′, the observed values of
y(Ti), y′(Ti), y(Ti+1) and y′(Ti+1). As there are four unknowns to be found, we must provide four
equations based on these values to uniquely determine the bj,i. In this case, we can utilise the four conditions
that we have imposed on our scheme a priori. These are the facts that y(⋅) and y′(⋅) are continuous, and
that y(Ti)≡yi, y′(Ti)≡yi′.
Upon differentiating equation (8), we find that
y′(T)=hib1,i+2hib2,idi(T)+3hib3,idi(T)2,T∈[Ti,Ti+1], or equivalently
hiy′(T)=b1,i+2b2,idi(T)+3b3,idi(T)2,T∈[Ti,Ti+1].(10) Now, utilising the four conditions stated above in equations (9) and (10) values to equations gives rise to the four
equations
b0,ib1,ib0,i+b1,i+b2,i+b3,ib1,i+2b2,i+3b3,i=yi,=yi′hi,=yi+1,=yi+1′hi. In matrix form, this set of linear equations can be written as
Yi=Mi−1Bi,(11) where
Yi:=(yi,yi′hi,yi+1,yi+1′hi)⊺ and
Mi:=⎝⎜⎜⎜⎛1010011100120013⎠⎟⎟⎟⎞−1. It is simple to show that the inverse of the above matrix is given by
Mi:=⎝⎜⎜⎜⎛10−3201−21003−200−11⎠⎟⎟⎟⎞. By rearranging equation (11) and substituting into equation (9), we thus find that an arbitrary point y(T),
T∈[Ti,Ti+1] is given by
y(T)=Di(T)⊺MiYi.(12) A clear drawback of the scheme given above is the need to directly specify the derivatives yi′, values that are
not directly observable. One popular approach to circumventing this issue is the Catmull-Rom spline scheme, where
the derivative yi′ is approximated through the finite-difference approximation
yi′:=Ti+1−Ti−1yi+1−yi−1,i=1,…,N−1. At the endpoints y1 and yN, forwards and backwards differences are utilised instead. Notice that
Ti+1−Ti−1=(Ti+1−Ti)+(Ti−Ti−1)=hi+hi−1, so that
yi′y0′yN′=hi+hi−1yi+1−yi−1,i=1,…,N−1,=h0y1−y0,=hN−1yN−yN−1,(13) under the Catmull-Rom scheme. Next, introduce the constants
αiβi:=hi+hi−1hi,:=hi+1+hihi. By substituting the approximation (13) into equation (12) and bringing the terms into the matrix M gives rise to a
new, derivative-free form
Bi=MiYi=⎝⎜⎜⎜⎛10−3201−21003−200−11⎠⎟⎟⎟⎞⎝⎜⎜⎜⎛yi(yi+1−yi−1)αiyi+1(yi+2−yi)βi⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛0−αi2αi−αi10(βi−3)(2−βi)0αi(3−2αi)(αi−2)00−βiβi⎠⎟⎟⎟⎞⎝⎜⎜⎜⎛yi−1yiyi+1yi+2⎠⎟⎟⎟⎞=AiY^ii=1,…,N−2. where
Ai:=⎝⎜⎜⎜⎛0−αi2αi−αi10(βi−3)(2−βi)0αi(3−2αi)(αi−2)00−βiβi⎠⎟⎟⎟⎞,Y^i:=⎝⎜⎜⎜⎛yi−1yiyi+1yi+2⎠⎟⎟⎟⎞ At the boundaries (i=1,N−1) we find that
A0AN−1=⎝⎜⎜⎜⎛00001−1(β0−1)(1−β0)011−100−β0β0⎠⎟⎟⎟⎞,=⎝⎜⎜⎜⎛0−αN−12αN−1−αN−110−210αN−1(2−2αN−1)(αN−1−1)0000⎠⎟⎟⎟⎞. The Catmull-Rom scheme appears to depend on the two ghost points y0 and yN+1, however the matrices A1 and
AN−1 express no true dependence on these values. As in the previous schemes, the Catmull-Rom scheme specifies the
curve between y1 and yN. To extend the curve to [0,T1), a further extrapolation condition must be provided.
Common choices are y(T)=y1 for T∈[0,T1) as before, or the slope condition
h0y1−y0=h1y2−y1, i.e.
y0=y1−h1h0(y2−y1). To fit the yield curve to the market under the Catmull-Rom scheme, notice that the price of the security Vi depends
on y1,…,yi+1, as all the intermediate cash-flows are given as some function of these yields. Hence, the
pricing equations take the diagonal form
V1V2VN−1VN=F1(y1,y2),=F2(y1,y2,y3),⋮=FN−1(y1,…,yN),=FN(y1,…,yN). Unlike under the standard bootstrapping procedure, security Vi has dependence on the yield yi+1. This
necessitates the use of a slight modification of the standard bootstrap solving algorithm. The steps are as follows:
Let yi(0) be given by some other scheme (such as a bootstrapping scheme as seen earlier) and let yi(k) be
the value for yi found in the kth iteration.
- Let yj(k), j=1,…,i−1 and yi+1(k−1) be known.
- Make a guess for yi(k) using some root-finding scheme.
- Compute Vi=Fi(y1(k),…,yi(k),yi+1(k−1)).
- If Vi=Vmkt continue, otherwise repeat step 2.
- If i<N set i=i+1 and repeat step 1.
Upon a single iteration, the algorithm gives y1(k),…,yN(k). Iterating over k, we repeat the above
steps until the RMSE is sufficiently small, i.e. we set an error tolerance ϵ and stop once
N1i=1∑N(yi(k)−yi(k−1))2<ϵ2. The graph above shows the Catmull-Rom scheme applied to the swap data in Table 1. Notice that the forward curve is now
continuous, though not differentiable. This leads us to the next type of yield curve construction scheme -
twice differentiable cubic splines.
C2 yield curves: twice differentiable cubic splines
Given the problematic forward curves produced by the previous method, one remedy is to stay within the realms of cubic
splines but to insist upon twice differentiability on [T1,TN]. In the cubic spline setting, this is equivalent to
assuming piecewise linear second derivatives on each interval [Ti,Ti+1] satisfying
y′′(T)=(Ti+1−TiTi+1−T)yi′′+(Ti+1−TiT−Ti)yi+1′′,T∈[Ti,Ti+1], where yi′′:=y′′(Ti). By integrating this equation twice on the interval [Ti,Ti+1], using the same notation
for hi as before, and enforcing that y(Ti)=yi we find that
y(T)=6hi(Ti+1−T)3yi′′+6hi(T−Ti)3yi+1′′+(Ti+1−T)(hiyi−6hiyi′′)+(T−Ti)(hiyi+1−6hiyi+1′′),T∈[Ti,Ti+1].(14) Clearly, this equation depends on the knowledge of the derivatives yi′′ at each point i=0,…,N. To obtain
these values, we can differentiate equation (14) and use the fact that y′(T) must be continuous across each Ti.
Doing so gives the system of equations
6hi−1yi−1′′+(3hi−1+hi)yi′′+6hiyi+1′′=hiyi+1−yi−hi−1yi−yi−1,i=2,…,N−1.(15) This system of equations is tridiagonal, so is amenable to O(N) solutions such as via LU-decomposition.
A final nuance is that we must provide boundary conditions for the derivatives y1′′ and yN. A popular choice
is to set y1′′=yN′′=0. This choice gives rise to an interpolation scheme known as natural splines.
Continuing with natural splines, we write Y:=(y2,…,yN−1) and Y′′:=(y2′′,…,yN−1′′). The
system of equations (15) can then be written as
BY′′=CY+M,(16) where B and C are (N−2)×(N−2) matrices with
Bi,i−1Ci,i−1=6hi,Bi,i=3hi+hi+1,Bi,i+1=6hi+1,=hi1,Ci,i=−(hi1+hi+11),Ci,i+1=hi+11. M is a vector of length N−2 whose purpose is to encapsulate the boundary conditions. In the natural splines
setting, we have
M=(h1y1,0,…,0,hN−1yN)⊺. Notice that, from our construction, we can calculate y(T) for T∈[0,T1] via linear interpolation, by
calculating the gradient y′(T1) through differentiating (14) and evaluating at T1. Specifically, one we have
calculated the yi′′, we can find y1′ as
y1′=h11(y2−y1)−6h1(y2′′+2y1′′). With the above in place, we have the ingredients to create a procedure to calculate the yield curve yi,
i=1,…,N. The steps are as follows.
- Estimate the initial yields yi(0), i=1,…,N using some simpler scheme such as bootstrapping and set k=0.
- Using equation (16), calculate the second derivatives yi′′, i=1,…,N. Use these calculated values to calculate the yield curve at all required intermediary points via equation (14).
- Price all benchmark instruments Vi, i=1,…,N using the calculated yield curve.
- Calculate the error function L(y1(k),…,yN(k)):=∑i=1N(Vimkt−Vi)2. If the error is within some predetermined threshold, stop. Else, using some form of optimisation routine, pick a new set of yields yi(k+1), i=1,…,N and repeat step 2.
The above graph shows the twice differentiable cubic splines scheme using natural splines applied to the data in Table
1 using Gauss-Newton iterations to minimise the error in the benchmark set pricing. Notice that forward curve is now a
continuous function - a clear improvement on the previous schemes.
While the natural splines scheme gives rise to a visually appealing forward curve, it still has clear drawbacks. Most
notably, twice-differentiable cubic splines often give rise to oscillatory behaviour and can lead to non-local
behaviour when benchmark prices are perturbed. This can be explained loosely by the fact that, while the previous
schemes use only neighbouring yields when finding an interpolated yield from the constructed curve,
twice-differentiable cubic splines require a full (N−2)×(N−2) matrix system to be solved, which leads to all
yields in the constructed curve being incorporated into calculating interpolated yields off of the curve.
To see this effect in practice, we perturb the 10 year benchmark swap rate in Table 1 by 1bp and plot the changes
(deltas) in the constructed forward curves for the natural spline scheme vs the same bump in the piecewise flat forward
curve scheme.
Notice that in the flat forward scheme, the changes are localised to the 10 year point and the two neighbouring points
(7 years and 12 years), whereas the changes in the natural spline scheme are propagated across the whole curve in an
oscillatory manner.
Non-Parametric Yield Curve Fitting
The above framework is satisfactory when working with a well structured set of benchmark securities, such as a liquid
staggered-maturity deposits, futures, and swaps as assembled by most banks for Libor yield construction purposes. In
some situations, however, such as when constructing a corporate yield curve for an individual corporation, benchmark
securities may be far more illiquid and less regular in their cash-flow structures. In this case, different techniques
based on non-parametric optimisation may be more suitable. In this section, we will say a few words on one such
technique.
Norm specification and optimisation
When the benchmark set is noisy, a direct solution to equation (4) may be unstable or may not even exist. To overcome
this challenge, we may relax our requirement to solve equation (4) to just ensuring the error
E:=V−CP, is minimised in a penalised least-squares norm.
Specifically, we define the function space A:=C2([t1,tM]), i.e. A is the set of all twice
continuously-differentiable functions f:[t1,tM]→R. Furthermore, we define the diagonal
weighting vector W∈RN×N. Our goal is then to find
y^:=argminy∈AI(y),(16) where
I(y):=N1(V−CP(y))⊺W2(V−CP(y))+λ∫t1tM(y′′(t)2+σ2y′(t)2)dt,(17) where λ,σ>0 are constants.
Clearly, equation (16) consists of three distinct terms. These terms are
- An outright goodness-of-fit term
N1(V−CP(y))⊺W2(V−CP(y)), with weightings Wi,i allowing the user to apply more importance to particular securities in the benchmark set, or s
somehow transform the securities from raw, dollar amounts, to more comparable quantities such as security specific
yields. - A weighted smoothness term
λ∫t1tMy′′(t)2dt, which penalises kinks and discontinuities in the constructed curve y(t). - A weighted curve length term
λσ2∫t1tMy′(t)2dt, which penalises oscillations and excess convexity/concavity.
Theory dictates that the curve satisfying equation is a form of natural cubic spline with knots at the cash-flow dates
t1,…,tM. Hence, in practice, we can solve equation (16) by making an initial guess for the values y(tj),
j=1,…,tM and then use some optimisation routine to find the values y^(tj), j=1,…,M that
minimise (17).