Estimate multivariate GAS models by Maximum Likelihood.
MultiGASFit(GASSpec, data, fn.optimizer = fn.optim, Compute.SE = TRUE)
An object of the class mGASFit.
An object of the class mGASSpec created using the function MultiGASSpec
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
.
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.
logical
. Should asymptotic Standard Errors be computed? By default Compute.SE = TRUE
Leopoldo Catania
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.
Ardia D, Boudt K and Catania L (2016a).
"Generalized Autoregressive Score Models in R: The GAS Package."
https://www.ssrn.com/abstract=2825380.
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").
Ghalanos A, Theussl S (2016).
"Rsolnp: General Non-Linear Optimization using Augmented Lagrange Multiplier Method."
https://cran.r-project.org/package=Rsolnp.
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.
if (FALSE) {
# 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
}
Run the code above in your browser using DataLab