Friday, April 29, 2011

LMM Calibration & Parameterization

Refer to Brigo Ch.6.

The 'calibration' of LMM to market data is trivial - since LMM is designed so as to be consistent with Black volatilities, the 'calibration' amounts to simply bootstrapping the caplet vol. from the cap vol.

However, we don't just want to use LMM to price caps/floors. We want to price other more exotic products. Hence we also have to specify the instantaneous volatilities (the diffusion coefficient sigma in the SDE) and the instantaneous correlations (the rho among the Brownian motions). Remember, if the payoff of an instrument depends on more than one LIBOR forward rates, then it depends on the terminal correlation, which in turn depends on both instantaneous volatility AND instantaneous correlation(Brigo pp.234). Note that we are assuming the scalar LIBOR specification (see here).

# LMM requires that sigma be deterministic. Hence parameterizing sigma amounts to choosing a deterministic function (of time) for the volatility term structure. Parameterizing sigma has nothing to do with fitting to market data.

# Meanwhile, correlation is a constant (matrix). By parameterizing the rho matrix we reduce the rank (i.e. degree of freedom) of the matrix. Parameterizing rho has nothing to do with fitting to market data.

Monday, April 25, 2011

Convexity, Time and Quanto Adjustments

Under the simplest B-S setting, the price of a forward contract does not depend on the volatility (cf. the price of a vanilla call). This makes sense because while the option payoff is asymmetric, hence would benefit from higher volatility, the forward payoff is symmetric (you lose money when the underlying price goes under water) and hence would neither benefit from nor be harmed by higher vol. However, in some cases the volatility comes into play even when the contract payoff is symmetric, and here we consider a few examples. The common theme of them is that we are trying to price an instrument under the "wrong" numeraire, which introduces an extra drift that does depend on the volatility.

Convexity/Time Adjustment
When the payoff is a linear function of the spot rate. The "wrong" numeraire is the zero coupon bond that does not expire on the right date (i.e. in-arrear swap or in-arrear cap/floor).

Quanto Adjustment
When the payoff is a linear function of the asset denominated in a foreign currency. The "wrong" numeraire is the domestic money-market account.

Reference:
Hull - Options, Futures and Other Derivatives [Chapter 29]
Veronesi - Fixed Income Securities [Section 21.7]
Brigo - Interest Rate Models [Chapter 13]

Sunday, April 24, 2011

Polymorphism and Virtual Function in C++

Virtual function syntax:
virtual void func(int i){};

Pure virtual function syntax:
virtual void func(int i) = 0;

If a class contains at least one pure virtual member, it is an abstract class - we cannot instantiate an object of an abstract class. However, we can create a pointer that points to such a class. Suppose

class myAbsClass{
virtual void func(int i) = 0;
}

class myChildClass: public myAbsClass{
void func(int i) {return 1};
}

Then we can do
myAbsClass* pointer1;
pointer1 = new myChildClass;

Polymorphism makes coding more flexible and efficient. For example, suppose there are more than one (non-abstract) child classes, and each of them has different implementations of the virtual function in the parent class. If we want to write a function that requires the returned value of such functions, we do not have to write it multiple times, but only need to write it so that it takes the abstract pointer as an input.

Fixed Income Mathmetics

LIBOR rate and Bond price
L(t,S,T) = -(p(t,T) - p(t,S))/((T-S) p(t,T))
* LIBOR is just discretely compounded forward rate

Continuously compounded forward rate and Bond price
R(t,S,T) = -(log(p(t,T)) - log(p(t,S)))/(T-S)


Instantaneous forward rate
and Bond price
f(t,T) = -d(log(p(t,T)))/dT

Instantaneous short rate
r(t) = f(t,t)

Bond price and Instantaneous forward rate
p(t,T) = exp[-\int^T_t f(t,s) ds]
Note: this is just the inversion of the f vs. p formula above

Bond price and Instantaneous short rate
p(t,T) = E^Q[exp[-\int^T_t r(s) ds]]
Note: this comes from valuing a 1 dollar payoff under the Q-measure

Different Rates

- Federal Funds Rate
Bank lending Fed funds to other banks

- Prime Rate
Bank lending money to its customers

- Repo/Discount Rate
Fed lending its own money to banks
See: Discount Window

- LIBOR (London Interbank Offered Rate)
Bank lending money to other banks

- OIS (Overnight Indexed Swap)
Banks paying/receiving floating/fixed with other banks
Note: The swap rate is usually in between LIBOR and the Fed funds rate
See: OIS

- Eurodollar
Banks lending USD outside US

What does the LIBOR-OIS spread tell us?
Both LIBOR and OIS are between two risky counterparties, but OIS is less risky (because of swap payment and nominal amount netting). Hence the LIBOR-OIS spread is a measure of banks' credit risks.

Saturday, April 23, 2011

Thoughts/Summary on LMM

As compared to short rate models:

In short rate models, we are trying to infer derivative prices by considering the dynamics of the short rate (bottom-up). For LMM the approach is more like top-down: since the market has always been using the Black76' convention to quote cap and floor prices (volatilities), why not play along and jump on the bandwagon, pretend that the forward rate really behaves like a tradable asset and follows a GBM, and develop a set of forward rate dynamics that rules out arbitrage?

Notes:
  1. The fact that forward rate F(t,T_1,T_2) is a martingale under the T_2 forward measure follows from the definition of forward rate F(t,T_1,T_2) = (p_1-p_2)/(tau p_2); while the fact that we demand F(t,T_1,T_2) follows a GBM (instead of, say, arithmetic BM) is to make it coincide with market quoting convention (Black76'). F(t,T_1,T_2) being martingale does not necessarily require F(t,T_1,T_2) follows GBM.
  2. Bottom line: when using LMM we are not really thinking about forward rates evolving according to GBM; LMM is a way to be consistent with the market (in other words, preclude arbitrage given the Black pricing convention).

Wednesday, April 20, 2011

LIBOR Market Model: notation and specification

Reference: Bjork Ch.27

Two ways of specifying a LMM:
1) dL_i = L_i sigma_i dW^i
where
L_i = the i-th forward rate
sigma_i = a VECTOR of deterministic volatility
dW^i = k-dimensional Wiener process

Here dW^i is under the i-th forward measure. However, all forward rates are driven by the SAME Wiener process, albeit martingale is attained only when the rate is expressed under its own forward measure.

2) dL_i = L_i sigma_i dW_i
where
L_i = the i-th forward rate
sigma_i = a SCALAR of deterministic volatility
dW_i = 1-dimensional Wiener process


Note:
In 2), a correlation structure dW_i dW_j = rho_{i,j} is also required. Here, each forward rate is driven by its own Wiener process dW_i.

Tuesday, April 19, 2011

Local Vol. Pricing

How:

Find a function sigma(S,t) such that the existing market vol. surface is reproduced (fitting to option prices). At each point on the (S,t) plane, the B-S pricing equation is valid.

The subtlety is that although we set out to find sigma(S,t), the observable quantity is sigma(K,T-t).

Pro:

We don't have to introduce new stochastic processes. Market is still complete, and hence preference-free pricing still works (i.e. no need to guesstimate market price of risk of any kind).

Reference:
Derman's GS Research paper