VarianceGammaProcess Class Reference
Stochastic processes

Variance gamma process. More...

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

Inheritance diagram for VarianceGammaProcess:
[legend]

## 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 &)
Observer & | operator= (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 &)
Observable & | operator= (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< discretization > | discretization_
Protected Attributes inherited from StochasticProcess
ext::shared_ptr< discretization > | discretization_

## 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) \]