| ghyp-distribution | R Documentation |
Density, distribution function, quantile function, expected-shortfall and random generation for the univariate and multivariate generalized hyperbolic distribution and its special cases.
dghyp(x, object = ghyp(), logvalue = FALSE)
pghyp(q, object = ghyp(), n.sim = 10000, subdivisions = 200,
rel.tol = .Machine$double.eps^0.5, abs.tol = rel.tol,
lower.tail = TRUE)
qghyp(p, object = ghyp(), 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)
rghyp(n, object = ghyp())
p |
A vector of probabilities. |
x |
A vector, matrix or data.frame of quantiles. |
q |
A vector, matrix or data.frame of quantiles. |
n |
Number of observations. |
object |
An object inheriting from class |
logvalue |
If |
n.sim |
The number of simulations when computing |
subdivisions |
The number of subdivisions passed to |
rel.tol |
The relative accuracy requested from |
abs.tol |
The absolute accuracy requested from |
lower.tail |
If TRUE (default), probabilities are
|
method |
The method how quantiles are computed (see Details). |
spline.points |
The number of support points when computing the quantiles with the method “splines” instead of “integration”. |
root.tol |
The tolerance of |
qghyp only works for univariate generalized hyperbolic
distributions.
pghyp performs a numeric integration of the density in the
univariate case. The multivariate cumulative distribution is computed
by means of monte carlo simulation.
qghyp 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 only
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.
rghyp uses the random generator for generalized inverse
Gaussian distributed random variates from the Rmetrics package
fBasics (cf. rgig).
dghyp gives the density,
pghyp gives the distribution function,
qghyp gives the quantile function,
rghyp generates random deviates.
Objects generated with hyp, NIG,
VG and student.t have to use Xghyp
as well. E.g. dNIG(0, NIG()) does not work but dghyp(0,
NIG()).
When the skewness becomes very large the functions using qghyp
may fail. The functions qqghyp,
pairs and portfolio.optimize
are based on qghyp.
David Luethi
ghyp-package vignette in the doc folder or on
https://cran.r-project.org/package=ghyp and references
therein.
ghyp-class definition, ghyp constructors,
fitting routines fit.ghypuv and fit.ghypmv,
risk and performance measurement ESghyp and ghyp.omega,
transformation and subsettting of ghyp objects,
integrate, spline.
## Univariate generalized hyperbolic distribution
univariate.ghyp <- ghyp()
par(mfrow=c(5, 1))
quantiles <- seq(-4, 4, length = 500)
plot(quantiles, dghyp(quantiles, univariate.ghyp))
plot(quantiles, pghyp(quantiles, univariate.ghyp))
probabilities <- seq(1e-4, 1-1e-4, length = 500)
plot(probabilities, qghyp(probabilities, univariate.ghyp, method = "splines"))
hist(rghyp(n=10000,univariate.ghyp),nclass=100)
## Mutivariate generalized hyperbolic distribution
multivariate.ghyp <- ghyp(sigma=var(matrix(rnorm(10),ncol=2)),mu=1:2,gamma=-(2:1))
par(mfrow=c(2, 1))
quantiles <- outer(seq(-4, 4, length = 50), c(1, 1))
plot(quantiles[, 1], dghyp(quantiles, multivariate.ghyp))
plot(quantiles[, 1], pghyp(quantiles, multivariate.ghyp, n.sim = 1000))
rghyp(n = 10, multivariate.ghyp)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.