Learn R Programming

fGarch (version 4052.93)

sged: Skew generalized error distribution

Description

Functions to compute density, distribution function, quantile function and to generate random variates for the skew generalized error distribution. Note that there are different ways to define a skew GED distribution, check section Details to see if this is the distribution you want.

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)

Value

numeric vector

Arguments

x, q

a numeric vector of quantiles.

p

a numeric vector of probabilities.

n

number of observations to simulate.

mean

location parameter.

sd

scale parameter.

nu

shape parameter.

xi

skewness parameter, a positive number. xi = 1 gives a symmetric distribution (here normal).

log

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

Author

Diethelm Wuertz for the Rmetrics R-port

Details

Skewness is based on the scheme by Fernandez and Steel (2000) but with different parameterisation as discussed by Wuertz et al (????), in that the skewness (xi), degrees of freedom (nu), mean (mean) and standard deviation (sd) are independent parameters.

dsged computes the density, psged the distribution function, qsged the quantile function, and rsged generates random deviates.

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

See Also

sgedFit (fit), sgedSlider (visualize),

snorm (skew normal), sstd (skew t)

ged (symmetric GED)

Examples

Run this code
## 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)

Run the code above in your browser using DataLab