Learn R Programming

fBasics (version 4021.93)

hyp: Hyperbolic distribution

Description

Density, distribution function, quantile function and random generation for the hyperbolic distribution.

Usage

dhyp(x, alpha = 1, beta = 0, delta = 1, mu = 0, 
    pm = c("1", "2", "3", "4"), log = FALSE)
phyp(q, alpha = 1, beta = 0, delta = 1, mu = 0, 
    pm = c("1", "2", "3", "4"), ...)
qhyp(p, alpha = 1, beta = 0, delta = 1, mu = 0, 
    pm = c("1", "2", "3", "4"), ...)
rhyp(n, alpha = 1, beta = 0, delta = 1, mu = 0, 
    pm = c("1", "2", "3", "4"))

Value

All values for the *hyp functions are numeric vectors:

d* returns the density,

p* returns the distribution function,

q* returns the quantile function, and

r* generates random deviates.

All values have attributes named "param" listing the values of the distributional parameters.

Arguments

alpha, beta, delta, mu

shape parameter alpha; skewness parameter beta, abs(beta) is in the range (0, alpha); scale parameter delta, delta must be zero or positive; location parameter mu, by default 0. These is the meaning of the parameters in the first parameterization pm=1 which is the default parameterization selection. In the second parameterization, pm=2 alpha and beta take the meaning of the shape parameters (usually named) zeta and rho. In the third parameterization, pm=3 alpha and beta take the meaning of the shape parameters (usually named) xi and chi. In the fourth parameterization, pm=4 alpha and beta take the meaning of the shape parameters (usually named) a.bar and b.bar.

n

number of observations.

p

a numeric vector of probabilities.

pm

an integer value between 1 and 4 for the selection of the parameterization. The default takes the first parameterization.

x, q

a numeric vector of quantiles.

log

a logical, if TRUE, probabilities p are given as log(p).

...

arguments to be passed to the function integrate.

Author

David Scott for code implemented from R's contributed package HyperbolicDist.

Details

The generator rhyp is based on the HYP algorithm given by Atkinson (1982).

References

Atkinson, A.C. (1982); The simulation of generalized inverse Gaussian and hyperbolic random variables, SIAM J. Sci. Stat. Comput. 3, 502--515.

Barndorff-Nielsen O. (1977); Exponentially decreasing distributions for the logarithm of particle size, Proc. Roy. Soc. Lond., A353, 401--419.

Barndorff-Nielsen O., Blaesild, P. (1983); Hyperbolic distributions. In Encyclopedia of Statistical Sciences, Eds., Johnson N.L., Kotz S. and Read C.B., Vol. 3, pp. 700--707. New York: Wiley.

Raible S. (2000); Levy Processes in Finance: Theory, Numerics and Empirical Facts, PhD Thesis, University of Freiburg, Germany, 161 pages.

Examples

Run this code
## hyp -
   set.seed(1953)
   r = rhyp(5000, alpha = 1, beta = 0.3, delta = 1)
   plot(r, type = "l", col = "steelblue",
     main = "hyp: alpha=1 beta=0.3 delta=1")
 
## hyp - 
   # Plot empirical density and compare with true density:
   hist(r, n = 25, probability = TRUE, border = "white", col = "steelblue")
   x = seq(-5, 5, 0.25)
   lines(x, dhyp(x, alpha = 1, beta = 0.3, delta = 1))
 
## hyp -  
   # Plot df and compare with true df:
   plot(sort(r), (1:5000/5000), main = "Probability", col = "steelblue")
   lines(x, phyp(x, alpha = 1, beta = 0.3, delta = 1))
   
## hyp -
   # Compute Quantiles:
   qhyp(phyp(seq(-5, 5, 1), alpha = 1, beta = 0.3, delta = 1), 
     alpha = 1, beta = 0.3, delta = 1) 

Run the code above in your browser using DataLab