ExtendedOrnsteinUhlenbeckProcess Class Reference
Stochastic processes

Extended Ornstein-Uhlenbeck process class. More...

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

Inheritance diagram for ExtendedOrnsteinUhlenbeckProcess:
[legend]

## 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 &)
Observer & | operator= (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 ()
virtual void | deepUpdate ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (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< discretization > | discretization_
Protected Attributes inherited from StochasticProcess
boost::shared_ptr< discretization > | discretization_

## 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

## expectation()

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.

## 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.

## variance()

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.