CapletLiborMarketModelProcess Class Reference

#include <ql/Processes/capletlmmprocess.hpp>

Inheritance diagram for CapletLiborMarketModelProcess:

Inheritance graph
[legend]
List of all members.

Detailed Description

caplet libor-market-model process

stochastic process of a (cap) libor market model using the rolling forward measure incl. predictor-corrector step

References: Glasserman, Paul, 2004, Monte Carlo Methods in Financial Engineering, Springer, Section 3.7

Antoon Pelsser, 2000, Efficient Methods for Valuing Interest Rate Derivatives, Springer, 8

Hull, John, White, Alan, 1999, Forward Rate Volatilities, Swap Rate Volatilities and the Implementation of the Libor Market Model (<http://www.rotman.utoronto.ca/~amackay/fin/libormktmodel2.pdf>)

Tests:
the correctness is tested by Monte-Carlo reproduction of caplet & ratchet npvs and comparison with Black pricing.


Public Member Functions

 CapletLiborMarketModelProcess (Size fixings, const boost::shared_ptr< Xibor > &underlyingIndex, const boost::shared_ptr< CapletVolatilityStructure > &capletVol, const Matrix &volatilityComponents=Matrix())
Size size () const
 returns the number of dimensions of the stochastic process
Size factors () const
 returns the number of independent factors of the process
Disposable< ArrayinitialValues () const
 returns the initial values of the state variables
Disposable< Arraydrift (Time t, const Array &x) const
 returns the drift part of the equation, i.e., $ \mu(t, \mathrm{x}_t) $
Disposable< Matrixdiffusion (Time t, const Array &x) const
 returns the diffusion part of the equation, i.e. $ \sigma(t, \mathrm{x}_t) $
Disposable< Arrayapply (const Array &x0, const Array &dx) const
Disposable< Arrayevolve (Time t0, const Array &x0, Time dt, const Array &dw) const
std::vector< TimefixingTimes () const
Time accrualPeriod (Size i) const
Volatility lambda (Size i, Size j=0) const
DiscountFactor discountBond (const std::vector< Rate > &rates, Size j) const
 discount factor until the j-th fixing period

Protected Member Functions

Size nextResetDate (Time t) const


Constructor & Destructor Documentation

CapletLiborMarketModelProcess Size  fixings,
const boost::shared_ptr< Xibor > &  underlyingIndex,
const boost::shared_ptr< CapletVolatilityStructure > &  capletVol,
const Matrix volatilityComponents = Matrix()
 

Parameters:
fixings number of rate fixing
underlyingIndex underlying Libor index
capletVol cap volatility term structure. Used to bootstrap volatilities $ \Lambda_i $ of $ F_i $ .
volatilityComponents $ \lambda_{i,q}/\Lambda_i $ , the ratio of the $ q $ -th component of the volatility of the forward rate to the total volatility of the forward rate. The number of columns of this matrix defines the number of factors of the model.


Member Function Documentation

Disposable<Array> apply const Array x0,
const Array dx
const [virtual]
 

applies a change to the asset value. By default, it returns $ \mathrm{x} + \Delta \mathrm{x} $ .

Reimplemented from StochasticProcess.

Disposable<Array> evolve Time  t0,
const Array x0,
Time  dt,
const Array dw
const [virtual]
 

returns the asset value after a time interval $ \Delta t $ according to the given discretization. By default, it returns

\[ E(\mathrm{x}_0,t_0,\Delta t) + S(\mathrm{x}_0,t_0,\Delta t) \cdot \Delta \mathrm{w} \]

where $ E $ is the expectation and $ S $ the standard deviation.

Reimplemented from StochasticProcess.

Volatility lambda Size  i,
Size  j = 0
const
 

volatility matrix $ \lambda_{i,j} $ , i-th fixing, j-th volatility factor, see equation 20 in Hull White paper


QuantLib.org
QuantLib
Hosted by
SourceForge.net Logo
Documentation generated by
doxygen