QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
VarianceGammaProcess Class Reference

Variance gamma process. More...

#include <ql/experimental/variancegamma/variancegammaprocess.hpp>

+ Inheritance diagram for VarianceGammaProcess:

Public Member Functions

 VarianceGammaProcess (const Handle< Quote > &s0, const Handle< YieldTermStructure > &dividendYield, const Handle< YieldTermStructure > &riskFreeRate, Real sigma, Real nu, Real theta)
 
Real x0 () const
 returns the initial value of the state variable
 
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 sigma () const
 
Real nu () const
 
Real theta () const
 
const Handle< Quote > & s0 () const
 
const Handle< YieldTermStructure > & dividendYield () const
 
const Handle< YieldTermStructure > & riskFreeRate () const
 
- Public Member Functions inherited from StochasticProcess1D
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 &)
 
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 &)
 
void notifyObservers ()
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from StochasticProcess1D
 StochasticProcess1D ()
 
 StochasticProcess1D (const ext::shared_ptr< discretization > &)
 
- Protected Member Functions inherited from StochasticProcess
 StochasticProcess ()
 
 StochasticProcess (const ext::shared_ptr< discretization > &)
 
- Protected Attributes inherited from StochasticProcess1D
ext::shared_ptr< discretizationdiscretization_
 
- Protected Attributes inherited from StochasticProcess
ext::shared_ptr< discretizationdiscretization_
 

Detailed Description

Variance gamma process.

This class describes the stochastic volatility process. With a Brownian motion given by

\[ db = \theta dt + \sigma dW_t \]

then a Variance Gamma process X is defined by evaluating this Brownian motion at sample times driven by a Gamma process. If T is the value of a Gamma process with mean 1 and variance rate \( \nu \) then the Variance Gamma process is given by

\[ X(t) = B(T) \]