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

experimental Black-Scholes-Merton stochastic process More...

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

Inheritance diagram for ExtendedBlackScholesMertonProcess:

Public Types

enum  Discretization { Euler , Milstein , PredictorCorrector }
Public Types inherited from Observer
typedef set_type::iterator iterator

Public Member Functions

 ExtendedBlackScholesMertonProcess (const Handle< Quote > &x0, const Handle< YieldTermStructure > &dividendTS, const Handle< YieldTermStructure > &riskFreeTS, const Handle< BlackVolTermStructure > &blackVolTS, const ext::shared_ptr< discretization > &d=ext::shared_ptr< discretization >(new EulerDiscretization), Discretization evolDisc=Milstein)
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 evolve (Time t0, Real x0, Time dt, Real dw) const override
Public Member Functions inherited from GeneralizedBlackScholesProcess
 GeneralizedBlackScholesProcess (Handle< Quote > x0, Handle< YieldTermStructure > dividendTS, Handle< YieldTermStructure > riskFreeTS, Handle< BlackVolTermStructure > blackVolTS, const ext::shared_ptr< discretization > &d=ext::shared_ptr< discretization >(new EulerDiscretization), bool forceDiscretization=false)
 GeneralizedBlackScholesProcess (Handle< Quote > x0, Handle< YieldTermStructure > dividendTS, Handle< YieldTermStructure > riskFreeTS, Handle< BlackVolTermStructure > blackVolTS, Handle< LocalVolTermStructure > localVolTS)
Real x0 () const override
 returns the initial value of the state variable
Real drift (Time t, Real x) const override
Real diffusion (Time t, Real x) const override
Real apply (Real x0, Real dx) const override
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
Real evolve (Time t0, Real x0, Time dt, Real dw) const override
Time time (const Date &) const override
void update () override
const Handle< Quote > & stateVariable () const
const Handle< YieldTermStructure > & dividendYield () const
const Handle< YieldTermStructure > & riskFreeRate () const
const Handle< BlackVolTermStructure > & blackVolatility () const
const Handle< LocalVolTermStructure > & localVolatility () const
Public Member Functions inherited from StochasticProcess
virtual Size factors () const
 returns the number of independent factors of the process
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 ()

Additional Inherited Members

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

Detailed Description

experimental Black-Scholes-Merton stochastic process

This class allows to choose a built-in discretization scheme

Member Function Documentation

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

◆ evolve()

Real evolve ( Time t0,
Real x0,
Time dt,
Real dw ) const
overridevirtual

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