QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Array of correlated 1-D stochastic processes More...
#include <stochasticprocessarray.hpp>
Public Member Functions | |
StochasticProcessArray (const std::vector< ext::shared_ptr< StochasticProcess1D > > &, const Matrix &correlation) | |
Size | size () const override |
returns the number of dimensions of the stochastic process More... | |
Array | initialValues () const override |
returns the initial values of the state variables More... | |
Array | drift (Time t, const Array &x) const override |
returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \) More... | |
Array | expectation (Time t0, const Array &x0, Time dt) const override |
Matrix | diffusion (Time t, const Array &x) const override |
returns the diffusion part of the equation, i.e. \( \sigma(t, \mathrm{x}_t) \) More... | |
Matrix | covariance (Time t0, const Array &x0, Time dt) const override |
Matrix | stdDeviation (Time t0, const Array &x0, Time dt) const override |
Array | apply (const Array &x0, const Array &dx) const override |
Array | evolve (Time t0, const Array &x0, Time dt, const Array &dw) const override |
Time | time (const Date &) const override |
const ext::shared_ptr< StochasticProcess1D > & | process (Size i) const |
Matrix | correlation () const |
Public Member Functions inherited from StochasticProcess | |
~StochasticProcess () override=default | |
virtual Size | factors () const |
returns the number of independent factors of the process More... | |
void | update () override |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
virtual void | deepUpdate () |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
Protected Attributes | |
std::vector< ext::shared_ptr< StochasticProcess1D > > | processes_ |
Matrix | sqrtCorrelation_ |
Protected Attributes inherited from StochasticProcess | |
ext::shared_ptr< discretization > | discretization_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Member Functions inherited from StochasticProcess | |
StochasticProcess ()=default | |
StochasticProcess (ext::shared_ptr< discretization >) | |
Array of correlated 1-D stochastic processes
Definition at line 35 of file stochasticprocessarray.hpp.
StochasticProcessArray | ( | const std::vector< ext::shared_ptr< StochasticProcess1D > > & | processes, |
const Matrix & | correlation | ||
) |
|
overridevirtual |
returns the number of dimensions of the stochastic process
Implements StochasticProcess.
Definition at line 42 of file stochasticprocessarray.cpp.
|
overridevirtual |
returns the initial values of the state variables
Implements StochasticProcess.
Definition at line 46 of file stochasticprocessarray.cpp.
returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \)
Implements StochasticProcess.
Definition at line 53 of file stochasticprocessarray.cpp.
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.
Definition at line 73 of file stochasticprocessarray.cpp.
returns the diffusion part of the equation, i.e. \( \sigma(t, \mathrm{x}_t) \)
Implements StochasticProcess.
Definition at line 61 of file stochasticprocessarray.cpp.
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.
Definition at line 95 of file stochasticprocessarray.cpp.
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.
Definition at line 82 of file stochasticprocessarray.cpp.
applies a change to the asset value. By default, it returns \( \mathrm{x} + \Delta \mathrm{x} \).
Reimplemented from StochasticProcess.
Definition at line 112 of file stochasticprocessarray.cpp.
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.
Definition at line 102 of file stochasticprocessarray.cpp.
returns the time value corresponding to the given date in the reference system of the stochastic process.
Reimplemented from StochasticProcess.
Definition at line 120 of file stochasticprocessarray.cpp.
const ext::shared_ptr< StochasticProcess1D > & process | ( | Size | i | ) | const |
Definition at line 125 of file stochasticprocessarray.cpp.
Matrix correlation | ( | ) | const |
Definition at line 129 of file stochasticprocessarray.cpp.
|
protected |
Definition at line 58 of file stochasticprocessarray.hpp.
|
protected |
Definition at line 59 of file stochasticprocessarray.hpp.