You are on page 1of 10

Yield curve methodology

Markit Valuations uses a bootstrapping algorithm to generate yield curves from a combination
of underlying instruments. Either single currency bootstrapping or dual currency bootstrapping
is used depending on the currency and the availability of market data.
Single currency bootstrapping produces a zero-coupon discount curve from market rates for
deposits, futures and swaps, and is used for USD curve construction. The same curve is used
to predict LIBORs.
Dual currency bootstrapping produces a zero-coupon discount curve and a separate LIBOR
prediction curve from market rates for deposits, futures, swaps, forward FX and cross-
currency basis swaps, and is used for most non-USD curve construction.
The underlying assumption is that a bank can fund at LIBOR flat in one base currency, which
we will take to be USD because it is the most liquid. In order to explain the fact that basis
swaps into other currencies are not LIBOR flat versus LIBOR flat, we need to construct
separate curves for projecting non-USD LIBORs and discounting non-USD payments.
The following are explained below:
 Single currency bootstrapping method;
 Dual currency bootstrapping method; and
 Yield curve storage and retrieval.

1 Single currency bootstrapping


The types of underlying instrument allowed for curve construction are cash instruments,
futures and swaps. A yield curve is defined by the nodes on the curve and the use of linear
interpolation on continuously compounded zero coupon rates for the curve sections between
the nodes. Each underlying instrument produces a node at the instrument maturity date on
the yield curve.
This procedure for yield curve generation for a single currency from each instrument type is
explained using the following topics in sequence:
 Required input market parameters for underlying instruments;
 Sorting the underlying instruments;
 Building the first node on a yield curve; and
 Extending the yield curve to the next node.
We begin the yield curve construction for a curve date denoted by .

Cash Instruments
Market Parameters
The required input market parameters for a cash instrument are:

 Instrument rate ; This may be the ask rate or the mid rate, according to the
convention for the specific currency

 Tenor of the instrument in days ;

 Coverage of the instrument using appropriate basis ;

 Number of days in which the rate is set in advance (i.e. the number of days to
spot).
Sorting Cash Instruments
Each such cash instrument starts at and ends at . Sort the
cash instruments by the end dates in ascending order, e.g. overnight loan, 1-month treasury
bill, 3-month treasury bill, etc.
Building the First Node with a Cash Instrument
Since there is no instrument cover for the period from the curve construction date to the
first instrument start date , therefore we assume the zero rate is flat up to the
instrument’s maturity. The discount factors at the instrument start and maturity are linked by
the forward discount factor equation:

(B.1)
Where
 is the discount factor at time ;

 is the instrument rate; and

 is the instrument coverage.


We guess a zero rate and calculate the discount factors at the start and maturity as follows:

(B.2)

(B.3)
Where is the flat zero rate until the instrument maturity.
We then iterate the zero rate until the equation (B.1) is true. The first node at the yield curve is
now defined as .

Extending Yield Curve with a Cash Instrument

To calculate the discount factor at the next cash instrument end date , we use

(B.4)
Where:

 is the discount factor at time ; NB is available from the already


defined part of the yield curve through linear interpolation of continuous zero rates;

 is the instrument coverage; and

 is the instrument rate.


At this point, we assume that the yield curve has been built at least up to the instrument start
date using the preceding instrument(s). If the instrument start date does not fall on a node
r
point, the continuous zero rate at the instrument start date 2 Start may be linearly interpolated
from two nearest left and right yield curve nodes (for details see §B.3).

The zero rate at the instrument end date is calculated from the discount factor using
the formula
(B.5)
Where:

 is the time in years to the instrument end date .

Now, node is fully defined on the yield curve.

By repeating the above procedure, all the cash instruments can be processed in sequence.

Futures
Market Parameters
The required input market parameters for a futures contract are:

 Futures mid price ;

 Tenor of the instrument in days ;

 Coverage of the instrument using appropriate basis: ; and

 Convexity adjustment on the futures rate .


Sorting Futures Contracts
First, sort the futures contracts by the end dates in ascending order, e.g. Mar01, Jun01 and
Sep01 futures contracts. Then, ensure the last node on the current yield curve lies between
the first futures contract’s start date and end date.
Extending Yield Curve with a Futures Contract
This procedure applies to a futures contract as long as the last node on the current yield
curve lies between this futures contract’s start date and end date. The immediate preceding
instrument, i.e. the instrument that defines the last node on the yield curve, could be either a
cash instrument or another futures contract.
We convert each mid futures price to a mid forward rate using

(B.6)
Where:

 is the instrument mid forward rate;

 is the instrument mid futures prices;

 is the instrument coverage; and

 is the convexity adjustment on the futures rate to accommodate the difference in


convexity of FRAs and futures contracts.
From this point on, a futures contract can be processed in the same way as a cash
instrument. To calculate the discount factor at the futures end date T, use the forward
discount factor equation

(B.7)
Where:
 is the discount factor at time ; and

 is the instrument mid forward rate.

The zero rate at the instrument end date is calculated from the discount factor using
the formula

(B.8)
Where:

 is the time in years to the instrument end date .

Now, node is fully defined on the yield curve.

Note that if the yield curve at is not already defined, for example if the future deposit
starts a few days after the end of the previous future deposit we solve simultaneously for
and by iterating the zero rate until the future prices to par (the forward
discount factor equation is true)
By repeating the above procedure, all the futures contracts can be processed in sequence.
Futures Convexity Adjustment
The reason for calculating a convexity adjustment is to take account of the fact that a trader
who sells a future and hedges it dynamically with a FRA will always tend make money on the
re-investment of margin payments. If interest rates rise, the futures price falls, he receives
cash and his reinvestment assumption on constructing the hedge will turn out to have been
too low a rate; if interest rates fall the futures price rises, but he will be able to borrow to fund
his margin payment at a lower rate than anticipated.
Using a model such as Hull-White, a relatively simple formula can be constructed to
determine the fair rate at which a FRA should be traded to hedge a futures position. When we
construct the yield curve, we are effectively treating the futures as if they were FRAs, so the
prices we use should not be the raw futures prices, but the futures prices increased (lower
rates) by the amount of the adjustment.
In the best of all possible worlds, one would use all generic swaps with maturities before the
end of the futures strip to calibrate the Hull-White volatility. However, because for shorter-
dated swaps the size of the observed adjustment is not much larger than the bid/offer on
swaps, it will be more stable to fit a single value of volatility using the longest-dated swap of
maturity, e.g. if using 20 futures in USD, calibrate the Hull-White volatility solely from the
short-term, the 20 deposits futures and the 5-year swap. This calibration is done by iteratively
solving for that value of that makes the calculated par rate for the 5-year swap equal to its
market observed value. The mean reversion coefficient is chosen as an input to the
calculator, defaulting to 2%.
Futures Convexity Calculation
The following describes a method for calculating a convexity adjustment on interest rate
futures, which is necessary for bootstrapping correct swap curves. Here we provide the
analysis for Eurodollar futures; convexity adjustment on the interest rate futures for GBP,
EUR and CAD curves can be treated in a similar way.
Three-month Eurodollar futures are future contracts on the three-month Eurodollar interest
rate maturing on the third Wednesday in March, June September and December. Futures rate
can be derived from its quoted price using the formula:

(B.9)
The multiplier 365/360 is used in the formula (2.1), since the Eurodollar future rate 100%-
Price is expressed on an Actual/360 basis with quarterly compounding.
One (standard) way of converting future rates to forward interest rates is to use a short rate
interest rate model with constant parameters. For example, in the Ho-Lee model the convexity
adjustment is computed as

(B.10)
where and are the time to maturity of the future and of the rate underlying the future
respectively, and is the annualized standard deviation of the change in the short rate
interest rate (volatility). In the one-factor Hull-White model the convexity adjustment is

(B.11)

, (B.12)
where is a constant mean reversion coefficient. Finally, to obtain the forward interest rate,
one needs to subtract the convexity adjustment value from the futures rate:

. (B.13)
In practice, the values of and are known only approximately. If we use the
approximate numbers the shape of the forward curve derived from the zero curve is not
smooth at least; in fact, it may lead to very nasty results (e.g. negative forward rates). Below
we describe one simple iterative method, which allows us to avoid such problems. In practice
this method converges very fast (2-3 iterations).
Let us suppose that the futures from the 2 nd to 20th (up to 5 years) and swaps with a tenor 6Y
and greater were selected for the curve construction and pick the 5Y swap rate as the
benchmark for the convexity adjustment. Fixing the mean coefficient (e.g. ) we set
an initial value of the volatility (one may use the value used for bootstrapping the
yesterday’s curve). Using formulas (2.3) we compute the convexity adjustment values for
each future, bootstrap the curve up to 5 years and find the 5Y swap rate of this curve. Using
pre-selected method for root finding we determine the next value of the volatility parameter
and repeat the described procedure until the required accuracy (0.1 bp) is achieved.

Swaps
Market Parameters
The required input market parameters for a swap are:

 Fixed coupon rate ;

 Swap tenor in years ;

 Coupon payment frequency ; and

 Number of days in which the rate is set in advance (i.e. the number of days to
spot).
Sorting Swaps
First, the swaps are sorted by the maturity dates in ascending order, e.g. 2-year, 3-year and 5
year swaps. Then, ensure the last node on the current yield curve lies between the first
swap’s start date and end date.
Extending Yield Curve with a Swap
Unlike cash instruments and futures contracts, swaps consist of multiple cashflows. Each
swap starts at and ends roughly years later at from . However, the
exact coupon payment dates and the payment period lengths depend on the coupon payment
frequency, day count basis and date roll conventions. The following formula prices a swap
with n coupon payments over the life of the swap

(B.14)

Where:

 is the notional amount;

 is the swap fixed coupon rate;

 is the date of kth coupon payment;

 is the number of coupon payments;

 is the discount factor at time .


There are two situations for the swap:

1. is the only unknown; dk, k = 1, …, n-1 have already been defined on the

yield curve. In this case, can be solved immediately from the above
equation;

2. There are more than one unknown , , etc. In this case we solve
iteratively for the slope of the yield curve after the last defined node so that the swap
NPV equals zero.
Situation 1
If the yield curve has already covered all the payment dates but the last one, the discount
factor dn can be solved immediately from the above equation

(B.15)

Linear interpolation of zero rates is used to obtain a discount factor when the coupon
payment date lies between yield curve nodes.
Situation 2
This is a more complex situation. There are more than one unknown in the equation.
In this case we have to simultaneously solve for all the missing discount factors between the
node points. We can do this because we know the zero coupon rate at the last but one node
point and we know that the zero rate is linear from this point to the last node point. This
means that all we have to do is iteratively solve for the slope of the zero coupon rate function
between the last 2 node points such that the PV of a swap of maturity equal to the last node
point is zero. Because the PV of such a swap is a monotonic function of the slope of this part
of the zero rate curve, there will be only one solution.
By repeating the above iterative procedure, all the swaps can be processed in sequence.

2 Dual currency bootstrapping


In the dual currency bootstrap method the market quotes for swap rates and basis swaps are
combined to build self-consistent discount factors and LIBOR predictions. This differs from the
common market practice of bootstrapping the curves for discounting and LIBOR prediction
independently using the market rates with and without basis respectively.
The advantage of this approach is that it correctly prices all the instruments on which it is
based and provides a broad framework in which cost of funds and other effects can be
introduced without adding further complexities or approximations.

Summary of Method
To build curves for a general currency the following stages are needed.
1. Build discount curve in USD, using domestic market rates and the single curve
bootstrapping method; the prediction curve for USD is identical to the discount
curve.
2. Build discount curve in the required currency using forward FX and basis swaps
between the required currency and USD and market rates in the required
currency.
3. Build LIBOR prediction curve for the required currency, using the discount factors
from (2) and the local currency market rates.
4. If the basis swap and interest rate swap for the required currency have different
payment frequency, an adjusted basis swap spread is then calculated and the
required discount and prediction curve must be built a second time.

Details of method
Definitions:

 Discount factor for currency X and time j;

 LIBOR prediction for currency X and floating accrual period ending at time j;

 Year fraction for currency X and floating accrual period ending at time j;

 Market swap rate for currency X and maturity Mat;

 Year fraction for currency X and fixed side accrual period ending at time j;

 Market basis swap rate between for currency X and USD, for maturity Mat;

 Adjusted basis swap rate between for currency X and USD, for maturity Mat;

 Maturity;

 Settlement.

USD curves
To build the single curve for USD we use the following sets of equations:
Par value of floating leg (for each Mat):

(B.16)

Interest rate swap (IRS) for each Mat, without exchange of principal:

(B.17)
Note that in general the fixed and floating sides may have different coupon frequencies and
hence different numbers of coupons and different year fractions. We use different indices in
the different summations to emphasize this point.
Substituting the LIBOR flows from (B.17) into (B.18)

(B.18)

The right-hand side of equation (B.19) is known (from deposit rates) so we solve for
by bootstrapping using (B.16). Deposit rates and/or futures should be used to calculate the
first part of the curve if they are available. If required, predictions of can be calculated
directly from .

Other currencies – simple case


To build curves for any other currency X we use two sets of equations:
Basis swap with currency X (for each Mat) with exchange of principal:

(B.19)

IRS for currency X, for each Mat:

(B.20)

Now assume that the payment frequency for X in the basis swap in (B.19) is the same as the
payment frequency of the floating side of the IRS in (B.20). We can then substitute for the X
LIBOR flows on the right-hand side of equation (B.20) using equation (B.19) to give the
following for each Mat:

(B.21)

The right-hand side of equation (B.21) is known so we solve for by bootstrapping.


Forward FX rates should be used to calculate the first part of the discount curve for X,
ignoring the basis swap in this part of the curve. The equation used is

(B.22)
Where:

 is the discount factor in currency X at a time t;

 is the USD discount factor at a time t;

 is the forward FX rate between currency X and the USD; and

 is the FX rate between currency X and the USD at the time of settlement.
We can then solve for using equation (B.20), storing the results as a separate curve of
“discount factors” that are only used for prediction. Deposit rates and/or futures should be
used to calculate the first part of the prediction curve if they are available, ignoring the actual
discount curve and the basis swaps. Note on handling bootstrapping details
The algorithm for solving equations (B.19) and (B.20) is:
1. Create the first part of the LIBOR projection curve from deposits and LIBOR
futures, exactly as per the single currency case (including convexity adjustment;);
2. Create the first part of the discount curve using the USD curve and the FX
forwards;
3. For any swap maturities shorter than the end of the futures strip, we do not know
, but we do know all the . So we can solve (B.19) directly, without resorting
to (B.20);
4. For swaps beyond the end of the strip, we use (B.20) and (B.21).

Other currencies – general case


If the payment frequencies of the basis swap and interest rate swap are different, we must
make an adjustment to the basis swap spread from the basis swap frequency to the IRS. The
exact equation to solve is:

(B.23)

The indices k and l correspond to different payment frequencies and is an adjusted


basis swap spread corresponding to payment frequency l. An exact calculation of the
adjustment requires knowledge of the discount and prediction curves for X, which are not yet
known. l represents the swap with payment frequency the same as the standard basis swap
(usually 3 monthly) and k represents the swap with payment frequency the same as the
standard IRS in currency X.
An acceptable approximation is to first produce the curves using equations (B.19,20 and 21)
with the unadjusted basis spread . These curves are then used to calculate the
discount factors and LIBOR rates in equation (B.23) and hence the adjusted basis swap
spread . The final curves are then calculated using equations (B.19,20 and 21) a
second time with as input instead of .

3 Yield curve storage & retrieval

Yield curve storage


A yield curve is fully defined by the nodes on the curve, the interpolation rule for the curve
section between the nodes, and the appropriate day counting basis for the curve. This is the
minimum amount of information needed to be stored for each yield curve.

Zero rate retrieval


The continuous zero rate at any date on the yield curve is defined by the linear interpolation
rule. If date does not fall on a yield curve node, its zero rate can be linearly
interpolated from two nearest left and right yield curve nodes using

(B.24)
Where:

 is a date that falls in ;

 is the date of the yield curve node closest to from the left;

 is the date of the yield curve node closest to from the right;
 is the continuous zero rate at desired date ;

 is the continuous zero rate of the yield curve node closest to from the left;
and

 is the continuous zero rate of the yield curve node closest to from the right.

Discount factor retrieval


The discount factor to a certain time , where is defined as above, the discount factor,
is defined as follows:

(B.25)

Forward rate retrieval


Where discount factors are defined as above, the forward rate for a given period can
be defined as follows:

(B.26)
Where:

 is the forward period coverage (employing appropriate day count basis).

You might also like