Geman-Roncoroni process class. More...
#include <ql/experimental/processes/gemanroncoroniprocess.hpp>
Public Member Functions | |
GemanRoncoroniProcess (Real x0, Real alpha, Real beta, Real gamma, Real delta, Real eps, Real zeta, Real d, Real k, Real tau, Real sig2, Real a, Real b, Real theta1, Real theta2, Real theta3, Real psi) | |
Real | x0 () const |
returns the initial value of the state variable | |
Real | drift (Time t, Real x) const |
returns the drift part of the equation, i.e. \( \mu(t, x_t) \) | |
Real | diffusion (Time t, Real x) const |
returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \) | |
Real | stdDeviation (Time t0, Real x0, Time dt) const |
Real | evolve (Time t0, Real x0, Time dt, Real dw) const |
Real | evolve (Time t0, Real x0, Time dt, Real dw, const Array &du) const |
![]() | |
virtual Real | expectation (Time t0, Real x0, Time dt) const |
virtual Real | variance (Time t0, Real x0, Time dt) const |
virtual Real | apply (Real x0, Real dx) const |
![]() | |
virtual Size | factors () const |
returns the number of independent factors of the process | |
virtual Time | time (const Date &) const |
void | update () |
![]() | |
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 () |
Additional Inherited Members | |
![]() | |
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type |
typedef set_type::iterator | iterator |
![]() | |
StochasticProcess1D () | |
StochasticProcess1D (const ext::shared_ptr< discretization > &) | |
![]() | |
StochasticProcess () | |
StochasticProcess (const ext::shared_ptr< discretization > &) | |
![]() | |
ext::shared_ptr< discretization > | discretization_ |
![]() | |
ext::shared_ptr< discretization > | discretization_ |
Geman-Roncoroni process class.
This class describes the Geman-Roncoroni process governed by
\[ \begin{array}{rcl} dE(t) &=& \left[ \frac{\partial}{\partial t} \mu(t) +\theta_1 \left(\mu(t)-E(t^-)\right)\right]dt +\sigma dW(t) + h(E(t^-))dJ(t) \\ \mu(t)&=& \alpha + \beta t +\gamma \cos(\epsilon+2\pi t) +\delta \cos(\zeta + 4\pi t) \end{array} \]
returns the standard deviation \( S(x_{t_0 + \Delta t} | x_{t_0} = 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 StochasticProcess1D.
returns the asset value after a time interval \( \Delta t \) according to the given discretization. By default, it returns
\[ E(x_0,t_0,\Delta t) + S(x_0,t_0,\Delta t) \cdot \Delta w \]
where \( E \) is the expectation and \( S \) the standard deviation.
Reimplemented from StochasticProcess1D.