Learn R Programming

betategarch (version 3.3)

tegarch: Estimate first order Beta-Skew-t-EGARCH models

Description

Fits a first order Beta-Skew-t-EGARCH model to a univariate time-series by exact Maximum Likelihood (ML) estimation. Estimation is via the nlminb function

Usage

tegarch(y, asym = TRUE, skew = TRUE, components = 1, initial.values = NULL, lower = NULL, upper = NULL, hessian = TRUE, lambda.initial = NULL, c.code = TRUE, logl.penalty = NULL, aux = NULL, ...)

Arguments

y
numeric vector, typically a financial return series.
asym
logical. TRUE (default) includes leverage or volatility asymmetry in the log-scale specification
skew
logical. TRUE (default) enables and estimates the skewness in conditional density (epsilon). The skewness method is that of Fernandez and Steel (1998)
components
Numeric value, either 1 (default) or 2. The former estimates a 1-component model, the latter a 2-component model
initial.values
NULL (default) or a vector with the initial values. If NULL, then the values are automatically chosen according to model (with or without skewness, 1 or 2 components, etc.)
lower
NULL (default) or a vector with the lower bounds of the parameter space. If NULL, then the values are automatically chosen
upper
NULL (default) or a vector with the upper bounds of the parameter space. If NULL, then the values are automatically chosen
hessian
logical. If TRUE (default) then the Hessian is computed numerically via the optimHess function. Setting hessian=FALSE speeds up estimation, which might be particularly useful in simulation. However, it also slows down the extraction of the variance-covariance matrix by means of the vcov method.
lambda.initial
NULL (default) or a vector with the initial value(s) of the recursion for lambda and lambdadagger. If NULL then the values are chosen automatically
c.code
logical. TRUE (default) is faster since it makes use of compiled C-code
logl.penalty
NULL (default) or a numeric value. If NULL then the log-likelihood value associated with the initial values is used. Sometimes estimation can result in NA and/or +/-Inf values, which are fatal for simulations. The value logl.penalty is the value returned by the log-likelihood function in the presence of NA or +/-Inf values
aux
NULL (default) or a list, se code. Useful for simulations (speeds them up)
...
further arguments passed to the nlminb function

Value

Returns a list of class 'tegarch' with the following elements:

References

Fernandez and Steel (1998), 'On Bayesian Modeling of Fat Tails and Skewness', Journal of the American Statistical Association 93, pp. 359-371.

Nelson, Daniel B. (1991): 'Conditional Heteroskedasticity in Asset Returns: A New Approach', Econometrica 59, pp. 347-370.

Harvey and Sucarrat (2014), 'EGARCH models with fat tails, skewness and leverage'. Computational Statistics and Data Analysis 76, pp. 320-338.

Schwarz (1978), 'Estimating the Dimension of a Model', The Annals of Statistics 6, pp. 461-464.

Sucarrat (2013), 'betategarch: Simulation, Estimation and Forecasting of First-Order Beta-Skew-t-EGARCH models'. The R Journal (Volume 5/2), pp. 137-147.

See Also

tegarchSim, coef.tegarch, fitted.tegarch, logLik.tegarch, predict.tegarch, print.tegarch, residuals.tegarch, summary.tegarch, vcov.tegarch

Examples

Run this code
##simulate series with 500 observations:
set.seed(123)
y <- tegarchSim(500, omega=0.01, phi1=0.9, kappa1=0.1, kappastar=0.05,
  df=10, skew=0.8)

##estimate a 1st. order Beta-t-EGARCH model and store the output in mymod:
mymod <- tegarch(y)

#print estimates and standard errors:
print(mymod)

#graph of fitted volatility (conditional standard deviation):
plot(fitted(mymod))

#graph of fitted volatility and more:
plot(fitted(mymod, verbose=TRUE))

#plot forecasts of volatility 1-step ahead up to 20-steps ahead:
plot(predict(mymod, n.ahead=20))

#full variance-covariance matrix:
vcov(mymod)

Run the code above in your browser using DataLab