QuantLib: StochasticProcess1D Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

Classes | Protected Member Functions | Protected Attributes | List of all members
StochasticProcess1D Class Referenceabstract

1-dimensional stochastic process More...

`#include <ql/stochasticprocess.hpp>`

Inheritance diagram for StochasticProcess1D:
[legend]

## Classes
class | discretization
| discretization of a 1-D stochastic process More...

## Public Member Functions
1-D stochastic process interface
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
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 ()

## Protected Member Functions
| StochasticProcess1D (const boost::shared_ptr< discretization > &)
Protected Member Functions inherited from StochasticProcess
| StochasticProcess (const boost::shared_ptr< discretization > &)

## Protected Attributes
boost::shared_ptr< discretization > | discretization_
Protected Attributes inherited from StochasticProcess
boost::shared_ptr< discretization > | discretization_

## Additional Inherited Members
Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

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

## ◆ 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 GeneralizedBlackScholesProcess, HullWhiteForwardProcess, ExtendedOrnsteinUhlenbeckProcess, GeneralizedOrnsteinUhlenbeckProcess, OrnsteinUhlenbeckProcess, GsrProcess, HullWhiteProcess, and MfStateProcess.

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

## ◆ 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 GeneralizedBlackScholesProcess, HullWhiteForwardProcess, OrnsteinUhlenbeckProcess, ExtendedOrnsteinUhlenbeckProcess, GeneralizedOrnsteinUhlenbeckProcess, GsrProcess, HullWhiteProcess, and MfStateProcess.

## ◆ 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 GeneralizedBlackScholesProcess, GemanRoncoroniProcess, and ExtendedBlackScholesMertonProcess.

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