GemanRoncoroniProcess Class Reference
Stochastic processes

Geman-Roncoroni process class. More...

`#include <ql/experimental/processes/gemanroncoroniprocess.hpp>`

Inheritance diagram for GemanRoncoroniProcess:
[legend]

## 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
Public Member Functions inherited from StochasticProcess1D
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
Public Member Functions inherited from StochasticProcess
virtual Size | factors () const
| returns the number of independent factors of the process
virtual Time | time (const Date &) const
void | update ()
Public Member Functions inherited from Observer
| 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 ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()

## Additional Inherited Members

Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator
Protected Member Functions inherited from StochasticProcess1D
| StochasticProcess1D ()
| StochasticProcess1D (const ext::shared_ptr< discretization > &)
Protected Member Functions inherited from StochasticProcess
| StochasticProcess ()
| StochasticProcess (const ext::shared_ptr< discretization > &)
Protected Attributes inherited from StochasticProcess1D
ext::shared_ptr< discretization > | discretization_
Protected Attributes inherited from StochasticProcess
ext::shared_ptr< discretization > | discretization_

## Detailed Description

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} \]

## Member Function Documentation

## stdDeviation()

Real stdDeviation | ( | Time | t0,
|  | Real | x0,
|  | Time | dt
| ) |  | const

virtual

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.

## evolve()

Real evolve | ( | Time | t0,
|  | Real | x0,
|  | Time | dt,
|  | Real | dw
| ) |  | const

virtual

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.