Calibrating time-dependent volatility to swaption prices

We have seen in a previous post how to fit initial discount curves to swap rates in a model-independent way. What if we want to control the volatility parameter to match vanilla rates derivatives as well? Just as we found for vanilla calls and puts, we will need to chose a model, for example the Hull-White extended Vasicek (HWeV) model that we’ve seen before (there are a few reasons why this isn’t a great choice, discussed later).

    \[dr = \Bigl( \theta(t) - ar(t) \Bigr) dt + \sigma(t) dW_t\]

Our next choice is which vanilla rates options we want to use for the calibration. A common choice is the interest rate swaption, which is the right to enter a swap at some future time T with fixed payment dates \{T_i\} > T and a strike X. These are fairly liquid contracts so present a good choice for our calibration. A ‘payer swaption’ is one in which we pay fixed and recieve floating, and a ‘receiver swaption’ is the opposite. For simplicity, for the rest of this post we will assume all payments are annual, so year fractions \tau are ignored.

A reciever swaption can be seen as a call option on a coupon-paying bond with fixed payments equal to X at the same payment dates as the swap. To see this, consider the price of a swap discussed before:

    \[S(t,\{T_i\}, X) = P(t,T_N) - P(t,T_0) + \sum^N_{i=1} X \cdot P(t,T_i)\]

where t is the time now. This is exactly the same as the price of buying a unit of bond at time T_0 for $1, receiving the fixed coupons X at each payment period, and receiving the original notional back at time T_N.

So, the price of a swaption is an option on receiving a portfolio of coupon payments, each of which can be thought of as a zero-coupon bond paid at that time, and the value of the swaption is the positive part of the expected value of these:

    \[C(t, T_0, T_N, K, X) = P(t,T_0) \cdot {\mathbb E}\Bigl[ \Bigl( K - \sum^N_{i=1} X \cdot P(t,T_i) \Bigr)^+ \Bigr]\]

where the cash payments have been replaced by the strike of the option (the only ‘notional’ payment that will be paid)

This isn’t readily tractable, but we make use of Jamshidian’s decomposition (I won’t go further here – this is worth it’s own post!) to re-write this with the max inside the summation:

    \[C(t, T_0, T_N, K, X) = P(t,T_0) \cdot {\mathbb E}\Bigl[ \sum^N_{i=1} \Bigl( K_i - \cdot P(t,T_i) \Bigr)^+ \Bigr]\]

where K_i is the price of a ZCB at time T_0 expiring at T_i if rates at T_0 make the value of the coupon-bearing bond equal to X.

Looking at this expression, we see that each term is simply the present value of an option to buy a ZCB at time T that expires at one of the payment dates T_i with strike K_i. So the price of a swaption has been expressed entirely as the price of a portfolio of options on ZCBs!




For the HWeV model, these are deterministic and depend only on the initial rate, and calibrated time dependent parameters in the model. Since rates are gaussian in HWeV this can be done analytically. Calculating these for time-varying parameters is algebra-intensive and I leave it for a later post, but for constant parameters the calculation is described in Brigo and Mercurio pg 75-76 and gives a price of

    \begin{align*} ZBC(t,T_0,T_i,K) &= P(t,T_0) {\mathbb E}\Bigl[ K - X \cdot P(t,T_i) \Bigr]^+ \nonumber \\ &= P(t,T_i) \cdot \Phi(h) - X \cdot P(t,T_0) \cdot \Phi(h-\sigma_p) \nonumber \end{align*}

where

    \begin{align*} \sigma_p &= \sigma \sqrt{\frac {1-e^{-2a(T_0 - t)}} {2a}} B(T_0,T_N) \nonumber \\ h &= {\frac 1 {\sigma_p}} \ln{\frac {P(t,T_N)} {X \cdot P(t,T_0)}} + {\frac {\sigma_p} 2} \nonumber \\ B(T_0,T_N) &= {\frac 1 a} \Bigl[ 1 - e^{-a(T_N - T_0)}\Bigr] \nonumber \end{align*}

We can see how we could use the above to calibrate the volatility parameter to match a single market-observed swaption price. When several are visible, the challenge becomes to choose a piecewise continuous function to match several of them. In HWeV this can be done analytically, but for more general models some sort of optimisation would be required.

Since these contracts have an exercise date T when the swap starts and the swaps themselves will have another termination date T_N which define a 2-dimensinal space \{T,T_N\}, it will not be possible to fit all market-observable swaptions with a one factor model. Many alternatives are discussed in the literature to deal with this concern, but the general procedure is the same. Practically, we should choose the most liquid swaptions and bootstrap to these, and only a few (5Y, 10Y etc) will practically be tradable in any case.

Fitting the initial discount curve in a stochastic rates model

 
I’ve introduced the Vasicek stochastic rates model in an earlier post, and here I’m going to introduce a development of it called the Hull-White (or sometimes Hull-White extended Vasicek) model.

The rates are modelled by a mean-reverting stochastic process

    \[dr = \bigl( \theta(t) - a r(t) \bigr) dt + \sigma dW_t\]

which is similar to the Vasicek model, except that the \theta(t) term is now allowed to vary with time (in general a and \sigma are too, but I’ll ignore those issues for today).

The freedom to set theta as a deterministic function of time allows us to calibrate the model to match the initial discount curve, which means at least initially our model will give the right price for things like FRAs. Calibrating models to match market prices is one of the main things quants do. Of course, the market doesn’t really obey our model. this means that, in time, the market prices and the prices predicted by our model will drift apart, and the model will need to be re-calibrated. But the better a model captures the various risk factors in the market, the less often this procedure will be needed.

Using the trick

    \[d \bigl( e^{at} r(t)\bigr) = e^{at} \bigl(dr + ar(t)dt \bigr)\]

to re-express the equation and integrating gives

    \[r(t) = r_0 e^{-at} + e^{-at}\int^t_0 \theta(u) e^{au} du + \sigma e^{-at} \int^t_0 e^{au} dW_u\]

where r_0 is the rate at t=0. The observable quantities from the discount curve are the initial discount factors (or equivalently the initial forward rates) P(0,t), where

    \[P(0,t) = {\mathbb E}\bigl[ e^{-\int^t_0 r(u) du} \bigr]\]

The rate r_0 is normally distributed, so the integral \int^t_0 r(u) du must be too. This is because an integral is essentially a sum, and a sum of normal distributions is also normally distributed. Applying the Ito isometry as discussed before, the expectation of this variable will come wholly from the deterministic terms and the variance will come entirly from the stochastic terms, giving

    \begin{align*} {\mathbb E} \bigl[ \int^t_0 r(u) du \bigr] &= r_0 B(0,t) + \int^t_0 e^{-au} (\int^u_0 \theta(s) e^{as} ds ) du \nonumber \\ {\mathbb V}\bigl[ \int^t_0 r(u) du \bigr] &= \sigma^2 \int^t_0 B(u,t)^2 du \nonumber \end{align*}




where throughout

    \[B(t,t') = {1 \over a}\bigl( 1 - e^{-a(t'-t)}\bigr)\]

and since

    \[{\mathbb E} \bigl[ e^x | x \sim {\mathbb N}(\mu,\sigma^2) \bigr] = e^{\mu + {1\over 2}\sigma^2}\]

we have

    \[P(0,t) = \exp \Bigl\{ -r_0 B(0,t) - \int^t_0 e^{-au} \bigl( \int_0^u \theta(s) e^{as} ds + {1 \over 2} \sigma^2 B(u,t)^2 \bigr) du \Bigr\}\]

Two differentiations of this expression give

    \[-{\partial \over \partial t} \ln P(0,t) = r_0 e^{-at} + e^{-at} \int^t_0 \theta(u) e^{au} du + {1\over 2} \sigma^2 B(0,t)^2\]

    \[-{\partial^2 \over \partial t^2} \ln P(0,t) = -ar_0 e^{-at} + \theta(t) - ae^{-at} \int^t_0 \theta(u) e^{au} du + \sigma^2 e^{-at} B(0,t)\]

and combining these equations gives an expression for \theta(t) that exactly fits the initial discount curve for the given currency

    \[\theta(t) = -{\partial^2 \over \partial t^2} \ln P(0,t) - a{\partial \over \partial t} \ln P(0,t) + {\sigma^2\over 2a}( 1 - e^{-2at} )\]

and since -{\partial \over \partial t} \ln P(0,t) = f(0,t) is simply the initial market observed forward rate to each time horizon coming from the discount curve, this can be compactly expressed as

    \[\theta(t) = {\partial \over \partial t} f(0,t) + a f(0,t) + {\sigma^2 \over 2a} ( 1 - e^{-2at} )\]

Today we’ve seen how a simple extension to the ‘basic’ Vasicek model allows us to match the initial discount curve seen in the market. Allowing the volatility parameter to vary will allow us to match market prices of other products such as swaptions (an option to enter into a swap), which I’ll discuss another time. But we’re gradually building up a suite of simple models that we can combine later to model much more complicated environments.

Stochastic Rates Models

In a previous post, I introduced the Black-Scholes model, in which the price of an underlying stock is modeled with a stochastic variable that changes unpredictably with time. I’ve also discussed the basic model-independent rates products whose value can be determined at the present time exactly. However, to progress further with interest rate derivatives, we’re going to need to model interest rates more carefully. We’ve assumed rates are deterministic so far, but of course this isn’t true – just like stocks, they change with time in an uncertain manner, so we need to allow them to become stochastic as well.

One way of doing this is by analogy with the BS case, by allowing the short rate (which is the instantaneous risk-neutral interest rate r(t)) to become stochastic as well, and then integrating it over the required period of time to calculate forward rates.

A very basic example of this is the Vasicek Model. In this model the short rate is defined to be stochastic, with behaviour governed by the following SDE

    \[dr = k\ [\ \theta - r(t)\ ]\ dt\ +\ \sigma\ dW\]

where k\theta and \sigma are constants and dW is the standard Wiener increment as described before. This is marginally more complicated than the BS model, but still belongs to the small family of SDEs that are analytically tractable. Unlike stock prices, we expect rates to be mean-reverting – stock price variance grows with time, but we expect the distribution of rates to be confined to a fairly narrow range by comparison. The term in square brackets above achieves this, since if r(t) is greater than \theta then it will be negative and cause the rate to be pulled down, while if it is below \theta the term will be positive and push the rate up towards \theta.

Solving the equation requires a trick, which is instead of thinking about the rate alone to think about the quantity d\big(\ e^{kt}\cdot r(t)\ \big). This is equal to e^{kt}\cdot dr(t)\ + \ ke^{kt} dt \cdot r(t), and substituting in the incremental rate term from the original equation we have

    \[d\big(\ e^{kt}\cdot r(t)\ \big) = e^{kt} \Big(k\ [ \theta - r(t) ] dt + \sigma dW \Big) + \ e^{kt} dt \cdot r(t)\]

    \[d\big(\ e^{kt}\cdot r(t)\ \big) = e^{kt} \Big( k\cdot \theta\cdot dt + \sigma\cdot dW \Big)\]

note that the term in r(t) has been cancelled out, and the remaining terms can be integrated directly from a starting time s to a finishing time T

    \[\Big[\ e^{kt}\cdot r(t)\ \Big]_{t=s}^{t=T} = \int_{t=s}^{t=T} k\ \theta\ e^{kt}\cdot dt + \int_{t=s}^{t=T} e^{kt} \sigma\cdot dW\]

    \[e^{kT}\cdot r(T)\ - e^{ks}\cdot r(s)\ = \Big[\ \theta\ e^{kt}\ \Big]_{t=s}^{t=T} + \sigma \int_{t=s}^{t=T} e^{kt}\cdot dW\]

    \[r(T)\ = e^{-k(T-s)}\cdot r(s)\ + \theta\Big(\ 1 - e^{-k(T-s)}\ \Big) + \sigma \int_{s}^{T} e^{-k(T-t)}\cdot dW(t)\]

where r(s) is the initial rate. This is simply a gaussian distribution with mean and variance given by

    \[\mathbb{E} \big[\ r(T)\ |\ {\cal F}_{\rm s}\ \big] = e^{-k(T-s)}\cdot r(s)\ +\ \theta\Big(\ 1 - e^{-k(T-s)}\ \Big)\]

    \[\mathbb{V} \big[\ r(T)\ |\ {\cal F}_{\rm s}\ \big] = {\sigma^2 \over 2k} \Big(\ 1 - e^{-2k(T-s)}\ \Big)\]

Where the variance is calculated using the “Ito isometry

    \[\mathbb{V} \big[\ r(T)\ |\ {\cal F}_{\rm s}\ \big] = \mathbb{E} \big[\ \big(r(T)\big)^2\ |\ {\cal F}_{\rm s}\ \big] - \big(\ \mathbb{E} \big[\ r(T)\ |\ {\cal F}_{\rm s}\ \big]\ \big)^2\]

    \[= \Big( \sigma \int_s^T e^{-k(T-t)} dW(t) \Big)^2\]

    \[=\sigma^2 \int_s^T \Big( e^{-k(T-t)}\Big)^2 dt\]

    \[= {\sigma^2 \over 2k} \Big(\ 1 - e^{-2k(T-s)}\ \Big)\]

as stated above. Note that this allows the possibility of rates going negative, which is generally considered to be a weakness of the model, but the chance is usually rather small.




As we know the distribution of the short rate, we can calculate some other relevant quantities. Of primary importance are the Zero Coupon Bonds, which are required for calculation of forward interest rates. A ZCB is a derivative that pays $1 at a future time t, and we can price this using the Risk-Neutral Valuation technique.

According to the fundamental theorem of asset pricing, the current price of a derivative divided by our choice of numeraire must be equal to it’s future expected price at any time divided by the value of the numeraire at that time, with the expectation taken in the probability measure corresponding to the choice of numeraire.

In the risk-neutral measure, the numeraire is just a unit of currency, initially worth $1 but continually re-invested at the instantaneous short rate, so that its price at time t is $1 \cdot e^{\int_0^t r(t') dt}. Now, the price of the ZCB is given by

    \[{Z(0,t) \over \$1} = {\mathbb E}^{RN}\Big[\ {Z(s,t)\over \$1 \cdot e^{\int_{0}^s r(t') dt' }}\ |\ {\cal F}_0\ \Big]\]

    \[Z(0,t) = {\mathbb E}\Big[\ {Z(s,t)\cdot e^{-\int_{0}^s r(t') dt' }}\ |\ {\cal F}_0\ \Big]\]

Although the RHS is true at any time, we only know the value of the ZCB exactly at a single time at the moment – the expiry date t, at which it is worth exactly $1. Plugging in these values we have

    \[Z(0,t) = \$1 \cdot {\mathbb E}\Big[\ e^{-\int_{0}^t r(t') dt' }\ |\ {\cal F}_0\ \Big]\]

So the ZCB is given by the expectation of the integral of the rate over a period of time. Since the rate is itself gaussian, and an integral is the limit of a sum, it’s not surprising that this quantity is also gaussian (it’s effectively the sum of many correlated gaussians, which is also gaussian, as discussed before), but it’s rather tricky to calculate, I’ve included the derivation at the bottom of the post to same space here. The mean and variance are given by

    \[\mathbb{E} \big[\int_s^T r(t)\ dt \ |\ {\cal F}_{\rm s}\ \big] = \big(r(s) - \theta \big) \cdot B(s,T)\ +\ \theta\cdot\big( T- s \big)\]

    \[\mathbb{V} \big[\int^T_s r(t)\ dt \ |\ {\cal F}_{\rm s}\ \big] = {\sigma^2 \over k^2} \Big( (T-s) -B(s,T) - {k\over 2} B(s,T)^2 \Big)\]

where

    \[B(s,T) = {1\over k}\big( 1 - e^{-k(T-s)}\big)\]

The ZCB is given by the expectation of the exponential of a gaussian variable – and we’ve seen on several occasions that

    \[\mathbb{E} \big[\ \exp{(x)}\ |\ x\sim {\mathbb N}(\mu, \sigma^2)\ \big] = \exp{ \Big(\mu + {1\over 2}\sigma^2 \Big) }\]

So the ZCB prices are

    \[Z(s,T) = A(s,T)\ e^{-B(s,T)\ r(s)}\]

with B(s,T) as defined above and

    \[A(s,T) = \exp{ \Big[ \Big( \theta - {\sigma^2 \over 2 k^2}\Big)\Big( B(s,T) - T + s \Big) - {\sigma^2 \over 4 k^2} B(s,T)^2 \Big]}\]

and as these expressions only depend on the rates at the initial time, we can calculate ZCB bond prices and hence forward rates for any future expiry dates at any given time if we have the current instantaneous rate.

Although we can calculate a discount curve for a given set of parameters, the Vasicek model can’t calibrate to an initial ZCB curve taken from the market, which is a serious disadvantage. There are more advanced generalisations which can, and I’ll discuss some soon, but they will use all of the same tricks and algebra that I’ve covered here.

I’ve written enough for one day here – in later posts I’ll discuss changing to the t-forward measure, in which the ZCB Z(0,t) forms the numeraire instead of a unit of currency, which simplifies many calculations, and I’ll use it to price caplets under stochastic rates, and show that these are equivalent to european options on ZCBs.

An alternate approach to the short-rate model approach discussed today which is very popular these days is the Libor Market Model (LMM) approach, in which instead of simulating the short rate and calculating the required forwards, the different forwards required are instead computed directly and in tandem – I’ll look further at this approach in another post.

 

Here is the calculation of the distribution of the integral of the instantaneous rate over the period s to T:

    \[r(t)\ = e^{-k(t-s)}\cdot r(s)\ + \theta\Big(\ 1 - e^{-k(t-s)}\ \Big) + \sigma \int_{s}^{t} e^{-k(t-u)}\cdot dW(u)\]

    \[\int_s^T r(t)\ dt = \int_s^T \Big[\ e^{-k(t-s)} r(s)\ + \theta\Big(\ 1 - e^{-k(t-s)}\ \Big) + \sigma \int_{s}^{t} e^{-k(t-u)} dW(u)\Big] dt\]

and splitting this into the terms that contribute to the expectation and the variance we have

    \[\mathbb{E} \big[\int_s^T r(t)\ dt \ |\ {\cal F}_{\rm s}\ \big] = \int_s^T \Big[\ e^{-k(t-s)} r(s)\ + \theta\Big(\ 1 - e^{-k(t-s)}\ \Big)\Big] dt\]

    \[= r(s) \int_s^T e^{-k(t-s)} \ dt + \theta \int_s^T \Big(\ 1 - e^{-k(t-s)}\ \Big) dt\]

    \[= r(s) \Big[ {1 \over -k}\ e^{-k(t-s)} \Big]^T_s + \theta \Big[ t - {1 \over -k}\ e^{-k(t-s)}\ \Big]^T_s\]

    \[= \big(r(s) - \theta \big)B(s,T)\ +\ \theta\cdot\big( T- s \big)\]

to calculate the variance, we first need to deal with the following term

    \[\int_s^T \Big[\ \sigma \int_{s}^{t} e^{-k(t-u)} dW(u)\Big] dt\]

we use stochastic integration by parts

    \[\sigma \int_s^T \int_{s}^{t} e^{-k(t-u)} dW(u)\ dt = \int_s^T e^{-kt}\big(\int_{s}^{t} e^{ku} dW(u)\big)\ dt\]

    \[= \sigma\int_s^T \big(\int_{s}^{t} e^{ku} dW(u)\big)\ d_t \Big( \int^t_s e^{-kv}dv \Big)\]

    \[= \sigma\Big[ \int_{s}^{t} e^{ku} dW(u)\cdot \int^t_s e^{-kv}dv\ \Big]^T_s - \sigma\int_s^T dW(t)\Big( e^{kt} \int^t_s e^{-kv}dv\ \Big)\]

    \[= \sigma\int_{s}^{T} e^{ku} dW(u)\cdot \int^T_s e^{-kv}dv - \sigma\int_s^T dW(t) e^{kt} \Big( \int^T_s e^{-kv}dv - \int^T_t e^{-kv}dv \Big)\]

    \[= \sigma\int_s^T e^{kt} \Big(\int^T_t e^{-kv}dv\Big) dW(t)\]

    \[= {\sigma \over k}\int_s^T \big(1 - e^{-k(T-t)}\big)\ dW(t)\]

and we’re now in a position to try and find the variance of the integral

    \[\mathbb{V} \big[\int^T_s r(t)\ dt \ |\ {\cal F}_{\rm s}\ \big] = {\mathbb E}\Big[\ \Big({\sigma \over k}\int_s^T \big(1 - e^{-k(T-t)}\big)\ dW(t)\Big)^2\ \Big]\]

    \[= {\mathbb E}\Big[\ {\sigma^2 \over k^2}\int_s^T \big(1 - e^{-k(T-t)}\big)^2\ dt\ \Big]\]

where Ito’s isometry has been used again, and several more lines of routine algebra leads to the result

    \[= {\sigma^2 \over k^2} \Big( (T-s) -B(s,T) - {k\over 2} B(s,T)^2 \Big)\]