StochasticProcess1D Class Reference

#include <ql/stochasticprocess.hpp>

Inheritance diagram for StochasticProcess1D:

Inheritance graph
[legend]
List of all members.

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. \]


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

Protected Member Functions

 StochasticProcess1D (const boost::shared_ptr< discretization > &)

Protected Attributes

boost::shared_ptr< discretizationdiscretization_

Classes

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


Member Function Documentation

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 HullWhiteProcess, HullWhiteForwardProcess, and OrnsteinUhlenbeckProcess.

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 HullWhiteProcess, HullWhiteForwardProcess, and OrnsteinUhlenbeckProcess.

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 HullWhiteProcess, HullWhiteForwardProcess, and OrnsteinUhlenbeckProcess.

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.

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.