Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members

# LmmLattice.h File Reference

## Detailed Description

Lattices for the driftless Libor market model DriftlessLMM See book, chapter 8. It is assumed that the volatilities of the forward transported Libors (see book, 6.8) are constant and that all Libor accrual intervals have equal length . Recall that the volatilities of the Libors themselves are stochastic in this model. The lattice makes time steps of equal size where nSteps denotes the number of time steps in each Libor accrual interval.

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).
We want to have a large number of nodes but not so large as to exceed main memory. With 1GB main memory we can tolerate about 11 million nodes corresponding to about 310 time steps in a two factor lattice and 6 million nodes corresponding to about 70 time steps in a three factor model. The number of time steps in the lattice can be controlled by choosing the number of time steps in each Libor accrual interval.

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