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

Square-root stochastic-volatility Bates process. More...

#include <ql/processes/batesprocess.hpp>

Inheritance diagram for BatesProcess:

Public Member Functions

 BatesProcess (const Handle< YieldTermStructure > &riskFreeRate, const Handle< YieldTermStructure > &dividendYield, const Handle< Quote > &s0, Real v0, Real kappa, Real theta, Real sigma, Real rho, Real lambda, Real nu, Real delta, HestonProcess::Discretization d=HestonProcess::FullTruncation)
Size factors () const override
 returns the number of independent factors of the process
Array drift (Time t, const Array &x) const override
 returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \)
Array evolve (Time t0, const Array &x0, Time dt, const Array &dw) const override
Real lambda () const
Real nu () const
Real delta () const
Public Member Functions inherited from HestonProcess
 HestonProcess (Handle< YieldTermStructure > riskFreeRate, Handle< YieldTermStructure > dividendYield, Handle< Quote > s0, Real v0, Real kappa, Real theta, Real sigma, Real rho, Discretization d=QuadraticExponentialMartingale)
Size size () const override
 returns the number of dimensions of the stochastic process
Size factors () const override
 returns the number of independent factors of the process
Array initialValues () const override
 returns the initial values of the state variables
Array drift (Time t, const Array &x) const override
 returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \)
Matrix diffusion (Time t, const Array &x) const override
 returns the diffusion part of the equation, i.e. \( \sigma(t, \mathrm{x}_t) \)
Array apply (const Array &x0, const Array &dx) const override
Array evolve (Time t0, const Array &x0, Time dt, const Array &dw) const override
Real v0 () const
Real rho () const
Real kappa () const
Real theta () const
Real sigma () const
const Handle< Quote > & s0 () const
const Handle< YieldTermStructure > & dividendYield () const
const Handle< YieldTermStructure > & riskFreeRate () const
Time time (const Date &) const override
Real pdf (Real x, Real v, Time t, Real eps=1e-3) const
Public Member Functions inherited from StochasticProcess
virtual Array expectation (Time t0, const Array &x0, Time dt) const
virtual Matrix stdDeviation (Time t0, const Array &x0, Time dt) const
virtual Matrix covariance (Time t0, const Array &x0, Time dt) const
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

Public Types inherited from HestonProcess
enum  Discretization {
  PartialTruncation , FullTruncation , Reflection , NonCentralChiSquareVariance ,
  QuadraticExponential , QuadraticExponentialMartingale , BroadieKayaExactSchemeLobatto , BroadieKayaExactSchemeLaguerre ,
  BroadieKayaExactSchemeTrapezoidal
}
Public Types inherited from Observer
typedef set_type::iterator iterator
 StochasticProcess (ext::shared_ptr< discretization >)
ext::shared_ptr< discretizationdiscretization_

Detailed Description

Square-root stochastic-volatility Bates process.

This class describes the square root stochastic volatility process incl jumps governed by

\[\begin{array}{rcl} dS(t, S) &=& (r-d-\lambda m) S dt +\sqrt{v} S dW_1 + (e^J - 1) S dN \\ dv(t, S) &=& \kappa (\theta - v) dt + \sigma \sqrt{v} dW_2 \\ dW_1 dW_2 &=& \rho dt \\ \omega(J) &=& \frac{1}{\sqrt{2\pi \delta^2}} \exp\left[-\frac{(J-\nu)^2}{2\delta^2}\right] \end{array} \]

Member Function Documentation

◆ factors()

Size factors ( ) const
overridevirtual

returns the number of independent factors of the process

Reimplemented from StochasticProcess.

◆ drift()

Array drift ( Time t,
const Array & x ) const
overridevirtual

returns the drift part of the equation, i.e., \( \mu(t, \mathrm{x}_t) \)

Implements StochasticProcess.

◆ evolve()

Array evolve ( Time t0,
const Array & x0,
Time dt,
const Array & dw ) const
overridevirtual

returns the asset value after a time interval \( \Delta t \) according to the given discretization. By default, it returns

\[E(\mathrm{x}_0,t_0,\Delta t) + S(\mathrm{x}_0,t_0,\Delta t) \cdot \Delta \mathrm{w} \]

where \( E \) is the expectation and \( S \) the standard deviation.

Reimplemented from StochasticProcess.