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 (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
void | registerWithObservables (const ext::shared_ptr< Observer > &) |
Size | unregisterWith (const ext::shared_ptr< Observable > &) |
void | unregisterWithAll () |
virtual void | deepUpdate () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
Observer interface | |
ext::shared_ptr< discretization > | discretization_ |
void | update () |
StochasticProcess () | |
StochasticProcess (const ext::shared_ptr< discretization > &) | |
Additional Inherited Members | |
![]() | |
typedef boost::unordered_set< ext::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 StochasticProcessArray, G2ForwardProcess, 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 StochasticProcessArray, G2ForwardProcess, 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 StochasticProcessArray, G2ForwardProcess, G2Process, and LiborForwardModelProcess.
|
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 StochasticProcessArray, HybridHestonHullWhiteProcess, HestonProcess, GJRGARCHProcess, BatesProcess, LiborForwardModelProcess, KlugeExtOUProcess, and ExtOUWithJumpsProcess.
|
virtual |
applies a change to the asset value. By default, it returns \( \mathrm{x} + \Delta \mathrm{x} \).
Reimplemented in StochasticProcessArray, HybridHestonHullWhiteProcess, HestonProcess, GJRGARCHProcess, and LiborForwardModelProcess.
returns the time value corresponding to the given date in the reference system of the stochastic process.
Reimplemented in HybridHestonHullWhiteProcess, GsrProcess, StochasticProcessArray, Merton76Process, HestonProcess, GJRGARCHProcess, and GeneralizedBlackScholesProcess.
|
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.