QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
VarianceGammaProcess Class Reference

Variance gamma process. More...

#include <variancegammaprocess.hpp>

+ Inheritance diagram for VarianceGammaProcess:
+ Collaboration diagram for VarianceGammaProcess:

Public Member Functions

 VarianceGammaProcess (Handle< Quote > s0, Handle< YieldTermStructure > dividendYield, Handle< YieldTermStructure > riskFreeRate, Real sigma, Real nu, Real theta)
 
Real x0 () const override
 returns the initial value of the state variable More...
 
Real drift (Time t, Real x) const override
 returns the drift part of the equation, i.e. \( \mu(t, x_t) \) More...
 
Real diffusion (Time t, Real x) const override
 returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \) More...
 
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
 ~StochasticProcess () override=default
 
virtual Size factors () const
 returns the number of independent factors of the process More...
 
virtual Time time (const Date &) const
 
void update () override
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Private Attributes

Handle< Quotes0_
 
Handle< YieldTermStructuredividendYield_
 
Handle< YieldTermStructureriskFreeRate_
 
Real sigma_
 
Real nu_
 
Real theta_
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from StochasticProcess1D
 StochasticProcess1D ()=default
 
 StochasticProcess1D (ext::shared_ptr< discretization >)
 
- Protected Member Functions inherited from StochasticProcess
 StochasticProcess ()=default
 
 StochasticProcess (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) \]

Definition at line 50 of file variancegammaprocess.hpp.

Constructor & Destructor Documentation

◆ VarianceGammaProcess()

VarianceGammaProcess ( Handle< Quote s0,
Handle< YieldTermStructure dividendYield,
Handle< YieldTermStructure riskFreeRate,
Real  sigma,
Real  nu,
Real  theta 
)

Definition at line 28 of file variancegammaprocess.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ x0()

Real x0 ( ) const
overridevirtual

returns the initial value of the state variable

Implements StochasticProcess1D.

Definition at line 42 of file variancegammaprocess.cpp.

◆ drift()

Real drift ( Time  t,
Real  x 
) const
overridevirtual

returns the drift part of the equation, i.e. \( \mu(t, x_t) \)

Implements StochasticProcess1D.

Definition at line 47 of file variancegammaprocess.cpp.

◆ diffusion()

Real diffusion ( Time  t,
Real  x 
) const
overridevirtual

returns the diffusion part of the equation, i.e. \( \sigma(t, x_t) \)

Implements StochasticProcess1D.

Definition at line 52 of file variancegammaprocess.cpp.

◆ sigma()

Real sigma ( ) const

Definition at line 63 of file variancegammaprocess.hpp.

◆ nu()

Real nu ( ) const

Definition at line 64 of file variancegammaprocess.hpp.

◆ theta()

Real theta ( ) const

Definition at line 65 of file variancegammaprocess.hpp.

◆ s0()

const Handle< Quote > & s0 ( ) const

Definition at line 57 of file variancegammaprocess.cpp.

◆ dividendYield()

const Handle< YieldTermStructure > & dividendYield ( ) const

Definition at line 61 of file variancegammaprocess.cpp.

◆ riskFreeRate()

const Handle< YieldTermStructure > & riskFreeRate ( ) const

Definition at line 65 of file variancegammaprocess.cpp.

Member Data Documentation

◆ s0_

Handle<Quote> s0_
private

Definition at line 72 of file variancegammaprocess.hpp.

◆ dividendYield_

Handle<YieldTermStructure> dividendYield_
private

Definition at line 73 of file variancegammaprocess.hpp.

◆ riskFreeRate_

Handle<YieldTermStructure> riskFreeRate_
private

Definition at line 73 of file variancegammaprocess.hpp.

◆ sigma_

Real sigma_
private

Definition at line 74 of file variancegammaprocess.hpp.

◆ nu_

Real nu_
private

Definition at line 74 of file variancegammaprocess.hpp.

◆ theta_

Real theta_
private

Definition at line 74 of file variancegammaprocess.hpp.