GARCHX_select {GARCH.X}R Documentation

Variable selection for exogenous covariates in GARCHX models

Description

Performs variable selection on the exogenous covariates through testing each covariate in X and correcting the p-values for multiple testing.

Usage

GARCHX_select(
  eps,
  X,
  order = c(1, 1),
  delta = 2,
  alpha.level = 0.05,
  adjust.method = "fdr",
  optim.method = "NR"
)

Arguments

eps

Time series data

X

Matrix with exogenous covariates where the number of rows is equal to the length of eps

order

Order of the GARCH model. Value of p cannot be 0.

delta

Value of the power of the main time series to allow for Power GARCHX, default is 2 for GARCHX

alpha.level

Alpha level for p-value cut-off in variable selection

adjust.method

Multiple testing p-value adjustment, see p.adjust. Possible values are "holm", "hochberg", "hommel", "bonferonni", "BH", "BY", "fdr", "none"

optim.method

Optimization method for maximizing quasi-likelihood function. Options: "NR", "L-BFGS-B", "GA", "PS", "SA". Default value is "NR"

Details

Using the GARCHX model

\mathcal{E}_t = \sigma_tw_t

\sigma^2_t = \omega_0 + \sum^{p}_{i=1}\alpha_i\mathcal{E}_{t-i}^2 + \sum^q_{j=1}\beta_j\sigma^2_{t-j}+\mathbf{\pi}^T\mathbf{x}_{t-1}

performs variable selection by testing

H_0: \pi_j = 0, \forall j

and compares the p-values to the adjusted alpha level according to adjust.method. If alpha.level = 1, then no variable selection is performed and the function only estimates the parameters

Value

An object of class GARCHX

References

Francq, C. and Thieu, L.Q.(2018). QML Inference for Volatility Models with Covariates. Econometric Theory, Cambridge University Press

Examples

set.seed(123)
pi <- c(1, 0, 0, 4)
n <- 2000
d <- length(pi)
valinit <- 100
n2 <- n + d + 1
omega <- 0.1
alpha <- 0.2
beta <- 0.3
delta <- 2
e<-rnorm(n2+valinit)
Y<-e
for (t in 2:n2)
 Y[t]<- 0.2*Y[t-1]+e[t]
x<-exp(Y)
X <- matrix(0, nrow = (n+valinit), ncol = length(pi))
for(j in 1:d)
 X[, j] <- x[(d+2-j):(n+d+1-j+valinit)]
data <- GARCH.X::simulate(n, omega, alpha, beta, delta, X, pi, valinit = valinit)
model <- GARCHX_select(eps = data$eps, X = data$X)


[Package GARCH.X version 1.0 Index]