Functions to compute density, distribution function, quantile function and to generate random variates for the skew generalized error distribution.

## Usage

dsged(x, mean = 0, sd = 1, nu = 2, xi = 1.5, log = FALSE)
psged(q, mean = 0, sd = 1, nu = 2, xi = 1.5)
qsged(p, mean = 0, sd = 1, nu = 2, xi = 1.5)
rsged(n, mean = 0, sd = 1, nu = 2, xi = 1.5)

## Arguments

mean, sd, nu, xi

location parameter mean, scale parameter sd, shape parameter nu, skewness parameter xi.

n

the number of observations.

p

a numeric vector of probabilities.

x, q

a numeric vector of quantiles.

log

a logical; if TRUE, densities are given as log densities.

## Details

The distribution is standardized as discussed in the reference by Wuertz et al below.

## Value

d* returns the density,

p* returns the distribution function,

q* returns the quantile function, and

r* generates random deviates,

all values are numeric vectors.

## References

Nelson D.B. (1991); Conditional Heteroscedasticity in Asset Returns: A New Approach, Econometrica, 59, 347--370.

Fernandez C., Steel M.F.J. (2000); On Bayesian Modelling of Fat Tails and Skewness, Preprint, 31 pages.

Wuertz D., Chalabi Y. and Luksan L. (????); Parameter estimation of ARMA models with GARCH/APARCH errors: An R and SPlus software implementation, Preprint, 41 pages, https://github.com/GeoBosh/fGarchDoc/blob/master/WurtzEtAlGarch.pdf

## Author

Diethelm Wuertz for the Rmetrics R-port

sgedFit (fit), sgedSlider (visualize),

ged (symmetric GED)

## Examples

## sged -
par(mfrow = c(2, 2))
set.seed(1953)
r = rsged(n = 1000)
plot(r, type = "l", main = "sged", col = "steelblue")

# Plot empirical density and compare with true density:
hist(r, n = 25, probability = TRUE, border = "white", col = "steelblue")
box()
x = seq(min(r), max(r), length = 201)
lines(x, dsged(x), lwd = 2)

# Plot df and compare with true df:
plot(sort(r), (1:1000/1000), main = "Probability", col = "steelblue",
ylab = "Probability")
lines(x, psged(x), lwd = 2)

# Compute quantiles:
round(qsged(psged(q = seq(-1, 5, by = 1))), digits = 6)
#> [1] -1  0  1  2  3  4  5