GASSpec: An object of the class mGASSpec created using the function MultiGASSpec
data: matrix (or something coercible to that using as.matrix()) of dimension TxN containing the multivariate time series of observations. It can also be an object of the class ts, xts or zoo.
fn.optimizer: function. This is a generic optimization function that can be provided by the user. By default fn.optimizer = fn.optim where fn.optim is a wrapper to the optim function. See Details for user defined optimization routines.
Compute.SE: logical. Should asymptotic Standard Errors be computed? By default Compute.SE = TRUE
Details
Maximum Likelihood estimation of GAS models is an on-going research topic. General results are reported by Blasques et al. (2014b), Blasques et al. (2014a) and Harvey (2013), while results for specific models have been derived by Blasques et al. (2014c) and Andres (2014).
Starting values for the optimizer are chosen in the following way: (i) estimate the static version of the model (i.e., with A = 0 and B = 0) and set the initial value of the intercept parameter accordingly, and (ii) perform a grid search for the coefficients contained in A and B. Further technical details are presented in Section 3.2 of Ardia et. al. (2016a).
The user is free to employ his/her own optimization routine via the fn.optimizer argument. fn.optimizer
accepts a function object. The user provided optimizer has to satisfy strict requirements. The arguments of the fn.optimizer are : i) par0 a vector of starting values, ii) data the data provided, iii) GASSpec
an object of the class uGASSpec , and iv) FUN the likelihood function. The output of fn.optimizer has to be an object of the class list with four named elements: i) pars: a numeric vector where the estimated parameters are stored, ii) value: a numeric containing the value of the negative log likelihood evaluated at its minimum, iii) hessian, a numeric matrix containing the Hessian matrix evaluated at the minimum of the negative log likelihood, this is used for inferential purposes, and iv) convergence a numeric variable reporting information about the convergence of the optimization. This quantity is printed by the show() and summary() methods. convergence = 0 has to indicates successful completion.
The user is allowed to not include the last two elements of the output of the fn.optimizer function, that is, the values hessian = NULL and convergence = NULL are admissible. In the case of hessian = NULL, the Hessian matrix is evaluated numerically using the hessian function in the numDeriv package of Gilbert and Varadhan (2016). If the provided hessian is not positive definite, a try with the hessian evaluation used by the BFGS quasi-Newton implementation in the function optim is made.
By default, the optim optimizer with method = "BFGS" is employed.
Blasques F, Koopman SJ, Lucas A (2014a). "Maximum Likelihood Estimation for Correctly Specified Generalized Autoregressive Score Models: Feedback Effects, Contraction Conditions and Asymptotic Properties." techreport TI 14-074/III, Tinbergen Institute. https://www.tinbergen.nl/discussionpaper/?paper=2332.
Blasques F, Koopman SJ, Lucas A (2014b). "Maximum Likelihood Estimation for Generalized Autoregressive Score Models." techreport TI 2014-029/III, Tinbergen Institute. https://www.tinbergen.nl/discussionpaper/?paper=2286.
Blasques F, Koopman SJ, Lucas A, Schaumburg J (2014c). "Spillover Dynamics for Systemic Risk Measurement using Spatial Financial Time Series Models." techreport TI 2014-103/III, Tinbergen Institute. https://www.tinbergen.nl/discussionpaper/?paper=2369.
Creal D, Koopman SJ, Lucas A (2013). "Generalized Autoregressive Score Models with Applications." Journal of Applied Econometrics, 28(5), 777-795. tools:::Rd_expr_doi("10.1002/jae.1279") .
Harvey AC (2013). Dynamic Models for Volatility and Heavy Tails: With Applications to Financial and Economic Time Series. Cambridge University Press.
Ye Y (1988). Interior Algorithms for Linear, Quadratic, and Linearly Constrained Convex Programming. Ph.D. thesis, Stanford University.
Author(s)
Leopoldo Catania
Examples
## Not run:# Specify an GAS model with multivariate Student-t# conditional distribution and time-varying scales and correlationslibrary("GAS")data("StockIndices")GASSpec = MultiGASSpec(Dist ="mvt", ScalingType ="Identity", GASPar = list(scale =TRUE, correlation =TRUE))Fit = MultiGASFit(GASSpec, StockIndices)
Fit
## End(Not run)