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
) 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
![Rendered by QuickLaTeX.com \[dr = k\ [\ \theta - r(t)\ ]\ dt\ +\ \sigma\ dW\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-f50c90aefe9011efeb4ce60385a49830_l3.png)
where
,
and
are constants and
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
is greater than
then it will be negative and cause the rate to be pulled down, while if it is below
the term will be positive and push the rate up towards
.
Solving the equation requires a trick, which is instead of thinking about the rate alone to think about the quantity
. This is equal to
, and substituting in the incremental rate term from the original equation we have
![Rendered by QuickLaTeX.com \[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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-dd33b7bf94470f94c7f3c2bccd3afa52_l3.png)
![Rendered by QuickLaTeX.com \[d\big(\ e^{kt}\cdot r(t)\ \big) = e^{kt} \Big( k\cdot \theta\cdot dt + \sigma\cdot dW \Big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-b8cbba8491467d7980f9c6c5dfb22c8c_l3.png)
note that the term in
has been cancelled out, and the remaining terms can be integrated directly from a starting time
to a finishing time 
![Rendered by QuickLaTeX.com \[\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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-33c6c493a3830e8892c36f3248dd96d5_l3.png)
![Rendered by QuickLaTeX.com \[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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-f2ca2e98150e3b75378c234bcdc5a57b_l3.png)
![Rendered by QuickLaTeX.com \[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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-21df145a5277a21cbf7b7460b2c77c9d_l3.png)
where
is the initial rate. This is simply a gaussian distribution with mean and variance given by
![Rendered by QuickLaTeX.com \[\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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-3c711cb1336b432897763ad778424ce2_l3.png)
![Rendered by QuickLaTeX.com \[\mathbb{V} \big[\ r(T)\ |\ {\cal F}_{\rm s}\ \big] = {\sigma^2 \over 2k} \Big(\ 1 - e^{-2k(T-s)}\ \Big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-279e6514f160ce1758b1035f5c31c705_l3.png)
Where the variance is calculated using the “Ito isometry”
![Rendered by QuickLaTeX.com \[\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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-b1432873eaeeb39616845a948dbb87d3_l3.png)
![Rendered by QuickLaTeX.com \[= \Big( \sigma \int_s^T e^{-k(T-t)} dW(t) \Big)^2\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-d103acbb813db8f491c92fdea0611a4d_l3.png)
![Rendered by QuickLaTeX.com \[=\sigma^2 \int_s^T \Big( e^{-k(T-t)}\Big)^2 dt\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-f7a470761f483a2579ad317da01388d8_l3.png)
![Rendered by QuickLaTeX.com \[= {\sigma^2 \over 2k} \Big(\ 1 - e^{-2k(T-s)}\ \Big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-394ca7341b688260394a4b52461b74a0_l3.png)
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
, 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
is $1
. Now, the price of the ZCB is given by
![Rendered by QuickLaTeX.com \[{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]\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-d4ea2622dc9e8cfb9b6b186be6c62325_l3.png)
![Rendered by QuickLaTeX.com \[Z(0,t) = {\mathbb E}\Big[\ {Z(s,t)\cdot e^{-\int_{0}^s r(t') dt' }}\ |\ {\cal F}_0\ \Big]\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-eceb7b01a63f3e931780331f106e678b_l3.png)
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
, at which it is worth exactly $1. Plugging in these values we have
![Rendered by QuickLaTeX.com \[Z(0,t) = \$1 \cdot {\mathbb E}\Big[\ e^{-\int_{0}^t r(t') dt' }\ |\ {\cal F}_0\ \Big]\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-1af02fd4d3f2f1848d2d2c51d211a677_l3.png)
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
![Rendered by QuickLaTeX.com \[\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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-588eccd05fb5ebabcf599f6b56176049_l3.png)
![Rendered by QuickLaTeX.com \[\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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-38ab3da271ab58fda95bf4e6e5e75eeb_l3.png)
where
![Rendered by QuickLaTeX.com \[B(s,T) = {1\over k}\big( 1 - e^{-k(T-s)}\big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-7eec63417cca75c709da7898c9528970_l3.png)
The ZCB is given by the expectation of the exponential of a gaussian variable – and we’ve seen on several occasions that
![Rendered by QuickLaTeX.com \[\mathbb{E} \big[\ \exp{(x)}\ |\ x\sim {\mathbb N}(\mu, \sigma^2)\ \big] = \exp{ \Big(\mu + {1\over 2}\sigma^2 \Big) }\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-b90ed620534a26e6bcded8a23427c422_l3.png)
So the ZCB prices are
![Rendered by QuickLaTeX.com \[Z(s,T) = A(s,T)\ e^{-B(s,T)\ r(s)}\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-3e0c02145acf0dfff9f9e38cca27242e_l3.png)
with
as defined above and
![Rendered by QuickLaTeX.com \[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]}\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-f445d33ef865680b1cec0a4af0d5e1ea_l3.png)
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
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
to
:
![Rendered by QuickLaTeX.com \[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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-86ba6a2964cac9c5d5da0cc8f36ff0b5_l3.png)
![Rendered by QuickLaTeX.com \[\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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-79cbfd5173f8237edb5bef33552ee0c2_l3.png)
and splitting this into the terms that contribute to the expectation and the variance we have
![Rendered by QuickLaTeX.com \[\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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-b7006aa467605b72f5ec2f35353384e5_l3.png)
![Rendered by QuickLaTeX.com \[= r(s) \int_s^T e^{-k(t-s)} \ dt + \theta \int_s^T \Big(\ 1 - e^{-k(t-s)}\ \Big) dt\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-9bb1d86e40be66fec849197e7a49d48d_l3.png)
![Rendered by QuickLaTeX.com \[= 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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-406071f0e49680f518ed74853571b4bd_l3.png)
![Rendered by QuickLaTeX.com \[= \big(r(s) - \theta \big)B(s,T)\ +\ \theta\cdot\big( T- s \big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-8d10dd8666b5aed525baef1723e4386d_l3.png)
to calculate the variance, we first need to deal with the following term
![Rendered by QuickLaTeX.com \[\int_s^T \Big[\ \sigma \int_{s}^{t} e^{-k(t-u)} dW(u)\Big] dt\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-299b7feb674779d70112e93a758560b8_l3.png)
we use stochastic integration by parts
![Rendered by QuickLaTeX.com \[\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\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-8c973bb2595136e2189d0a74f6c993c7_l3.png)
![Rendered by QuickLaTeX.com \[= \sigma\int_s^T \big(\int_{s}^{t} e^{ku} dW(u)\big)\ d_t \Big( \int^t_s e^{-kv}dv \Big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-721b5acbb602ac7046e1198e1dbe88cc_l3.png)
![Rendered by QuickLaTeX.com \[= \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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-115078211aa1cabcaeb1c5c216d28c41_l3.png)
![Rendered by QuickLaTeX.com \[= \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)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-2e090b7a8f4bfc561c290828cf15bfb4_l3.png)
![Rendered by QuickLaTeX.com \[= \sigma\int_s^T e^{kt} \Big(\int^T_t e^{-kv}dv\Big) dW(t)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-87452f13d282cf5a243e942ce7aac423_l3.png)
![Rendered by QuickLaTeX.com \[= {\sigma \over k}\int_s^T \big(1 - e^{-k(T-t)}\big)\ dW(t)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-6339b688929bb62265318d99445da491_l3.png)
and we’re now in a position to try and find the variance of the integral
![Rendered by QuickLaTeX.com \[\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]\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-7b97564511654deea3e6ea3447ca01af_l3.png)
![Rendered by QuickLaTeX.com \[= {\mathbb E}\Big[\ {\sigma^2 \over k^2}\int_s^T \big(1 - e^{-k(T-t)}\big)^2\ dt\ \Big]\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-cebd01b1a7c0fe7a4a6c97ea5a490d8c_l3.png)
where Ito’s isometry has been used again, and several more lines of routine algebra leads to the result
![Rendered by QuickLaTeX.com \[= {\sigma^2 \over k^2} \Big( (T-s) -B(s,T) - {k\over 2} B(s,T)^2 \Big)\]](http://www.quantopia.net/wp-content/ql-cache/quicklatex.com-78739cc0531a0f8e8c73360a0f6d1dd7_l3.png)