QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.8
Public Types | Public Member Functions | List of all members
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 std::set< boost::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 

Public Member Functions

 ExtendedOrnsteinUhlenbeckProcess (Real speed, Volatility sigma, Real x0, const boost::function< Real(Real)> &b, Discretization discretization=MidPoint, Real intEps=1e-4)
 
StochasticProcess interface
Real x0 () const
 returns the initial value of the state variable
 
Real speed () const
 
Real volatility () const
 
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 expectation (Time t0, Real x0, Time dt) const
 
Real stdDeviation (Time t0, Real x0, Time dt) const
 
Real variance (Time t0, Real x0, Time dt) const
 
- Public Member Functions inherited from StochasticProcess1D
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 ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< iterator, bool > registerWith (const boost::shared_ptr< Observable > &)
 
void registerWithObservables (const boost::shared_ptr< Observer > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Additional Inherited Members

- Protected Member Functions inherited from StochasticProcess1D
 StochasticProcess1D (const boost::shared_ptr< discretization > &)
 
- Protected Member Functions inherited from StochasticProcess
 StochasticProcess (const boost::shared_ptr< discretization > &)
 
- Protected Attributes inherited from StochasticProcess1D
boost::shared_ptr< discretizationdiscretization_
 
- Protected Attributes inherited from StochasticProcess
boost::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

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

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.

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