G2ForwardProcess Class Reference

Forward G2 stochastic process More...

#include <ql/processes/g2process.hpp>

Inheritance diagram for G2ForwardProcess:

Public Member Functions

 G2ForwardProcess (Real a, Real sigma, Real b, Real eta, Real rho)
 
StochasticProcess interface
Size size () const
 returns the number of dimensions of the stochastic 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< Arrayexpectation (Time t0, const Array &x0, Time dt) const
 
Disposable< MatrixstdDeviation (Time t0, const Array &x0, Time dt) const
 
Disposable< Matrixcovariance (Time t0, const Array &x0, Time dt) const
 
- Public Member Functions inherited from ForwardMeasureProcess
void setForwardMeasureTime (Time)
 
Time getForwardMeasureTime () const
 
- Public Member Functions inherited from StochasticProcess
virtual Size factors () const
 returns the number of independent factors of the process
 
virtual Disposable< Arrayevolve (Time t0, const Array &x0, Time dt, const Array &dw) const
 
virtual Disposable< Arrayapply (const Array &x0, const Array &dx) const
 
virtual Time time (const Date &) const
 
void update ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< std::set
< boost::shared_ptr
< Observable > >::iterator,
bool > 
registerWith (const boost::shared_ptr< Observable > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Protected Member Functions

Real xForwardDrift (Time t, Time T) const
 
Real yForwardDrift (Time t, Time T) const
 
Real Mx_T (Real s, Real t, Real T) const
 
Real My_T (Real s, Real t, Real T) const
 
- Protected Member Functions inherited from ForwardMeasureProcess
 ForwardMeasureProcess (Time T)
 
 ForwardMeasureProcess (const boost::shared_ptr< discretization > &)
 
- Protected Member Functions inherited from StochasticProcess
 StochasticProcess (const boost::shared_ptr< discretization > &)
 

Protected Attributes

Real x0_
 
Real y0_
 
Real a_
 
Real sigma_
 
Real b_
 
Real eta_
 
Real rho_
 
boost::shared_ptr
< QuantLib::OrnsteinUhlenbeckProcess
xProcess_
 
boost::shared_ptr
< QuantLib::OrnsteinUhlenbeckProcess
yProcess_
 
- Protected Attributes inherited from ForwardMeasureProcess
Time T_
 
- Protected Attributes inherited from StochasticProcess
boost::shared_ptr< discretizationdiscretization_
 

Detailed Description

Forward G2 stochastic process

Member Function Documentation

Disposable<Array> expectation ( Time  t0,
const Array x0,
Time  dt 
) const
virtual

returns the expectation $ E(\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<Matrix> stdDeviation ( Time  t0,
const Array x0,
Time  dt 
) const
virtual

returns the standard deviation $ S(\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<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.