QuantLib_LiborForwardModelProcess man page

LiborForwardModelProcess — libor-forward-model process

Synopsis

#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

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/…)

Tests

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

Warning

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.

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

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

Fri Sep 23 2016 Version 1.8.1 QuantLib