Skip to content
All library documents

Log-Linear Discount-Factor Interpolation in Markit Curve Bootstrapping

Article Quant Q&A · Author: Olórin

Summary

The document asks how Markit defines spot dates for several currencies and how intermediate discount factors enter swap-curve bootstrapping. Its central example is a two-year EUR swap: the coupon schedule needs an 18-month discount factor, while quoted LIBOR instruments provide nodes through one year and the two-year swap rate determines the final node. The proposed approach is to express the 18-month factor through log-linear interpolation between the one- and two-year factors, then solve the swap-pricing equation for the unknown two-year factor using Brent’s method.

The answer instead describes the interpolation as a constant forward rate between curve nodes, relating the intermediate discount factor to the one-year factor and that forward rate. It does not fully settle the question about the meaning of “weekdays” in the spot-date convention, nor does it spell out how the iterative search jointly satisfies the swap equation. The discussion concerns convention curves for quotation and should not be read as guidance for discounting in a real pricing process.

Key ideas

  • An intermediate discount factor may be needed to value swap coupons that fall between quoted curve maturities.
  • Log-linear interpolation of discount factors corresponds to a constant forward rate between adjacent curve nodes.
  • The unknown longer-maturity discount factor can be solved iteratively when the intermediate factor depends on it.
  • The document leaves the precise interpretation of the EUR spot-date weekday convention unresolved.

Tags

Full text
# Questions about Markit rates curve bootstrapping


# Questions about Markit rates curve bootstrapping












I am reading the following two Markit documents concerning the bootstrapping of respectively the USD rates curve and the EUR, GBP, JPY, CHF, CAD, HKD, SGD, AUD and NZD rates curves. (Both versions are the last versions.)

These curves are not curves to be used ase discount curves in a "real" pricing process, they have to be seen as "convention" curves used in the ISDA model for quotation purposes. (All currencies except JPY the only holidays are week-ends (JPY has the TYP holidays calendar.))

1) First question. In the second document page 7 one sees the following table :

I perfectly get what "Trade Date + 2 business days (ignoring holidays)" (spotdate row for CHF) means : it means that the spot date is equal to the date resulting of the shif of the trade date by to business days forward, the "ignoring holidays" being here surely to recall that there are no holidays except week-ends for EUR.

I get as well what "Trade Date (even if Trade Date is a holiday)" (spotdate row for CAD for instance) means (obvious).

But what does "Trade Date + 2 weekdays (ignoring holidays)" (spotdate row for EUR for instance) exactly mean ?

- Does it mean that one shifts the trade date forward by two days, not adjusting the resulting day even if it falls in a week-end ?

- Or does it means that one shifts the trade date forward by two business days, the ignoring holidays being there as a reminder of the fact that there are no holidays for EUR except week-ends ?

2) Second question. There's something I don't understand in the bootstrapping process. Quote from the second document end of page 8 and top of page 9 :

"As part of this process, intermediate discount factors are needed to discount coupons that do not fall on swap or deposit maturity dates - for example the 2Y calculation requires that the coupon at 18 months be discounted. The intermediate discount factor, in this case for 18 months, is interpolated between the 1Y and 2Y discount factors on the basis of a constant forward rate over the period from 1Y to 2Y i.e. the discount factor is log-linearly interpolated. The correct value for the forward rate is determined by an iterative search using Brent’s method."

I am not sure to perfectly understand. Assuming we're in the EUR case and noting $t_0$ the trade date and $t_s$ the spot date (and assuming as in the paper that the zero-coupon $P_{t_0,t_s}$ is equal to $1$ we do this : we get (through the 1M, 2M, 3M, 6M, 9M and 1Y LIBOR's values provided by Markit) the values of $P_{t_s,t_s+1M}$, $P_{t_s,t_s+2M}$, $P_{t_s,t_s+3M}$, $P_{t_s,t_s+6M}$, $P_{t_s,t_s+9M}$ and $P_{t_s,t_s+1Y}$, and now we want to infer $P_{t_s,t_s+2Y}$ from the 2Y swap rate $s_{2Y}$ Markit furnishes.

Writing the definition of $s_{2Y}$ (the fixed rate making the value of the swap equal to $0$ at inception (that is, at $T_s$)) and sparing the details, one finally arrives at an equation of the form :

$$\varphi\left(P_{t_s,t_s+6M}, P_{t_s,t_s+1Y}, P_{t_s,t_s+18M}, P_{t_s,t_s+2Y}\right) = 0$$

where $\varphi$ is an affine function and where $P_{t_s,t_s+6M}$ and $P_{t_s,t_s+1Y}$ were previously extracted for LIBOR's quotes. We want to find $P_{t_s,t_s+2Y}$, but we need $P_{t_s,t_s+18M}$ that we don't know. Should I understand that we simply interpolate $P_{t_s,t_s+18M}$ by $P_{t_s,t_s+1Y}^{\frac{(t_s +2Y)-(t_s +18M)}{(t_s +2Y)-(t_s +1Y)}} P_{t_s,t_s+2Y}^{\frac{(t_s +18M)-(t_s +1Y)}{(t_s +2Y)-(t_s +1Y)}}$ and that we then solve

$$\varphi\left(P_{t_s,t_s+6M}, P_{t_s,t_s+1Y}, P_{t_s,t_s+1Y}^{\frac{(t_s +2Y)-(t_s +18M)}{(t_s +2Y)-(t_s +1Y)}} P_{t_s,t_s+2Y}^{\frac{(t_s +18M)-(t_s +1Y)}{(t_s +2Y)-(t_s +1Y)}}, P_{t_s,t_s+2Y}\right) = 0$$

in $P_{t_s,t_s+2Y}$ using Brent's algorithm ?

## Answer by will (score -3)

https://quant.stackexchange.com/a/33625

For each payment in the swap you want this:

$$ P(t) = e^{-\int_0^t r(\tau) \mathrm{d}\tau} $$

Where $r(\tau)$ is the instantaneous rate. They're saying that $r(\tau)$ is constant between nodes, so for your interpolation for the 18m point you would do this:

$$ P(18\mathrm{m}) = P(1\mathrm{y}) e^{-\int_{1\mathrm{y}}^{18\mathrm{m}} r(\tau) \mathrm{d}\tau} = P(1\mathrm{y}) e^{- r(1\mathrm{y}) \cdot 6\mathrm{m} } $$

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.