mtvgarch {tvgarch}R Documentation

Estimate a multivariate TV-GARCH-X model

Description

Equation by equation estimation of a multivariate multiplicative TV-GARCH-X model with dnamic conditional correlations. For each variance equation, the long-term or unconditional component (TV) and the short-term or conditional variance component (GARCH-X) are estimated separately using maximization by parts, where the iterative algorithm proceeds until convergence. Conditional on the variance estimates, the dynamic conditional correlations are estimated by maximum likelihood.

Usage

mtvgarch(y, order.g = c(1, 1), order.h = NULL, order.x = NULL, 
initial.values = list(), xtv = NULL, xreg = NULL, opt = 2, upper.speed = NULL,
tvgarch = FALSE, dcc = FALSE, turbo = TRUE, trace = FALSE)

Arguments

y

numeric matrix, time series or zoo object.

order.g

integer matrix with each row indicating the order.g for each series; number of locations in each transition function of the TV components.

order.h

integer matrix with each row indicating the order.h for each series; the first column controls the GARCH order, the second the ARCH order and the third the asymmetry order of the GARCH-X components. If NULL, the default, all series are assumed to follow a GARCH(1,1,0).

order.x

NULL or binary matrix indicating which xreg variables should be included as covariates in the GARCH-X components. If provided and xreg is NULL, then the selected volatility spillovers are included as covariates.

initial.values

a list containing the initial parameter values passed on to the optimisation routines (constrOptim for the TV component and nlminb for the GARCH-X component). If list(), the default, then the values are chosen automatically. TV component: intercept.g - NULL or numeric vector, size - NULL or numeric matrix containing the size initial coefficients, speed - NULL or numeric matrix containing the speed initial coefficients, location - NULL or numeric matrix containing the location initial coefficients. GARCH-X component: intercept.h - numeric vector, arch - NULL or numeric matrix containing the ARCH initial coefficients, garch - NULL or numeric matrix containing the GARCH-type initial coefficients, asym - NULL or numeric matrix containing the asymmetry-type initial coefficients, par.xreg - NULL or numeric matrix containing the X-type initial coefficients, and R - initial correlation coefficients.

xtv

NULL or numeric vector, time series or zoo object to include as the transition variable in the TV component. If NULL, calendar time, scaled between 0 and 1, is used as the transition variable.

xreg

numeric vector, time series or zoo object to include as covariates in the GARCH-X component.

opt

integer indicating whether the speed parameter in the TV component should be scaled. If 0, no scaling; if 1, speed/sd(xtv); if 2, exp(speed).

upper.speed

NULL or numeric scalar that sets the upper bound for speed in each transition function. If NULL, the default, the upper bound is 10000 for all transition functions. If numeric scalar, upper.speed is used for all transition functions.

tvgarch

logical. If TRUE, the full parameter set is estimated in one final step as well as the standard errors. If FALSE (default), estimates from last iteration are reported instead.

dcc

logical. If TRUE, dynamic conditional correlations are estimated. If FALSE (default), then the conditional correlations are constant.

turbo

logical. If FALSE (default), then the coefficient variance-covariance is computed during estimation, and the fitted values and residuals are attached to the returned object. If TRUE, then these operations are skipped, and hence estimation is faster. Note, however, that if turbo is set to TRUE, then the coefficient-covariance, fitted values and residuals can still be extracted subsequent to estimation with vcov.mtvgarch(), fitted.mtvgarch() and residuals.mtvgarch(), respectively.

trace

logical. If TRUE all output is printed.

Value

An object of class 'mtvgarch'.

Author(s)

Susana Campos-Martins

References

Cristina Amado and Timo Terasvirta (2013) Modelling volatility by variance decomposition, Journal of Econometrics 175, 142-153.

Susana Campos-Martins and Genaro Sucarrat (2024) Modeling Nonstationary Financial Volatility with the R Package tvgarch, Journal of Statistical Software 108, 1-38.

Christian Francq and Jean-Michel Zakoian (2016) Estimating multivariate volatility models equation by equation, J. R. Stat. Soc. Ser. B Stat. Methodol 78, 613-635.

Robert F. Engle (2002) Dynamic conditional correlation: A simple class of multivariate generalized autoregressive conditional heteroskedasticity models, Journal of Business and Economic Statistics 20, 339-350.

See Also

tvgarch, garchx, nlminb, constrOptim

Examples

set.seed(12345)

## Simulate from a bivariate CCC-TV(1)-GARCH(1,1) model (default):
mySim <- mtvgarchSim(n = 1000)

## Estimate a CCC-TV(1)-GARCH(1,1) model (default):
myEst <- mtvgarch(y = mySim)

## Print estimation results:
print(myEst)

## Extract coefficients:
coef(myEst)

## Plot conditional volatilities:
plot(myEst)

## Generate predictions:
predict(myEst)

[Package tvgarch version 2.4.2 Index]