QuantLib_GJRGARCHProcess man page

GJRGARCHProcess — Stochastic-volatility GJR-GARCH(1,1) process.  

Synopsis

#include <ql/processes/gjrgarchprocess.hpp>

Inherits StochasticProcess.

Public Types

enum Discretization { PartialTruncation, FullTruncation, Reflection }

Public Member Functions

GJRGARCHProcess (const Handle< YieldTermStructure > &riskFreeRate, const Handle< YieldTermStructure > &dividendYield, const Handle< Quote > &s0, Real v0, Real omega, Real alpha, Real beta, Real gamma, Real lambda, Real daysPerYear=252.0, Discretization d=FullTruncation)
Size size () const
returns the number of dimensions of the stochastic process
Disposable< Array > initialValues () const
returns the initial values of the state variables
Disposable< Array > drift (Time t, const Array &x) const
returns the drift part of the equation, i.e., $ mu(t, mathrm{x}_t) $
Disposable< Matrix > diffusion (Time t, const Array &x) const
returns the diffusion part of the equation, i.e. $ sigma(t, mathrm{x}_t) $
Disposable< Array > apply (const Array &x0, const Array &dx) const
Disposable< Array > evolve (Time t0, const Array &x0, Time dt, const Array &dw) const
Real v0 () const
Real lambda () const
Real omega () const
Real alpha () const
Real beta () const
Real gamma () const
Real daysPerYear () const
const Handle< Quote > & s0 () const
const Handle< YieldTermStructure > & dividendYield () const
const Handle< YieldTermStructure > & riskFreeRate () const
Time time (const Date &) const

Additional Inherited Members

Detailed Description

Stochastic-volatility GJR-GARCH(1,1) process.

This class describes the stochastic volatility process governed by [ begin{array}{rcl} dS(t, S) &=& mu S dt + sqrt{v} S dW_1 \ dv(t, S) &=& (omega + (beta + alpha * q_{2} + gamma * q_{3} - 1) v) dt + (alpha sigma_{12} + gamma sigma_{13}) v dW_1 + sqrt{alpha^{2} (sigma^{2}_{2} - sigma^{2}_{12}) + gamma^{2} (sigma^{2}_{3} - sigma^{2}_{13}) + 2 alpha gamma (sigma_{23} - sigma_{12} sigma_{13})} v dW_2   N = normalCDF(lambda) \ n &=& \xp{-lambda^{2}/2} / sqrt{2 pi} \ q_{2} &=& 1 + lambda^{2} \ q_{3} &=& lambda n + N + lambda^2 N \ sigma^{2}_{2} = 2 + 4 lambda^{4} \ sigma^{2}_{3} = lambda^{3} n + 5 lambda n + 3N + lambda^{4} N + 6 lambda^{2} N -\lambda^{2} n^{2} - N^{2} - lambda^{4} N^{2} - 2 lambda n N - 2 lambda^{3} nN - 2 lambda^{2} N^{2}   sigma_{12} = -2 lambda \ sigma_{13} = -2 n - 2 lambda N \ sigma_{23} = 2N + sigma_{12} sigma_{13} \ \nd{array} ]

Member Function Documentation

Disposable<Array> apply (const Array & x0, const Array & dx) const [virtual]

applies a change to the asset value. By default, it returns $ mathrm{x} + Delta mathrm{x} $.

Reimplemented from StochasticProcess.

Disposable<Array> evolve (Time t0, const Array & x0, Time dt, const Array & dw) const [virtual]

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.

Time time (const Date &) const [virtual]

returns the time value corresponding to the given date in the reference system of the stochastic process.

Note:

As a number of processes might not need this functionality, a default implementation is given which raises an exception.

Reimplemented from StochasticProcess.

Author

Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

daysPerYear(3), GJRGARCHProcess(3) and s0(3) are aliases of QuantLib_GJRGARCHProcess(3).

Fri Feb 10 2017 Version 1.9.1 QuantLib