Estimate multivariate GAS models by Maximum Likelihood.
An object of the class mGASSpec created using the function MultiGASSpec
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
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
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)
an object of the class uGASSpec, and iv)
FUN the likelihood function. The output of
to be an object of the class
list with four named elements: i)
where the estimated parameters are stored, ii)
numeric containing the value of the negative log likelihood
evaluated at its minimum, iii)
numeric matrix containing the Hessian matrix evaluated at
the minimum of the negative log likelihood, this is used for inferential purposes, and iv)
numeric variable reporting information about the convergence of the optimization. This quantity is printed by the
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.
An object of the class mGASFit.
Ardia D, Boudt K and Catania L (2016a).
"Generalized Autoregressive Score Models in R: The GAS Package."
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. http://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.
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.
Creal D, Koopman SJ, Lucas A (2013).
"Generalized Autoregressive Score Models with Applications."
Journal of Applied Econometrics, 28(5), 777-795.
Ghalanos A, Theussl S (2016).
"Rsolnp: General Non-Linear Optimization using Augmented Lagrange Multiplier Method."
Gilbert P, Varadhan R (2016). numDeriv: Accurate Numerical Derivatives. R package 2016.8-1, https://CRAN.R-project.org/package=numDeriv.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## Not run: # Specify an GAS model with multivariate Student-t # conditional distribution and time-varying scales and correlations library("GAS") data("StockIndices") GASSpec = MultiGASSpec(Dist = "mvt", ScalingType = "Identity", GASPar = list(scale = TRUE, correlation = TRUE)) Fit = MultiGASFit(GASSpec, StockIndices) Fit ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.