QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
StochasticProcess1D Class Referenceabstract

1-dimensional stochastic process More...

#include <ql/stochasticprocess.hpp>

Inheritance diagram for StochasticProcess1D:

Classes

class  discretization
 discretization of a 1-D stochastic process More...

1-D stochastic process interface

ext::shared_ptr< discretizationdiscretization_
virtual Real x0 () const =0
 returns the initial value of the state variable
virtual Real drift (Time t, Real x) const =0
 returns the drift part of the equation, i.e. \( \mu(t, x_t) \)
virtual Real diffusion (Time t, Real x) const =0
 returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \)
virtual Real expectation (Time t0, Real x0, Time dt) const
virtual Real stdDeviation (Time t0, Real x0, Time dt) const
virtual Real variance (Time t0, Real x0, Time dt) const
virtual Real evolve (Time t0, Real x0, Time dt, Real dw) const
virtual Real apply (Real x0, Real dx) const
 StochasticProcess1D (ext::shared_ptr< discretization >)

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
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 () override
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (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 &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
 StochasticProcess (ext::shared_ptr< discretization >)
ext::shared_ptr< discretizationdiscretization_

Detailed Description

1-dimensional stochastic process

This class describes a stochastic process governed by

\[ dx_t = \mu(t, x_t)dt + \sigma(t, x_t)dW_t. \]

Member Function Documentation

◆ x0()

◆ drift()

◆ diffusion()

◆ expectation()

virtual Real expectation ( Time t0,
Real x0,
Time dt ) const
virtual

returns the expectation \( E(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 in CoxIngersollRossProcess, ExtendedOrnsteinUhlenbeckProcess, GeneralizedBlackScholesProcess, GeneralizedOrnsteinUhlenbeckProcess, GsrProcess, HullWhiteForwardProcess, HullWhiteProcess, MfStateProcess, and OrnsteinUhlenbeckProcess.

◆ stdDeviation()

virtual 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 in CoxIngersollRossProcess, ExtendedOrnsteinUhlenbeckProcess, GemanRoncoroniProcess, GeneralizedBlackScholesProcess, GeneralizedOrnsteinUhlenbeckProcess, GsrProcess, HullWhiteForwardProcess, HullWhiteProcess, MfStateProcess, and OrnsteinUhlenbeckProcess.

◆ variance()

virtual Real variance ( Time t0,
Real x0,
Time dt ) const
virtual

returns the variance \( V(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 in CoxIngersollRossProcess, ExtendedOrnsteinUhlenbeckProcess, GeneralizedBlackScholesProcess, GeneralizedOrnsteinUhlenbeckProcess, GsrProcess, HullWhiteForwardProcess, HullWhiteProcess, MfStateProcess, and OrnsteinUhlenbeckProcess.

◆ evolve()

virtual 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 in CoxIngersollRossProcess, ExtendedBlackScholesMertonProcess, GemanRoncoroniProcess, and GeneralizedBlackScholesProcess.

◆ apply()

virtual Real apply ( Real x0,
Real dx ) const
virtual

applies a change to the asset value. By default, it returns \( x + \Delta x \).

Reimplemented in GeneralizedBlackScholesProcess, and Merton76Process.