StochasticProcess Class Reference

#include <ql/stochasticprocess.hpp>

Inheritance diagram for StochasticProcess:

Inheritance graph
[legend]
List of all members.

Detailed Description

multi-dimensional stochastic process class.

This class describes a stochastic process governed by

\[ d\mathrm{x}_t = \mu(t, x_t)\mathrm{d}t + \sigma(t, \mathrm{x}_t) \cdot d\mathrm{W}_t. \]


Public Member Functions

Stochastic process interface
virtual Size size () const =0
 returns the number of dimensions of the stochastic process
virtual Size factors () const
 returns the number of independent factors of the process
virtual Disposable< ArrayinitialValues () const =0
 returns the initial values of the state variables
virtual Disposable< Arraydrift (Time t, const Array &x) const =0
 returns the drift part of the equation, i.e., $ \mu(t, \mathrm{x}_t) $
virtual Disposable< Matrixdiffusion (Time t, const Array &x) const =0
 returns the diffusion part of the equation, i.e. $ \sigma(t, \mathrm{x}_t) $
virtual Disposable< Arrayexpectation (Time t0, const Array &x0, Time dt) const
virtual Disposable< MatrixstdDeviation (Time t0, const Array &x0, Time dt) const
virtual Disposable< Matrixcovariance (Time t0, const Array &x0, Time dt) const
virtual Disposable< Arrayevolve (Time t0, const Array &x0, Time dt, const Array &dw) const
virtual Disposable< Arrayapply (const Array &x0, const Array &dx) const
utilities
virtual Time time (const Date &) const
Observer interface
void update ()

Protected Member Functions

 StochasticProcess (const boost::shared_ptr< discretization > &)

Protected Attributes

boost::shared_ptr< discretizationdiscretization_

Classes

class  discretization
 discretization of a stochastic process over a given time interval More...


Member Function Documentation

virtual 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 in StochasticProcessArray.

virtual 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 in StochasticProcessArray.

virtual 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 in StochasticProcessArray.

virtual 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 in CapletLiborMarketModelProcess.

virtual 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 in CapletLiborMarketModelProcess, HestonProcess, and StochasticProcessArray.

virtual Time time const Date  )  const [virtual]
 

returns the time value corresponding to the given date in the reference system of the stochastic process.

Note:
As a number of processes might not need this functionality, a default implementation is given which raises an exception.

Reimplemented in BlackScholesProcess, HestonProcess, Merton76Process, and StochasticProcessArray.

void update  )  [virtual]
 

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.

Reimplemented in BlackScholesProcess.


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