gig-distribution {ghyp}R Documentation

The Generalized Inverse Gaussian Distribution

Description

Density, distribution function, quantile function, random generation, expected shortfall and expected value and variance for the generalized inverse gaussian distribution.

Usage

dgig(x, lambda = 1, chi = 1, psi = 1, logvalue = FALSE)

pgig(q, lambda = 1, chi = 1, psi = 1, ...)

qgig(p, lambda = 1, chi = 1, psi = 1, method = c("integration", "splines"),
     spline.points = 200, subdivisions = 200,
     root.tol = .Machine$double.eps^0.5,
     rel.tol = root.tol^1.5, abs.tol = rel.tol, ...)

rgig(n = 10, lambda = 1, chi = 1, psi = 1)

ESgig(alpha, lambda = 1, chi = 1, psi = 1, distr = c("return", "loss"), ...)

Egig(lambda, chi, psi, func = c("x", "logx", "1/x", "var"), check.pars = TRUE)

Arguments

x A vector of quantiles.
q A vector of quantiles.
p A vector of probabilities.
alpha A vector of confidence levels.
n Number of observations.
lambda A shape and scale and parameter.
chi, psi Shape and scale parameters. Must be positive.
logvalue If TRUE the logarithm of the density will be returned.
distr Whether the ghyp-object specifies a return or a loss-distribution (see Details).
subdivisions The number of subdivisions passed to integrate when computing the the distribution function pgig.
rel.tol The relative accuracy requested from integrate.
abs.tol The absolute accuracy requested from integrate.
method Determines which method is used when calculating quantiles.
spline.points The number of support points when computing the quantiles with the method “splines” instead of “integration”.
root.tol The tolerance of uniroot.
func The transformation function when computing the expected value. x is the expected value (default), log x returns the expected value of the logarithm of x, 1/x returns the expected value of the inverse of x and var returns the variance.
check.pars If TRUE the parameters are checked first.
... Arguments passed form ESgig to qgig.

Details

qgig computes the quantiles either by using the “integration” method where the root of the distribution function is solved or via “splines” which interpolates the distribution function and solves it with uniroot afterwards. The “integration” method is recommended when few quantiles are required. If more than approximately 20 quantiles are needed to be calculated the “splines” method becomes faster. The accuracy can be controlled with an adequate setting of the parameters rel.tol, abs.tol, root.tol and spline.points.

rgig uses the random number generator from the R package fBasics.

Value

dgig gives the density,
pgig gives the distribution function,
qgig gives the quantile function,
ESgig gives the expected shortfall,
rgig generates random deviates and
Egig gives the expected value of either x, 1/x, log(x) or the variance if func equals var.

Author(s)

David Luethi

References

The algorithm for simulating generalized inverse gaussian variates is copied from the R package fBasics from Diethelm Wuertz.

Dagpunar, J.S. (1989). An easily implemented generalised inverse Gaussian generator. Commun. Statist. -Simula., 18, 703–710.

Raible S. (2000). Levy Processes in Finance: Theory, Numerics and Empirical Facts, PhD Thesis, University of Freiburg, Germany, 161 pages.

See Also

fit.ghypuv, fit.ghypmv, integrate, uniroot, spline

Examples

dgig(1:40, lambda = 10, chi = 1, psi = 1)
qgig(1e-5, lambda = 10, chi = 1, psi = 1)

ESgig(c(0.19,0.3), lambda = 10, chi = 1, psi = 1, distr = "loss")
ESgig(alpha=c(0.19,0.3), lambda = 10, chi = 1, psi = 1, distr = "ret")

Egig(lambda = 10, chi = 1, psi = 1, func = "x")
Egig(lambda = 10, chi = 1, psi = 1, func = "var")
Egig(lambda = 10, chi = 1, psi = 1, func = "1/x")

[Package ghyp version 1.5.0 Index]