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 Sep 23 2016 Version 1.8.1 QuantLib