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, Normal Inverse Gaussian,
Variance Gamma and skewed Student-t distribution). Especially fitting procedures,
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.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. Additionally, the above-mentioned packages have
some restrictions concerning the fitting procedures (e.g. no possibility to keep some
parameters constant) and the special cases are not (completely) covered (fBasics covers
the hyperbolic and normal inverse gaussian case).
The package fMultivar implements
a fitting routine for multivariate skewed student-t distributions.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 like
rand(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.0; svn-revision 110
Date: 2007-04-04
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
redim Extract certain dimensions of a multivariate ghyp distribution
lin.transf Transform a multivariate generalized hyperbolic distribution
ghyp.moments Expected value and variance of the ghyp and the GIG 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
Alexander J. McNeil, R�diger Frey, Paul Embrechts (2005) Quantitative
Risk Management, Concepts, Techniques and Tools
Alexander J. McNeil(2005), S-Plus Library for Quantitative Risk Management
QRMlib, http://www.math.ethz.ch/~mcneil/book/QRMlib.html