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

FastPredictorCorrectorLMM Class Reference

#include <FastPredictorCorrectorLMM.h>

Inheritance diagram for FastPredictorCorrectorLMM:

LiborMarketModel List of all members.

Detailed Description

Same as PredictorCorrectorLMM but with the following optimizations: A deterministic approximation to the drift step is used to compute the predicted values. Once these are obtained the actual drift step is computed as usual. This cuts the computational effort in computing the drift step in half. All quantities involved are cached to speed up the computation.

Author:
Michael J. Meyer

Definition at line 74 of file FastPredictorCorrectorLMM.h.

Public Member Functions

void switchToQMC ()
void switchToMC ()
Real XL (int j, int t) const
const RealVectorXLvect (int t, int p)
 FastPredictorCorrectorLMM (LiborFactorLoading *fl)
void newWienerIncrements (int t)
void printWienerIncrements (int t, int s) const
int effectiveDimension (int t, int s) const
void timeStep (int t, int p)
void timeStep (int t)
Real capletAggregateVolatility (int i) const
Real swaptionAggregateVolatility (int p, int q, int t) const
std::ostream & printSelf (std::ostream &os) const

Static Public Member Functions

LiborMarketModelsample (int n, int volType, int corrType)


Constructor & Destructor Documentation

FastPredictorCorrectorLMM::FastPredictorCorrectorLMM LiborFactorLoading   fl
 

Constructor, sets default stochastic generator: Mersenne Twister.

Parameters:
fl volatility and correlation structure, see FactorLoading.


Member Function Documentation

void FastPredictorCorrectorLMM::switchToQMC  
 

Switches to quasi random dynamics based on Sobol sequence.

void FastPredictorCorrectorLMM::switchToMC  
 

Switches to pseudo random dynamics based on Mersenne Twister.

Real FastPredictorCorrectorLMM::XL int    j,
int    t
const [virtual]
 

X-Libor , value in current path.

Parameters:
j Libor index.
t discrete time.

Implements LiborMarketModel.

const RealVector& FastPredictorCorrectorLMM::XLvect int    t,
int    p
[virtual]
 

X-Libor vector , value in current path. Index base p, natural indices.

Parameters:
p index of first Libor.
t discrete time.

Implements LiborMarketModel.

LiborMarketModel* FastPredictorCorrectorLMM::sample int    n,
int    volType,
int    corrType
[static]
 

Sample LMM, quarterly accrual.

Parameters:
n dimension (number of accrual intervals).
volType type of volatility surface (VolSurface::JR,M,CONST).
corrType type of correlations (Correlations::JR,CS).

void FastPredictorCorrectorLMM::newWienerIncrements int    t [virtual]
 

Writes a new set of standard normal increments driving a full Libor path to time t into the field Z. Forwards the request to the StochasticGenerator.

Reimplemented from LiborMarketModel.

void FastPredictorCorrectorLMM::printWienerIncrements int    t,
int    s
const [virtual]
 

Prints the matrix Z of current Wiener increments, method is used for testing only.

Reimplemented from LiborMarketModel.

int FastPredictorCorrectorLMM::effectiveDimension int    t,
int    s
const [inline, virtual]
 

The effective dimension of the simulation, that is, the number of standard normal deviates needed to compute one path. This is the dimension of the low discrepancy sequence generator needed for QMC simulation.

Note: if this is too high (>623 for Mersenne Twister) a random number generator may not be able to ensure equidistribution in this dimension calling into question the mathematical basis for Monte Carlo expectations.

Reimplemented from LiborMarketModel.

Definition at line 199 of file FastPredictorCorrectorLMM.h.

void FastPredictorCorrectorLMM::timeStep int    t,
int    p
[virtual]
 

Time step of the X-Libors (discrete time t to t+1) using a fast predictor-corrector algorithm and the current matrix Z of standard normal increments. See book, 6.5.1.

Parameters:
t current discrete time (continuous time T_t).
p Libors evolved are .

Implements LiborMarketModel.

Referenced by timeStep().

void FastPredictorCorrectorLMM::timeStep int    t [inline]
 

Evolves the full set of Libors from discrete time t to time t+1 in a single time step using the current matrix Z of standard normal increments.

Parameters:
t current discrete time (continuous time T_t).

Definition at line 224 of file FastPredictorCorrectorLMM.h.

References timeStep().

Real FastPredictorCorrectorLMM::capletAggregateVolatility int    i const [virtual]
 

Analytic approximation for the aggregate caplet volatility

where . Exact if Libors have deterministic volatility. Quantity is needed for Black caplet fromula.

Parameters:
i caplet on .

Reimplemented from LiborMarketModel.

Real FastPredictorCorrectorLMM::swaptionAggregateVolatility int    p,
int    q,
int    t
const [virtual]
 

Analytic approximation for the aggregate swap rate volatility

where is the logarithm of the swap rate. Quantity is needed for Black approximate swaption formula.

Parameters:
p,q swap along on .
t swaption exercise at time .

Reimplemented from LiborMarketModel.

std::ostream& FastPredictorCorrectorLMM::printSelf std::ostream &    os const [virtual]
 

Message identifying the object (parameter values, etc)

Implements LiborMarketModel.


The documentation for this class was generated from the following file:
Generated on Mon Sep 22 02:16:33 2003 for Libor-Library by doxygen1.3-rc3