Free Access Week-  Data Engineering + BI
Data engineering and BI courses are free!
Free AI Access Week from June 2-8

ghyp (version 0.9.3)

ghyp-package: A package on generalized hyperbolic distributions

Description

Description: This package provides all about univariate and multivariate generalized hyperbolic distributions and its special cases (Hyperbolic (hyp), Normal Inverse Gaussian (NIG), Variance Gamma (VG) and skewed Student-t distribution). Especially fitting procedures, an AIC-based model selection routine and functions for the computation of the density, quantile, probability, random variates, expected shortfall and some portfolio optimization and plotting routines. In addition the generalized inverse gaussian distribution is contained in this package.

Arguments

Existing solutions

There are already two packages HyperbolicDist and fBasics which cover univariate generalized hyperbolic distributions. 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 Rport of the S-Plus library QRMlib was released. The package QRMlib contains fitting procedure for the NIG, hyp and skewed Student-t case but not for the generalized hyperbolic case. The package fMultivar implements a fitting routine for multivariate skewed student-t distributions as well. The table below gives an overview of available packages concerning generalized hyperbolic distributions and their capabilities.

lccccc{ ghyp Hyperbolic fBasics QRMlib multi_GHD Dist (R & S-Plus) (Matlab) Univariate: Density x x x Distribution x x x Quantile x x x Random Generation x x x GH special cases hyp, NIG, hyp, VG hyp, NIG VG, skew-t Fit x only hyp x Constant parameters x Multivariate: Density x x x Distribution x Random Generation x x x GH special cases hyp, NIG, hyp, NIG VG, skew-t Fit x only hyp, NIG, skew-t x Constant parameters x Diagnostic plots: hist x x x Quantile-quantile x x pairs x }

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., simulate random variates of a specific distribution likerand(n, distribution.object. Additionally, one can take advantage of generic programming sinceRprovides virtual classes and some forms of polymorphism.

Details

ll{ Package: ghyp Type: Package Version: 0.9.3; svn-revision 132 Date: 2007-07-05 License: GPL (GNU Public Licence), Version 2 or later }

Initialize: ll{ 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 }

Density, distribution function, quantile function, expected shortfall and random generation: ll{ dghyp Density of a generalized hyperbolic distribution pghyp Distribution function of a generalized hyperbolic distribution qghyp Quantile of a univariate generalized hyperbolic distribution ESghyp Expected shortfall of a univariate generalized hyperbolic distribution rghyp Random generation of a generalized hyperbolic distribution }

Fit to data: ll{ 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.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 stepAIC.ghyp Perform a model selection based on the AIC }

Portfolio optimization and utilities: ll{ portfolio.optimize Calculate an optimal portfolio given a multivariate ghyp distribution mean Returns the expected value vcov Returns the variance in the univariate case or else the variance covariance matrix logLik Returns Log-Likelihood of fitted ghyp objects. AIC Returns Akaike's Information Criterion of fitted ghyp objects. redim Extract certain dimensions of a multivariate ghyp distribution lin.transf Transform a multivariate generalized hyperbolic distribution ghyp.moment Moments of the univariate ghyp distribution ghyp.params 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 }

Plot functions: ll{ 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. }

Generalized inverse gaussian distribution: ll{ 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.

References

Quantitative Risk Management: Concepts, Techniques and Tools by Alexander J. McNeil, R�diger Frey and Paul Embrechts Princeton Press, 2005 S-Plus and RLibrary 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