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

Extended Ornstein-Uhlenbeck process class. More...

#include <ql/experimental/processes/extendedornsteinuhlenbeckprocess.hpp>

Inheritance diagram for ExtendedOrnsteinUhlenbeckProcess:

Public Types

enum  Discretization { MidPoint , Trapezodial , GaussLobatto }
Public Types inherited from Observer
typedef set_type::iterator iterator

Public Member Functions

 ExtendedOrnsteinUhlenbeckProcess (Real speed, Volatility sigma, Real x0, std::function< Real(Real)> b, Discretization discretization=MidPoint, Real intEps=1e-4)
virtual Real evolve (Time t0, Real x0, Time dt, Real dw) 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 () 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 interface

Real x0 () const override
 returns the initial value of the state variable
Real speed () const
Real volatility () const
Real drift (Time t, Real x) const override
 returns the drift part of the equation, i.e. \( \mu(t, x_t) \)
Real diffusion (Time t, Real x) const override
 returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \)
Real expectation (Time t0, Real x0, Time dt) const override
Real stdDeviation (Time t0, Real x0, Time dt) const override
Real variance (Time t0, Real x0, Time dt) const override

Additional Inherited Members

 StochasticProcess1D (ext::shared_ptr< discretization >)
 StochasticProcess (ext::shared_ptr< discretization >)
ext::shared_ptr< discretizationdiscretization_
ext::shared_ptr< discretizationdiscretization_

Detailed Description

Extended Ornstein-Uhlenbeck process class.

This class describes the Ornstein-Uhlenbeck process governed by

\[ dx = a (b(t) - x_t) dt + \sigma dW_t. \]

Member Function Documentation

◆ x0()

Real x0 ( ) const
overridevirtual

returns the initial value of the state variable

Implements StochasticProcess1D.

◆ drift()

Real drift ( Time t,
Real x ) const
overridevirtual

returns the drift part of the equation, i.e. \( \mu(t, x_t) \)

Implements StochasticProcess1D.

◆ diffusion()

Real diffusion ( Time t,
Real x ) const
overridevirtual

returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \)

Implements StochasticProcess1D.

◆ expectation()

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

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 from StochasticProcess1D.

◆ stdDeviation()

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

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.

◆ variance()

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

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 from StochasticProcess1D.