multi-dimensional stochastic process class. More...
#include <ql/stochasticprocess.hpp>
Classes | |
class | discretization |
discretization of a stochastic process over a given time interval More... | |
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< Array > | initialValues () const =0 |
returns the initial values of the state variables | |
virtual Disposable< Array > | drift (Time t, const Array &x) const =0 |
returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \) | |
virtual Disposable< Matrix > | diffusion (Time t, const Array &x) const =0 |
returns the diffusion part of the equation, i.e. \( \sigma(t, \mathrm{x}_t) \) | |
virtual Disposable< Array > | expectation (Time t0, const Array &x0, Time dt) const |
virtual Disposable< Matrix > | stdDeviation (Time t0, const Array &x0, Time dt) const |
virtual Disposable< Matrix > | covariance (Time t0, const Array &x0, Time dt) const |
virtual Disposable< Array > | evolve (Time t0, const Array &x0, Time dt, const Array &dw) const |
virtual Disposable< Array > | apply (const Array &x0, const Array &dx) const |
utilities | |
virtual Time | time (const Date &) const |
Observer interface | |
void | update () |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
void | registerWithObservables (const boost::shared_ptr< Observer > &) |
Size | unregisterWith (const boost::shared_ptr< Observable > &) |
void | unregisterWithAll () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
Protected Member Functions | |
StochasticProcess (const boost::shared_ptr< discretization > &) | |
Protected Attributes | |
boost::shared_ptr< discretization > | discretization_ |
Additional Inherited Members | |
![]() | |
typedef std::set< boost::shared_ptr< Observable > > | set_type |
typedef set_type::iterator | iterator |
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. \]
|
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 G2ForwardProcess, StochasticProcessArray, and G2Process.
|
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 G2ForwardProcess, StochasticProcessArray, and G2Process.
|
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 G2ForwardProcess, LiborForwardModelProcess, StochasticProcessArray, and G2Process.
|
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 GJRGARCHProcess, HestonProcess, ExtOUWithJumpsProcess, LiborForwardModelProcess, KlugeExtOUProcess, BatesProcess, HybridHestonHullWhiteProcess, and StochasticProcessArray.
|
virtual |
applies a change to the asset value. By default, it returns \( \mathrm{x} + \Delta \mathrm{x} \).
Reimplemented in GJRGARCHProcess, HestonProcess, LiborForwardModelProcess, HybridHestonHullWhiteProcess, and StochasticProcessArray.
returns the time value corresponding to the given date in the reference system of the stochastic process.
Reimplemented in GJRGARCHProcess, HestonProcess, GeneralizedBlackScholesProcess, HybridHestonHullWhiteProcess, Merton76Process, StochasticProcessArray, and GsrProcess.
|
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.