November 17, 2014

The Libor Market Model

Filed under: Uncategorized — Tags: , , , — heavytailed @ 9:15 pm

Among statisticians (particularly biostatisticians), hearing ‘LMM’ immediately triggers “Linear Mixed Model” and scary thoughts about random effects. Among quant circles the association is completely different: LMM means the Libor Market Model, the most commonly used model of interest rates among the squalor of the fixed-income desks.

What is LIBOR?

Does it help if I tell you the acronym stands for London Inter-Bank Offer Rate? No? Simply put, a selection of 18 banks tell the Intercontinental Exchange what they think a fair price is if they were to borrow money.

The Model

So after all that time describing LIBOR, it’s time to reveal that The LIBOR Market Model is a complete misnomer. The model is, itself, a simple model of forward contracts. In fact, it should really be called the NIRMM: Nominal Interest Rate Market Model, as any effective interest rate can be modeled so long as forwards contracts can be observed.

Forward Rates

A forward contract is an up-front agreement for a future loan. No bank would do this in real life, but pretend you know you’re going to buy a house in three years. You walk into Local Municipal Bank and say “Three years from now, I’m going to get a €300,000, 5-year loan from you, let’s lock in a rate.” The bank says “OK we’ll give you 2.5% at that time.” Boom. Forward rate is 0.025 [1] In the actual market, there are many different forward rates, corresponding to different loan durations (“tenors”) and ending dates (“maturities”). Each of these contracts, naturally, has its own rate with which it is associated.

Forward rates don’t have a simple floating value based merely on supply-and-demand (like, say, onions): they face a significant no-arbitrage constraint: If I borrow €300,000 for 3 years, and also hash out a €300,000 forward contract which begins in 3 years and lasts for 5 years, then the total rate I pay ought to be the same as if I’d simply borrowed €300,000 for 8 years. Mathematically if P(a,b) is a bond from time a to time b, and F(t, a, b) is a forward contract at time t from time a to time b: P(t, T_1 + T_2) = P(t, T_1)F(t, T_1, T_2).

If this equality fails to hold, and P(t, T_1 + T_2) > P(t, T_1)F(t, T_1, T_2) then I can make money by borrowing money using the right-side structure (borrow from now to T_1, and engage a future contract from T_1 to T_2), and lending money using the left-side structure. Similarly, if P(t, T_1 + T_2) < P(t, T_1)F(t, T_1, T_2) then I can make  money by borrowing money using the left-side structure, and lending using the right-side structure.

If the equality above holds, then the forward contract rate has an easy definition in terms of zero-coupon bonds P: \;\; F(t, T_1, T_2) = \frac{P(t, T_1+T_2)}{P(t, T_1)}. The simply compounded interest rate L(t, T_1, T_2) is defined by

\frac{1}{1 + (T_2 - T_1)L(t, T_1, T_2)} = F(t, T_1, T_2)

This is a bit of a silly definition as written; let’s parse this out:

\frac{1}{1 + \delta L_i} = \frac{P_{i+1}}{P_i} \Rightarrow 1 + \delta L_i = \frac{P_i}{P_{i+1}} \Rightarrow L_i = \frac{P_{i} - P_{i+1}}{\delta P_{i+1}}

This gives the nifty equation

P_{i+1}(1 + \delta L_i) = P_i

So we can calculate the market Libors from prices, spots, or forwards (e.g. using the market prices for each, without needing to convert). The Libor Market Model is a model for L, which models the way in which forward prices responds to stochastic noise. It has the form:

dL = \mathbf{\Xi}Ldt + L \odot \Omega \; dW

where L is a vector, \mathbf{\Xi}, \Omega are matrices; all of these are functions of time. While \Omega(t) is an exogenous model of volatility, the no-arbitrage constraint will enable us to define the matrix \; \mathbf{\Xi}.

Consider a simple case where \; \mathbf{\Xi} = 0 and \Omega = I. Then each component of L evolves as independent geometric brownian motion, and so

L_i(t) = L_i(0)\exp\left(-\frac{1}{2}t + W_t^i\right) and \mathbb{E}[L_i(t)] = L_i(0)e^{-\frac{1}{2}t}\mathbb{E}[\exp(W_t^i)] = L_i(0)e^{-\frac{1}{2}t + \frac{1}{2}t} = L_i(0)

There’s a problem here: no-arbitrage is not enforced. If L_i(0) is not in an arbitrage-free state, or if $dW$ ever knocks the system out of an arbitrage-free position (which happens almost surely), then the relationship between forwards and spots (e.g. the L_i and L_j) evolves with no regard to market forces.

So how do we enforce our sample paths to be approximately zero-arbitrage? It turns out that simply baking this assumption in suffices to do so; that is: the assumption of geometric brownian motion under the risk-neutral measure is more powerful than one might initially think.

It’s important to note that the “risk-neutral measure” is one of those terms of art that has only a practical meaning. It almost always means whatever measure makes my thing a martingale. Consider that the definition of L_i(t) = L(t, T_i, T_{i+1}) gives

L_i(t)P_{i+1}(t) = \frac{1}{T_{i+1}-T_i}(P_i(t) - P_{i+1}(t)) \Rightarrow L_i(t) = \frac{1}{\delta}\left(\frac{P_i(t)}{P_{i+1}(t)} - 1\right)

Now we want to differentiate. Using the derivative from deterministic calculus will get us into trouble; so we need to use a stochastic derivative, and in particular the stochastic division rule.

Ito’s Lemma and the Stochastic Quotient

Stochastic calculus anywhere outside of engineering is overburdened with theory, acronyms, and poor notation. Most approaches to teaching it get far too technical far too quickly. Seriously, go look at Wikipedia and try not to get completely lost. Google around for some notes and see if you fare any better.

In my mind, the entirety of brownian stochastic calculus is summed up as follows:

dW^2 \sim dt

This is intuitive in the following sense: if X(0) = 0 and dX = \sigma dW we have that X(t) \sim N(0, \sigma t). Of course then \frac{X(t)}{\sqrt{\sigma dt}}^2 \sim \chi^2(1). In an infinitesimal step X = 0 + dW = dW and so \sigma dt \chi^2(1) \sim X^2 \approx dW^2. Then we make the approximation dt \chi^2(1) \approx \delta(dt) since \mathbb{P}[dt \chi > \epsilon] \rightarrow 0 for any \epsilon not depending on dt. Ergo dW^2 \sim dt.

This is very handwavy because we bypass all concern about the competing notions of convergence. We have a random variable converging to a distribution, and a function (that distribution) converging to an infinitesimal; and the infinitesimal converging to 0. Nevertheless, the above is exactly correct when used in a Taylor expansion (the only place you’d want to use it anyway), and can be used to derive many things, including the stochastic quotient.

Consider two geometric brownian motions

dA = A\alpha dt + A\sigma dW_a

dB = B\beta dt + B\gamma dW_b

with \mathbb{E}[W_aW_b] = \rho. Let f(a,b) = \frac{a}{b} and then

df = \frac{\partial f}{\partial a} da + \frac{\partial f}{\partial b}db + \frac{\partial^2 f}{\partial a \partial b}dadb + \frac{1}{2}\frac{\partial^2 f}{\partial a^2}da^2 + \frac{1}{2}\frac{\partial^2 f}{\partial b^2}db^2 + \dots

= \frac{1}{b}da - \frac{a}{b^2}db - \frac{1}{b^2}dadb + \frac{a}{b^3}db^2 +\dots

Which means that

d(A/B) = \frac{1}{B}(A \alpha dt + A \sigma dW_a) - \frac{A}{B} \frac{1}{B}(B \beta dt + B \gamma dW_b) - \dots

... - \frac{1}{B}(A\alpha dt + A\sigma dW_a)(\beta dt + \gamma dW_b) + \frac{A}{B^3}(B\beta dt + B\gamma dW_b)^2

We observe a lot of A/B terms in here. Writing C=A/B:

dC = C(\alpha-\beta) dt + C(\sigma - \gamma)dW - 2C\sigma\gamma dW_adW_b + C\gamma^2dW_b^2 + O(dt^2) + o(dtdW)

Dropping terms smaller than O(dt) and setting dW^2 = dt then we have

dC = C(\alpha - \beta + \gamma^2 - \sigma\gamma\rho)dt + C(\sigma - \gamma)dW

The spot rates P_i follow (independent) geometric brownian motion (this is, again, the no-arbitrage assumption)

dP_i = P_i \mu_i(t)dt + P_i\sigma_i(t)dW

Using the quotient rule, and defining R_{i} = \frac{P_i}{P_{i+1}} we have

\frac{dR_{i}}{R_{i}} = (\mu_i - \mu_{i+1} + \sigma^2_{i+1} - \sigma_i\sigma_{i+1})dt + (\sigma_i - \sigma_{i+1})dW

This gives then

dL_i = \frac{1}{\delta}R_i(\mu_i - \mu_{i+1} + \sigma^2_{i+1} - \sigma_i\sigma_{i+1})dt + (\sigma_i - \sigma_{i+1})dW

The crux of the Libor Market Model is that L_i should follow brownian motion. This implies two things, first, that the volatility difference is very special: \sigma_i - \sigma_{i+1} = \frac{\delta}{R_i} L_i \xi_i(t) and also that the drift terms should be linked to the volatilities as \mu_i(t) = \sigma_i(t) r(t). These then give

dL_i = \frac{1}{\delta} R_i\left[((\sigma_i - \sigma_{i+1})r + \sigma_{i+1}(\sigma_i - \sigma_{i+1}))dt + (\sigma_i - \sigma_{i+1})dW\right]

dL_i = L_i\left[(r + \sigma_{i+1}) \xi_i dt + \xi_i dW\right]

And now we have brownian motion. It’s worth parsing out what the spot rates now have to look like based on the central assumptions we made in order to shove L_i into a brownian motion form. Because we have \mu_i(t) = \sigma_i(t)r(t), we therefore must have

dP_i = P_i\sigma_ir dt + P_i \sigma_i dW \Rightarrow \log \frac{P_t}{P_0} = (r\sigma_i - \frac{\sigma_i^2}{2})t + \sigma dW = \sigma_i\left[(r - \frac{\sigma_i}{2})t + dW\right]

with the right-hand equation assuming constant volatility. In addition, the required relationship

\sigma_{i+1} = \sigma_i - \frac{\delta}{R_i} L_i \xi

telescopes. One thing to keep in mind is that \sigma_i is the volatility of a bond that exercises at time T_i, so \sigma_i(t) = 0 for t > T_i. Letting j(t) be the first index for which t < t_i the above telescopes to

\sigma_{i+1} = \omega(t) - \sum_{j(t)}^i \frac{\delta}{R_i}L_i

And since L = \frac{1}{\delta}(R - 1) \Rightarrow R = \delta L + 1 \Rightarrow \frac{\delta}{R_i}L_i = \frac{\delta L_i}{1 + \delta L_i}

which is the term one is most often used to seeing.

If you recall, above I claimed that the derivation of this model only required certain no-arbitrage assumptions. There are, however, seemingly unrelated-to-arbitrage assumptions on volatility differences, and a linkage between volatility and drift. However, if L_i were not martingales (e.g. if we couldn’t take a reference frame where dL_i = L_i \xi_i dW) then because P_{i+1}(1 + \delta L_i) = P_i, it would imply that there is an arbitrage in the P_i. The hand-wavy way to demonstrate this is to note that, by the stochastic quotient above, that if A is a martingale, and B is a martingale on the same space, then A/B must also be a martingale. Taking the contrapositive: if A/B is not a martingale at least one of: A is not a martingale, B is not a martingale, or A and B are not defined on the same space must be true. Since L_i is a ratio, then the failure of L_i to be  a martingale implies that there must be an arbitrage in the bond prices. Therefore the “strange” conditions on the drift and volatility difference terms are actually just no-arbitrage constraints. The mathematics of this is worked out in Heath, Jarrow, & Morton, in the section on ‘Existence of Market Prices for Risk.’ One of the drawbacks of HJM and BGM is that the notation used is that of stochastic integrals rather than stochastic differentials, which is different from the notation presented here.

Measures, Calibration, and Pricing

You may have noticed in the previous discussion my borrowing the term ‘reference frame’ to refer to dropping the drift term from the differential equation. This is typically referred to as a ‘change of measure’ or even more confusingly, ‘change of numeraire.’ There are appeals to Girsanov’s theorem and the Radon-Nikodym derivative, which involves developing the theory of filtrations. It’s all rather complicated for a very simple piece of intuition: you’ve got a particle moving with certain dynamics. Classically, you can write those dynamics in any number of suitable reference frames, including one in which the particle is not moving at all. The stochastic equivalent is to adopt a reference frame where the particle is moving only stochastically, and this amounts to adopting a reference frame that moves deterministically (and instantaneously) with the drift alone; that is if

\frac{dX}{X} = \alpha(t)dt + \sigma(t)dW

then we can adopt the reference frame

\frac{dF}{X} = \alpha(t)dt

and note the presence of X in the denominator. Sure this is now a system of linked equations, which is precisely the point. Establishing that this is a valid transformation probabilistically is a bit involved, but the actual transformation is intuitively simple. Girsanov’s theorem basically says “You can pick a reference frame.”

That rant aside, how many degrees of freedom do we have in this model? The \sigma_i(t) are fixed (possibly up to a single baseline function \omega(t)) by the preceding L_j. That just leaves the \xi_i; so there are basically n+1 degrees of freedom. The n of course can be increased arbitrarily by choosing \xi_i(t) to be of higher order than a constant term. Given that L_j is a martingale with L_j =_{\mathbb{Q}_j} \xi_j(t)dW_j the \xi_j are typically referred to (and can be interpreted as) Libor volatilities. Again, a reminder, that the \xi_i are not volatilities for the actual LIBOR which is reported daily: these are instead forward rates. Of course, application of Ito’s rule brings them into line:

F_i = f(L_i) = (1 + \delta L_i)^{-1}

df = \frac{\partial f}{\partial x}dx + \frac{1}{2}\frac{\partial^2f}{\partial x^2}dx^2 + \dots

dF_i = -(1 + \delta L_i)^{-2}\delta L_i \xi_i dW + (1 + \delta L_i)^{-3}\delta^2\xi_i^2 L_i^2 dW^2

Recalling that \frac{\delta L_i}{1 + \delta L_i} = \frac{\sigma_i - \sigma_{i+1}}{\xi} we get out (well, what did you expect??)

dF_i =_{\mathbb{Q}_i} (\sigma_{i+1}-\sigma_i)^2F_idt + (\sigma_{i+1}-\sigma_i)F_idW

Despite the fact that the \sigma_i can be computed from the \xi_i (given L_i), and visa versa, which means that one could choose to model the forward, spot, or Libor volatilities, the philosophy of the LMM is that the “truth” lies with the Libor volatilities, \xi_i, and that spot and forward volatilities are derived quantities. The Libor volatilities can be modeled in much the same way forward volatilities would be (for instance Ho-Lee or HJM like models). For instance, we could let

\xi(t) = (a + bt)e^{-ct} + d

\xi_i(t) = k_i \xi(t)

which gives us n+4 free parameters. The Libor values L(t, T_i, T_{i+1}) are directly observable, as defined above, and thus their volatilities can be fit directly.

There are alternatives to direct fitting as well. In much the same way that one can use option prices to back out parameters of the underlying asset, one can back out parameters of the forward rates from caps and swaps. This method of calibration requires a slight digression on pricing these instruments.

Derivatives pricing under LMM

The standard interest rate derivatives are caps and swaps. There are of course others, including a plethora of exotics, but caps and swaps are the two which are germane to LMM calibration. We start with a swap agreement.

Interest Rate Swaps

An interest rate swap agreement references two dates: a “reset date” T_i and a “settlement date” T_{i+1}. The difference \delta_i = T_{i+1}-T_i is the time interval for the contractual fixed rate \kappa. The contract is as follows:

Party A is looking to hedge against volatility in forward interest rates, and wants to fix a set interest rate \kappa over the time period (T_i, T_{i+1}). Therefore at time T_{i+1} Party A disburses \delta_i \kappa to Party B.

Party B is looking to speculate on the volatility on the forward interest rates, and specifically wants to capitalize on the difference between \kappa and the short rate r(t=T_i, T_{i+1}). In exchange for receiving \delta_i \kappa from Party A, Party B disburses whatever the short rate was over that period, r(t=T_i, T_{i+1}).

The short rate r(t, T) can be calculated from zero-coupon bond prices as r(t, T) = \left(\frac{\mathrm{Face\;Value}}{P(t, T)}\right)^{1/\mathrm{num \; compounds}} - 1. We will take the face value to be \texttt{f}, and we’ll assume for simplicity that there is only the single application of the rate at T_{i+1}. Therefore the contract stipulates

\mathrm{Receive}_A = \frac{\texttt{f}}{P(t=T_i, T_{i+1})} - 1

\mathrm{Receive}_B = \delta_i \kappa

The present value of these are

\mathrm{PV}_A = \frac{P(t, T_{i+1})}{\texttt{f}}\left(\frac{\texttt{f}}{P(t=T_i, T_{i+1})} - 1\right)

\mathrm{PV}_B = \frac{P(t, T_{i+1}) \delta_i \kappa }{\texttt{f}}

There’s some simplification for \mathrm{PV}_A, since \frac{P(t, T_{i+1})}{\mathtt{f}} = \frac{P(t, T_i)P(t=T_i, T_{i+1})}{\mathtt{f}^2} (in expectation) then we can rewrite

\mathrm{PV}_A = \frac{P(t, T_i)}{\mathtt{f}} - \frac{P(t, T_{i+1})}{\texttt{f}}

The fair value of \kappa can be identified by setting \mathrm{PV}_A = \mathrm{PV}_B so that

\frac{P(t, T_i)}{\mathtt{f}} - \frac{P(t, T_{i+1})}{\texttt{f}} = \frac{P(t, T_{i+1})}{\texttt{f}} \cdot \delta_i \kappa


\kappa = \frac{P(t, T_i) - P(t, T_{i+1})}{\delta_i P(t, T_{i+1})} = \frac{1}{\delta_i}\left(\frac{P_i}{P_{i+1}}-1\right) = L_i

This implies that the Libor parameters can be calibrated to the interest rate swap market. The details were worked out by Jamshidian, and extended to a model similar to the LMM, but using forward swap rates. A direct comparison can be found here. For us, we continue to Caps.

Interest Rate Caps

An interest rate cap is effectively a call option on an interest rate. For those already familiar with the lingo, I’m subsuming what’s typically called a “caplet” into this definition.

Party A is looking to hedge against an increase in forward interest rates, and has in mind a maximum rate payment \zeta over the period (T_i, T_{i+1}). Party A seeks a payment from Party B if the interest rates exceed \zeta during this period, using the start-of-period interest rate r(t=T_{i}, T_{i+1}) as a proxy for the interest rate of the whole period. Thus at time T_{i+1}, Party A receives \delta_i \mathrm{max}(r(T_i, T_{i+1}) - \zeta, 0).

Party B is looking to bet that interest rates will not exceed a particular value, also \zeta, over the same period. Thus at time t, Party B receives a payment of V_B from Party A in anticipation of possible future disbursement, should the interest rate at t=T_{i+1} exceed \zeta.

This means that V_B is the present value of the expected payoff of the cap, e.g. [I’m taking face-value to be 1 for bonds]

V_B = \frac{1}{P(t, T_{i+1})}\delta_i \mathbb{E}[\mathrm{max}(r(T_i, T_{i+1}) - \zeta, 0)]

We can rewrite the interest rate as above:

V_B =\frac{\delta_i}{P(t, T_{i+1})}\mathbb{E}\left[\left(\frac{1}{P(t=T_i, T_{i+1})} - 1 - \zeta\right)^+\right]

V_B =\frac{\delta_i}{P(t, T_{i+1})}\mathbb{E}\left[\left(\frac{P(t, T_i)}{P(t, T_{i+1})}-1 - \zeta\right)^+\right]

V_B = \frac{\delta_i}{P(t, T_{i+1})}\mathbb{E}[(\delta_iL_i - \zeta)^+]

Admittedly, this looks very strange. The units just don’t work out; the only way this is consistent is if \delta_i is not measured in time, but is a dimensionless scalar. In fact, \delta_i here is measured as fraction of a compound time, so if T_{i+1}-T_i = 6 \mathrm{mo} for yearly compounds, then \delta_i = 0.5. In fact, if you look back over the derivation, you’ll notice that this has to be the case, otherwise the libor rate has units 1/t, which would give a forward rate units of time, which is nonsensical for a rate.

Usual cap agreements are contracts that reference a large number of the above caps; for instance a 5-year monthly cap agreement would reference 5 \times 12 = 60 caps. Because of this, the values of a cap for period $T_i$ has to be deconvolved from publicly-traded cap contracts. In addition, the optimization problem, while convex, is nonlinear, making it somewhat more difficult to back out from caps than swaps. See here for more details (fair warning: poor notation rears its ugly head).

Originally I was planning on doing some model calibration myself as an example; perhaps in the future. The post, as it stands, is long enough as it is. There’s one obvious question remaining, though:

Why don’t we calibrate LMM to trasury rates?

Recall that the Libor rate was defined in terms of the spot and forward rate

L_i = \frac{P_i - P_{i+1}}{\delta P_{i+1}}

The answer is that there is a divergence between the ZCP rates calculated from (for instance) U.S. Treasuries, and the ZCP implied by calibrating the LMM to interest rate caps. The point is that government rates are different from interbank rates, whereas the risk-free zero-coupon bond is a theoretical, unobservable quantity. While coupon theory can be applied to things like treasury bonds, and the resulting forward and spot rates analyzed, there is no guarantee that government bonds are, really and truly, a risk-free ZCP. (Indeed, we expect things like exchange rate risk to differentially effect interbank rates and government rates). So calibrating the interbank rates to government rates will make you a very sad panda.


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: