garch {tseries} | R Documentation |
Fit a Generalized Autoregressive Conditional Heteroscedastic GARCH (p, q) time series model to the data by computing the maximum-likelihood estimates of the conditionally normal model.
garch (x, order = c(1, 1), coef = NULL, itmax = 200, eps = NULL, grad = c("analytical","numerical"), series = NULL, trace = TRUE, ...) predict (object, newdata, genuine = FALSE) coef (object) residuals (object) fitted (object) print (object, digits = max(3,.Options$digits-3)) summary (object) plot (object, ask = interactive()) print.summary (object, digits = max(3,.Options$digits-3), signif.stars = .Options$show.signif.stars, ...)
x |
a numeric vector or time series. |
order |
a two dimensional integer vector giving the orders of the
model to fit. order[2] corresponds to the ARCH part and
order[1] to the GARCH part. |
coef |
If given this numeric vector is used as the initial estimate
of the GARCH coefficients. Default initialization is to set the
GARCH parameters to slightly positive values and to initialize the
intercept such that the unconditional variance of the initial GARCH
is equal to the variance of x . |
itmax |
gives the maximum number of log-likelihood function
evaluations itmax and the maximum number of iterations
2*itmax the optimizer is allowed to compute. |
eps |
defines the absolute (max(1e-20,eps^2) ) and
relative function convergence tolerance
(max(1e-10,eps^(2/3)) ), the coefficient-convergence
tolerance (sqrt(eps) ), and the false convergence tolerance
(1e2*eps ). Default value is the machine epsilon, see
Machine . |
grad |
indicates if the analytical gradient or a numerical approximation is used for the optimization. |
series |
name for the series. Defaults to
deparse(substitute(x)) . |
trace |
trace optimizer output? |
object |
a fit from garch . |
newdata |
a numeric vector or time series to compute GARCH
predictons. Defaults to eval(parse(text=object$series)) . |
genuine |
a logical indicating whether a genuine prediction should be made, i.e., a prediction for which there is no target observation available. |
digits, signif.stars |
see print.coefmat . |
ask |
Should the plot method work interactively? See
interactive . |
... |
either additional arguments for qr when computing
the asymptotic standard errors of coef (garch ), or
additional arguments for print (print.summary.garch ). |
garch
uses a Quasi-Newton optimizer to find the
maximum-likelihood estimates of the conditionally normal model. The
first max(p,q) values are assumed to be fixed. The optimizer uses a
hessian approximation computed from the BFGS
update. Only a Cholesky factor of the Hessian approximation is
stored. For more details see Dennis et al. (1981), Dennis and Mei
(1979), Dennis and More (1977), and Goldfarb (1976). The gradient is
either computed analytically or using a numerical approximation.
predict
returns +/- the conditional standard deviation
predictions from a fitted GARCH model.
coef
returns the coefficient estimates.
residuals
returns the GARCH residuals, i.e., the time series
used to fit the model divided by the computed conditional standard
deviation predictions for this series. Under the assumption of
conditional normality the residual series should be i.i.d. standard
normal.
fitted
returns +/- the conditional standard deviation
predictions for the series which has been used to fit the model.
print
, summary
, plot
, and print.summary
provide the usual generic functions for fitted GARCH
models. summary
computes the asymptotic standard errors of the
coefficient estimates from an outer-product approximation of the
Hessian evaluated at the estimates, see Bollerslev (1986). It furthermore
tests the residuals for normality and remaining ARCH effects, see
jarque.bera.test
and Box.test
.
plot
graphically investigates normality and remaining ARCH
effects for the residuals.
For garch
and its methods print
and plot
a list
of class "garch"
with the following elements:
order |
the order of the fitted model. |
coef |
estimated GARCH coefficients for the fitted model. |
n.likeli |
the negative log-likelihood function evaluated at the coefficient estimates (apart from some constant). |
n.used |
the number of observations of x . |
residuals |
the series of residuals. |
fitted.values |
the bivariate series of conditional standard
deviation predictions for x . |
series |
the name of the series x . |
frequency |
the frequency of the series x . |
call |
the call of the garch function. |
asy.se.coef |
the asymptotic-theory standard errors of the coefficient estimates. |
For predict
a bivariate time series (two-column matrix) of
predictions.
For coef
, a numeric vector, for residuals
and
fitted
a univariate (vector) and a bivariate time series
(two-column matrix), respectively.
For summary
and print.summary
a list of
class "summary.garch"
.
A. Trapletti, the whole GARCH part, D. M. Gay, the fortran optimizer
A. K. Bera and M. L. Higgins (1993): ARCH Models: Properties, Estimation and Testing. J. Economic Surveys 7 305-362.
T. Bollerslev (1986): Generalized Autoregressive Conditional Heteroscedasticity. Journal of Econometrics 31, 307-327.
R. F. Engle (1982): Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation. Econometrica 50, 987-1008.
J. E. Dennis, D. M. Gay, and R. E. Welsch (1981): Algorithm 573 - An Adaptive Nonlinear Least-Squares Algorithm. ACM Trans. Math. Software 7, 369-383.
J. E. Dennis and H. H. W. Mei (1979): Two New Unconstrained Optimization Algorithms which use Function and Gradient Values. J. Optim. Theory Applic. 28, 453-482.
J. E. Dennis and J. J. More (1977): Quasi-Newton Methods, Motivation and Theory. SIAM Rev. 19, 46-89.
D. Goldfarb (1976): Factorized Variable Metric Methods for Unconstrained Optimization. Math. Comput. 30, 796-811.
n <- 1100 a <- c (0.1, 0.5, 0.2) # ARCH(2) coefficients e <- rnorm (n) x <- double (n) x[1:2] <- rnorm (2, sd = a[1]/(1.0-a[2]-a[3])) for (i in 3:n) # Generate ARCH(2) process { x[i] <- e[i]*sqrt(a[1]+a[2]*x[i-1]^2+a[3]*x[i-2]^2) } x <- ts(x[101:1100]) x.arch <- garch (x, order = c(0,2)) # Fit ARCH(2) summary (x.arch) # Diagnostic tests plot (x.arch) data (EuStockMarkets) dax <- diff(log(EuStockMarkets))[,"DAX"] dax.garch <- garch (dax) # Fit a GARCH(1,1) to DAX returns summary (dax.garch) # ARCH effects are filtered. However, plot (dax.garch) # conditional normality seems to be violated