Learn R Programming

fBasics (version 4041.97)

sgh: Standardized Generalized Hyperbolic Distribution

Description

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

Usage

dsgh(x, zeta = 1, rho = 0, lambda = 1, log = FALSE)
psgh(q, zeta = 1, rho = 0, lambda = 1)
qsgh(p, zeta = 1, rho = 0, lambda = 1)
rsgh(n, zeta = 1, rho = 0, lambda = 1)

Value

numeric vector

Arguments

x, q

a numeric vector of quantiles.

p

a numeric vector of probabilities.

n

number of observations.

zeta

shape parameter, a positive number.

rho

skewness parameter, a number in the range \((-1, 1)\).

lambda

??

log

a logical flag by default FALSE. If TRUE, log values are returned.

Author

Diethelm Wuertz

Details

dsgh gives the density, psgh gives the distribution function, qsgh gives the quantile function, and rsgh generates random deviates.

The generator rsgh is based on the GH algorithm given by Scott (2004).

Examples

Run this code
## rsgh -
   set.seed(1953)
   r = rsgh(5000, zeta = 1, rho = 0.5, lambda = 1)
   plot(r, type = "l", col = "steelblue",
     main = "gh: zeta=1 rho=0.5 lambda=1")
 
## dsgh - 
   # Plot empirical density and compare with true density:
   hist(r, n = 50, probability = TRUE, border = "white", col = "steelblue",
     ylim = c(0, 0.6))
   x = seq(-5, 5, length = 501)
   lines(x, dsgh(x, zeta = 1, rho = 0.5, lambda = 1))
 
## psgh -  
   # Plot df and compare with true df:
   plot(sort(r), (1:5000/5000), main = "Probability", col = "steelblue")
   lines(x, psgh(x, zeta = 1, rho = 0.5, lambda = 1))
   
## qsgh -
   # Compute Quantiles:
   round(qsgh(psgh(seq(-5, 5, 1), zeta = 1, rho = 0.5), zeta = 1, rho = 0.5), 4)

Run the code above in your browser using DataLab