QuantLib_LiborForwardModelProcess man page

LiborForwardModelProcess — libor-forward-model process  


#include <ql/legacy/libormarketmodels/lfmprocess.hpp>

Inherits StochasticProcess.

Public Member Functions

LiborForwardModelProcess (Size size, const boost::shared_ptr< IborIndex > &index)
Disposable< Array > initialValues () const
returns the initial values of the state variables
Disposable< Array > drift (Time t, const Array &x) const
returns the drift part of the equation, i.e., $ mu(t, mathrm{x}_t) $
Disposable< Matrix > diffusion (Time t, const Array &x) const
returns the diffusion part of the equation, i.e. $ sigma(t, mathrm{x}_t) $
Disposable< Matrix > covariance (Time t0, const Array &x0, Time dt) const
Disposable< Array > apply (const Array &x0, const Array &dx) const
Disposable< Array > evolve (Time t0, const Array &x0, Time dt, const Array &dw) const
Size size () const
returns the number of dimensions of the stochastic process
Size factors () const
returns the number of independent factors of the process
boost::shared_ptr< IborIndex > index () const
Leg cashFlows (Real amount=1.0) const
void setCovarParam (const boost::shared_ptr< LfmCovarianceParameterization > &param)
boost::shared_ptr< LfmCovarianceParameterization > covarParam () const
Size nextIndexReset (Time t) const
const std::vector< Time > & fixingTimes () const
const std::vector< Date > & fixingDates () const
const std::vector< Time > & accrualStartTimes () const
const std::vector< Time > & accrualEndTimes () const
std::vector< DiscountFactor > discountBond (const std::vector< Rate > &rates) const

Additional Inherited Members

Detailed Description

libor-forward-model process

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


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)


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


this class does not work correctly with Visual C++ 6.

Member Function Documentation

Disposable<Matrix> covariance (Time t0, const Array & x0, Time dt) const [virtual]

returns the covariance $ V(mathrm{x}_{t_0 + Delta t} | mathrm{x}_{t_0} = mathrm{x}_0) $ of the process after a time interval $ Delta t $ according to the given discretization. This method can be overridden in derived classes which want to hard-code a particular discretization.

Reimplemented from StochasticProcess.

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.


Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

The man pages accrualEndTimes(3), accrualStartTimes(3), cashFlows(3), covarParam(3), fixingTimes(3), LiborForwardModelProcess(3) and setCovarParam(3) are aliases of QuantLib_LiborForwardModelProcess(3).

Mon Apr 30 2018 Version 1.12.1 QuantLib