tvgarch {tvgarch}R Documentation

Estimate a TV-GARCH-X model

Description

Quasi Maximum Likelihood (ML) estimation of a univariate multiplicative TV(s)-GARCH(p,q,r)-X model, where s indicates the number and the shape of the transition functions, r is the asymmetry order, p is the ARCH order, q is the GARCH order, and 'X' indicates that covariates can be included. Any transition variable, deterministic or stochastic, can be used to drive the transitions between the variance states. The TV long-term component introduces non-stationarity in the variance process, where the GARCH-X short-term component describes conditional heteroscedasticity. Maximization by parts leads to consistent and asymptotically normal estimates.

Usage

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

Arguments

y

numeric vector, time series or zoo object.

order.g

integer vector of length s indicating the number of locations in each transition function of the TV component. Indicates whether a stationary GARCH or a nonstationary GARCH, i.e., TV-GARCH, shall be estimated.

order.h

integer vector of the form c(p,q,r). The first entry controls the GARCH order, the second the ARCH order and the third the asymmetry order of the GARCH-X component.

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, size - NULL or numeric vector containing the size initial coefficients, speed - NULL or numeric vector containing the speed initial coefficients, location - NULL or numeric vector containing the location initial coefficients. GARCH-X or GARCH-X component of TV-GARCH-X: intercept.h - numeric, arch - NULL or numeric vector containing the ARCH initial coefficients, garch - NULL or numeric vector containing the GARCH-type initial coefficients, asym - NULL or numeric vector containing the assymetry-type initial coefficients, and par.xreg - NULL or numeric vector containing the X-type initial 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. Not relevant for stationary GARCH.

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). Only relevant for TV-GARCH models.

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.

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.tvgarch(), fitted.tvgarch() and residuals.tvgarch(), respectively.

trace

logical. If TRUE all output is printed when estimating a TV-GARCH.

Value

An object of class 'tvgarch'.

Author(s)

Susana Campos-Martins

References

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

Cristina Amado and Timo Terasvirta (2014) Modelling changes in the unconditional variance of long stock return series, Journal of Empirical Finance 25, 15-35.

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

See Also

garchx, tvgarchSim, nlminb, constrOptim

Examples

set.seed(123)

## Simulate from a TV(1)-GARCH(1,1) model (default):
ySim <- tvgarchSim(n = 1500)

## Estimate a TV(1)-GARCH(1,1) model:
yEst <- tvgarch(y = ySim)

## Print estimation results:
print(yEst)

## Extract coefficients:
coef(yEst)

## Plot conditional volatilities:
plot(yEst)

## Extract log-likelihood:
logLik(yEst)

## Extract and store standardised residuals:
etaEst <- residuals(yEst)

## Generate predictions:
predict(yEst)

[Package tvgarch version 2.4.2 Index]