| GarchDistributions {fGarch} | R Documentation |
A collection and description of functions to compute
density, distribution function, quantile function and
to generate random variates for the skew normal, the skew
Student-t, and skew generalized error distribution. In
addition maximum likelihood estimators are available to
fit the parameters of a distribution and to compute
basic statistical properties.
The functions are:
[dpqr]norm | Normal distribution from R's base package, |
[dpqr]snorm | Skew Normal distribution, |
[dpqr]std | Symmetric Student-t Distribution, |
[dpqr]sstd | Skew Student-t Distribution, |
[dpqr]ged | Symmetric GED distribution, |
[dpqr]sged | Skew GED distribution. |
The estimatore are:
normFit | MLE parameter fit for a Normal distribution, |
snormFit | MLE parameter fit for a skew Normal distribution, |
stdFit | MLE parameter fit for a Sudent-t distribution, |
stdFit | MLE parameter fit for a skew Sudent-t distribution, |
gedFit | MLE parameter fit for a generalized error distribution, |
nigFit | MLE parameter fit for a skew generalized error distribution. |
Utility Function:
absMoments | Computes absolute moments of a symmetric density. |
dsnorm(x, mean = 0, sd = 1, xi = 1.5)
psnorm(q, mean = 0, sd = 1, xi = 1.5)
qsnorm(p, mean = 0, sd = 1, xi = 1.5)
rsnorm(n, mean = 0, sd = 1, xi = 1.5)
dstd(x, mean = 0, sd = 1, nu = 5)
pstd(q, mean = 0, sd = 1, nu = 5)
qstd(p, mean = 0, sd = 1, nu = 5)
rstd(n, mean = 0, sd = 1, nu = 5)
dsstd(x, mean = 0, sd = 1, nu = 5, xi = 1.5)
psstd(q, mean = 0, sd = 1, nu = 5, xi = 1.5)
qsstd(p, mean = 0, sd = 1, nu = 5, xi = 1.5)
rsstd(n, mean = 0, sd = 1, nu = 5, xi = 1.5)
dged(x, mean = 0, sd = 1, nu = 2)
pged(q, mean = 0, sd = 1, nu = 2)
qged(p, mean = 0, sd = 1, nu = 2)
rged(n, mean = 0, sd = 1, nu = 2)
dsged(x, mean = 0, sd = 1, nu = 2, xi = 1.5)
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)
normFit(x, ...)
snormFit(x, ...)
stdFit(x, ...)
sstdFit(x, ...)
gedFit(x, ...)
sgedFit(x, ...)
absMoments(n, density = c("dnorm", "dged", "dstd"), ...)
density |
[absMoments] - a character string naming the symmetric density function. |
mean, sd, nu, xi |
location parameter mean,
scale parameter sd,
shape parameter nu,
skewness parameter xi.
|
n |
[rnorm][r*ged][r*std] - the number of observations. [absMoments] - the number of absolute Moments. |
p |
a numeric vector of probabilities. |
x, q |
a numeric vector of quantiles. |
... |
[*Fit] - parameters parsed to the optimization function nlm.[absMoments] - parameters passed to the density function. |
Symmetric Normal Distibution:
The functions for the normal distribution are part of R's
base package. The functions for the symmetric Student-t
distribution are rescaled in such a way that they have unit
variance in contrast to the Student-t family dt, pt,
qt and rt which are part of R's base package.
The generalized error distribution functions are defined as
described by Nelson (1991).
Skew Normal Distribution:
The skew normal distribution functions are defined as described
by Fernandez and Steel (2000).
cr
Parameter Estimation:
The function nlm is used to minimize the "negative" maximum
log-likelihood function. nlm carries out a minimization using
a Newton-type algorithm.
d* returns the density,
p* returns the distribution function,
q* returns the quantile function, and
r* generates random deviates,
all values are numeric vectors.
*Fit return a list with the following components:
estimate |
the point at which the maximum value of the log liklihood function is obtained. |
objective |
the value of the estimated maximum, i.e. the value of the log liklihood function. |
message |
an integer indicating why the optimization process terminated. |
code |
an integer indicating why the optimization process terminated. 1: relative gradient is close to zero, current iterate is probably solution; 2: successive iterates within tolerance, current iterate is probably solution; 3: last global step failed to locate a point lower than estimate.
Either estimate is an approximate local minimum of the
function or steptol is too small; 4: iteration limit exceeded; 5: maximum step size stepmax exceeded five consecutive times.
Either the function is unbounded below, becomes asymptotic to a
finite value from above in some direction or stepmax
is too small.
|
gradient |
the gradient at the estimated maximum. |
steps |
number of function calls. |
absMoments returns a numeric vector of length n with the
values of the absolute moments of the density function.
Diethelm Wuertz for the Rmetrics R-port.
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.
## sged -
par(mfrow = c(2, 2), cex = 0.75)
set.seed(1953)
r = rsged(n = 1000, mean = 1, sd = 0.5, xi = 1.5)
plot(r, type = "l", main = "sged: xi = 1.5")
# Plot empirical density and compare with true density:
hist(r, n = 25, probability = TRUE, border = "white", col = "steelblue")
x = seq(-1, 5, 0.1)
lines(x, dsged(x = x, mean = 1, sd = 0.5, xi = 1.5))
# Plot df and compare with true df:
plot(sort(r), (1:1000/1000), main = "Probability", col = "steelblue")
lines(x, psged(x, mean = 1, sd = 0.5, xi = 1.5))
# Compute quantiles:
qsged(psged(q = -1:5, mean = 1, sd = 0.5, xi = 1.5),
mean = 1, sd = 0.5, xi = 1.5)
## sgedFit -
sgedFit(rsged(1000, mean = -1, sd = 0.5, nu = 3, xi = 3/2),
print.level = 2)