The lattice uses StandardBrownianNodes since all functionals can be computed from the state of the driving Brownian motion

at each node. Here r is th number of factors. Only r=2,3 are possible since number of nodes explodes with the number of factors (and time steps).

Three factor LMM lattice: Nodes in a 3 factor lattice for the Libor market model compute the from the volatility parts of the forward transported Libors approximated as

where the matrix R is the approximate root of rank 3 of the correlation matrix of the underlying driftless LMM: .

The rows of R have to be scaled back to unit norm to preserve the correlations . This diminishes the quality of the approximation but preserves the volatilities of the . Otherwise volatility is lost. See book, 8.1.2, for details and notation. Wether or not rescaling is indicated has to be determined by experiment. For example when pricing at the money swaptions rescaling leads to a significant deterioration in accuracy.

The are independent standard Brownian motions which evolve from the state and then tick up or down in ticks of size where dt is the size of the time step. The state at any node is then given by the triple of integers (k0,k1,k2) with

Two factor lattices are completely similar.

**Arbitrage** Recall that the are the volatility parts (unbounded variation parts) of the logarithms . The are then recovered from the using the *continuous time* drifts of the . This does not preserve the martingale property of the modelled in the lattice and consequently the lattice is not arbitrage free. Our view here is that the lattice is an approximation of the arbitrage free continuous time dynamics.

**Number of nodes.** Each node has four edges in the case of a two factor lattice and eight edges in the case of a three factor lattice. The total number of nodes allocated depends on the number of time steps in the lattice:

- A two factor lattice has nodes at time step t and nodes up to time step t (inclusively).
- A three factor lattice has nodes at time step t and nodes up to time step t (inclusively).

Definition in file LmmLattice.h.

`#include "TypedefsMacros.h"`

`#include "Lattice.h"`

`#include "Node.h"`

`#include "Utils.h"`

`#include "Array.h"`

`#include "Matrix.h"`

`#include "LiborFactorLoading.h"`

Go to the source code of this file.

## Compounds | |

class | LmmLattice |

Generated on Mon Sep 22 02:16:32 2003 for Libor-Library by 1.3-rc3