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.