Learn R Programming

ghyp (version 1.5.6)

ghyp-package: A package on the generalized hyperbolic distribution and its special cases

Description

This package provides detailed functionality for working with the univariate and multivariate Generalized Hyperbolic distribution and its special cases (Hyperbolic (hyp), Normal Inverse Gaussian (NIG), Variance Gamma (VG), skewed Student-t and Gaussian distribution). Especially, it contains fitting procedures, an AIC-based model selection routine, and functions for the computation of density, quantile, probability, random variates, expected shortfall and some portfolio optimization and plotting routines as well as the likelihood ratio test. In addition, it contains the Generalized Inverse Gaussian distribution.

Arguments

Existing solutions

There are packages like GeneralizedHyperbolic, HyperbolicDist, SkewHyperbolic, VarianceGamma and fBasics which cover the univariate generalized hyperbolic distribution and/or some of its special cases. However, the univariate case is contained in this package as well because we aim to provide a uniform interface to deal with generalized hyperbolic distribution. Recently an R port of the S-Plus library QRMlib was released. The package QRMlib contains fitting procedures for the multivariate NIG, hyp and skewed Student-t distribution but not for the generalized hyperbolic case. The package fMultivar implements a fitting routine for multivariate skewed Student-t distributions as well.

Object orientation

We follow an object-oriented programming approach in this package and introduce distribution objects. There are mainly four reasons for that:
  • Unlike most distributions the GH distribution has quite a few parameters which have to fulfill some consistency requirements. Consistency checks can be performed uniquely when an object is initialized.
  • Once initialized the common functions belonging to a distribution can be called conveniently by passing the distribution object. A repeated input of the parameters is avoided.
  • Distributions returned from fitting procedures can be directly passed to, e.g., the density function since fitted distribution objects add information to the distribution object and consequently inherit from the class of the distribution object.
  • Generic method dispatching can be used to provide a uniform interface to, e.g., plot the probability density of a specific distribution like plot(distribution.object). Additionally, one can take advantage of generic programming since R provides virtual classes and some forms of polymorphism.

Acknowledgement

This package has been partially developed in the framework of the COST-P10 “Physics of Risk” project. Financial support by the Swiss State Secretariat for Education and Research (SBF) is gratefully acknowledged.

Details

Package:
ghyp
Type:
Package
Version:
1.5.6
Date:
2013-02-04
License:
GPL (GNU Public Licence), Version 2 or later

Initialize:

ghyp
Initialize a generalized hyperbolic distribution.
hyp
Initialize a hyperbolic distribution.
NIG
Initialize a normal inverse gaussian distribution.
VG
Initialize a variance gamma distribution.
student.t
Initialize a Student-t distribution.
gauss
Initialize a Gaussian distribution.

Density, distribution function, quantile function and random generation:

dghyp
Density of a generalized hyperbolic distribution.
pghyp
Distribution function of a generalized hyperbolic distribution.
qghyp
Quantile of a univariate generalized hyperbolic distribution.
rghyp
Random generation of a generalized hyperbolic distribution.

Fit to data:

fit.ghypuv
Fit a generalized hyperbolic distribution to univariate data.
fit.hypuv
Fit a hyperbolic distribution to univariate data.
fit.NIGuv
Fit a normal inverse gaussian distribution to univariate data.
fit.VGuv
Fit a variance gamma distribution to univariate data.
fit.tuv
Fit a skewed Student-t distribution to univariate data.
fit.gaussuv
Fit a Gaussian distribution to univariate data.
fit.ghypmv
Fit a generalized hyperbolic distribution to multivariate data.
fit.hypmv
Fit a hyperbolic distribution to multivariate data.
fit.NIGmv
Fit a normal inverse gaussian distribution to multivariate data.
fit.VGmv
Fit a variance gamma distribution to multivariate data.
fit.tmv
Fit a skewed Student-t distribution to multivariate data.
fit.gaussmv
Fit a Gaussian distribution to multivariate data.
stepAIC.ghyp
Perform a model selection based on the AIC.

Risk, performance and portfolio optimization:

ESghyp
Expected shortfall of a univariate generalized hyperbolic distribution.
ghyp.omega
Performance measure Omega based on a univariate ghyp distribution.
portfolio.optimize
Calculate optimal portfolios with respect to alternative risk measures.

Utilities:

mean
Returns the expected value.
vcov
Returns the variance(-covariance).
ghyp.skewness
Skewness of a univariate ghyp distribution.
ghyp.kurtosis
Kurtosis of a univariate ghyp distribution.
logLik
Returns Log-Likelihood of fitted ghyp objects.
AIC
Returns the Akaike's Information Criterion of fitted ghyp objects.
lik.ratio.test
Performs a likelihood-ratio test on fitted ghyp distributions.
[
Extract certain dimensions of a multivariate ghyp distribution.
scale
Scale ghyp distribution objects to zero expectation and/or unit variance.
transform
Transform a multivariate generalized hyperbolic distribution.
ghyp.moment
Moments of the univariate ghyp distribution.
coef
Parameters of a generalized hyperbolic distribution.
ghyp.data
Data of a (fitted) generalized hyperbolic distribution.
ghyp.fit.info
Information about the fitting procedure, log-likelihood and AIC value.
ghyp.name
Returns the name of the ghyp distribution or a subclass of it.
ghyp.dim
Returns the dimension of a ghyp object.
summary
Summary of a fitted generalized hyperbolic distribution.

Plot functions:

qqghyp
Perform a quantile-quantile plot of a (fitted) univariate ghyp distribution.
hist
Plot a histogram of a (fitted) univariate generalized hyperbolic distribution.
pairs
Produce a matrix of scatterplots with quantile-quantile plots on the diagonal.
plot
Plot the density of a univariate ghyp distribution.
lines
Add the density of a univariate ghyp distribution to a graphics device.

Generalized inverse gaussian distribution:

dgig
Density of a generalized inverse gaussian distribution
pgig
Distribution function of a generalized inverse gaussian distribution
qgig
Quantile of a generalized inverse gaussian distribution
ESgig
Expected shortfall of a generalized inverse gaussian distribution
rgig
Random generation of a generalized inverse gaussian distribution

Package vignette: A document about generalized hyperbolic distributions can be found in the doc folder of this package or on http://cran.r-project.org/web/packages/ghyp/.

References

Quantitative Risk Management: Concepts, Techniques and Tools by Alexander J. McNeil, Ruediger Frey and Paul Embrechts Princeton Press, 2005

Intermediate probability: A computational approach by Marc Paolella Wiley, 2007

S-Plus and R Library for Quantitative Risk Management QRMlib by Alexander J. McNeil (2005) and Scott Ulman (R-port) (2007) http://www.math.ethz.ch/~mcneil/book/QRMlib.html and QRMlib