Learn R Programming

GAS (version 0.3.4.1)

MultiGASRoll: Rolling forecast with multivariate GAS models

Description

One-step ahead rolling forecasts with model re-estimation. The function also reports several quantity for backtesting for point and density forecasts.

Usage

MultiGASRoll(data, GASSpec, ForecastLength = 500, Nstart = NULL,
             RefitEvery = 23, RefitWindow = c("moving", "recursive"),
             cluster = NULL, Compute.SE = FALSE, ...)

Value

An object of the class mGASRoll

Arguments

data

matrix of dimension (T + ForecastLength) x N containing the time series of observations.

GASSpec

An object of the class mGASSpec created using the function MultiGASSpec

ForecastLength

numeric Length of the out of sample

Nstart

numeric Period when perform the first forecast. Ignored if ForecastLength is supplied.

RefitEvery

numeric Number of periods before model coefficients re-estimation.

RefitWindow

character Type of window. If RefitWindow = "recursive" all the observations are used when the model is re-estimated. If RefitWindow = "moving" old observations are eliminated.

cluster

A cluster object created calling using the paralell package. If supplied parallel processing is used to speed up the computations.

Compute.SE

logical. Should asymptotic Standard Errors be computed? By default Compute.SE = FALSE

...

Additional arguments for MultiGASFit

Author

Leopoldo Catania

Examples

Run this code
if (FALSE) {
# Specify a GAS model with Multivariate Student-t conditional
# distribution and time-varying scale and correlation parameters

# stock returns Forecast

data("StockIndices")

mY = StockIndices[, 1:2]

# Specification mvt
GASSpec = MultiGASSpec(Dist = "mvt", ScalingType = "Identity",
                       GASPar = list(location = FALSE, scale = TRUE,
                                     correlation = TRUE, shape = FALSE))

# Perform 1-step ahead rolling forecast with refit
library(parallel)

Roll = MultiGASRoll(mY, GASSpec, ForecastLength = 250,
                       RefitEvery = 100, RefitWindow = c("moving"))

Roll
}

Run the code above in your browser using DataLab