Professional Documents
Culture Documents
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.
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
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 ;
(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 .
To calculate the discount factor at the next cash instrument end date , we use
(B.4)
Where:
The zero rate at the instrument end date is calculated from the discount factor using
the formula
(B.5)
Where:
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:
(B.6)
Where:
(B.7)
Where:
is the discount factor at time ; and
The zero rate at the instrument end date is calculated from the discount factor using
the formula
(B.8)
Where:
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:
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:
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.
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:
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;
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 .
(B.19)
(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)
(B.22)
Where:
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).
(B.23)
(B.24)
Where:
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.
(B.25)
(B.26)
Where: