# Caplet pricing with LIBOR market model

This function is available in R-code (here). See also its upper level page (here).

In this below, we explain Caplet pricing with LIBOR Market Model.

Functions to load: Bl(), Cpl()
Usage: Cpl(K, T, U, PT, PU, nu)
Arguments:
K: strike
T: Start of Loan
U: End of Loan
PT: spot price of T-Bond
PU: spot price of U-Bond
nu: standard deviation of logarithm of LIBOR rate L(T, T, U)
Value: Caplet price

Denote by ${P(t,T)}$ the price of ${T}$-bond at ${t}$. Then, for ${t< T< U}$, the forward LIBOR rate for loan period ${[T, U]}$ at time ${t}$ is defined by

$\displaystyle L(t) := L(t, T, U) = \frac{1}{U-T} \Big(\frac{P(t,T)}{P(t, U)} - 1 \Big).$

Due to the fact

Proposition 1 ${\{L(t): t\le T\}}$ is a martingale with respect to the forward martingale measure ${\mathbb P_{U}}$.

LIBOR market model (LMM) assumes that

$\displaystyle d L(t) = L(t) \nu(t) \cdot d W^{U}(t),$

where ${W^{U}}$ is ${n}$-dim ${\mathbb P_{U}-}$BM and ${t\mapsto \nu(t) = \nu(t, U, T)}$ is an ${n}$-dim deterministic process. Now, we want to compute caplet price at ${t}$ for the loan ${[T, U]}$ with strike ${K}$, denoted by ${Cpl_{t}}$. R-code is written according to the following fact:

Proposition 2

$\displaystyle Cpl_{t} = (U-T) P(t, T) Bl(K, L(t), \bar \nu, +1).$

where ${\bar \nu^{2} = \int_{t}^{T} |\nu(s)|^{2}ds}$.

Ex. Spot prices for 1-year and 2-year zero-coupon bond are 0.945 and 0.90. Volatility of the forward LIBOR rate ${L(t, 1, 2)}$ is given as constant ${0.3.}$ For strike ${K = 0.05}$ of the LIBOR rate ${L(1, 1, 2)}$, we can compute caplet price at ${t= 0}$ as follows. With given parameters

$\displaystyle K= .05; T = 1; U=2; PT=.945; PU = .9; nu = .3*sqrt(T)$

one can compute caplet by

$\displaystyle v = Cpl(K, T, U, PT, PU, nu) = 0.005365592.$