Learn R Programming

gets (version 0.9)

getsm: General-to-Specific (GETS) Modelling of an AR-X model with log-ARCH-X errors

Description

The starting model, an object of the 'arx' class, is referred to as the General Unrestricted Model (GUM). The getsm function undertakes multi-path GETS modelling of the mean specification, whereas getsv does the same for the log-variance specification. The diagnostic tests are undertaken on the standardised residuals, and the keep option enables regressors to be excluded from possible removal.

Usage

##gets of mean specification: getsm(object, t.pval=0.05, wald.pval=t.pval, vcov.type=NULL, do.pet=TRUE, ar.LjungB=list(lag=NULL, pval=0.025), arch.LjungB=list(lag=NULL, pval=0.025), normality.JarqueB=NULL, info.method=c("sc", "aic", "hq"), keep=NULL, include.gum=FALSE, include.empty=FALSE, max.regs=NULL, zero.adj=NULL, vc.adj=NULL, verbose=TRUE, print.searchinfo=TRUE, estimate.specific=TRUE, plot=TRUE, alarm=FALSE) ##gets of variance specification: getsv(object, t.pval=0.05, wald.pval=t.pval, do.pet=TRUE, ar.LjungB=list(lag=NULL, pval=0.025), arch.LjungB=list(lag=NULL, pval=0.025), normality.JarqueB=NULL, info.method=c("sc", "aic", "hq"), keep=c(1), include.gum=FALSE, include.empty=FALSE, max.regs=NULL, zero.adj=NULL, vc.adj=NULL, verbose=TRUE, print.searchinfo=TRUE, estimate.specific=TRUE, plot=TRUE, alarm=FALSE)

Arguments

object
an object of class 'arx'
t.pval
numeric value between 0 and 1. The significance level used for the two-sided regressor significance t-tests
wald.pval
numeric value between 0 and 1. The significance level used for the Parsimonious Encompassing Tests (PETs). By default, it is the same as t.pval
vcov.type
the type of variance-covariance matrix used. If NULL (default), then the type used in the estimation of the 'arx' object is used. This can be overridden by either "ordinary" (i.e. the ordinary variance-covariance matrix) or "white" (i.e. the White (1980) heteroscedasticity robust variance-covariance matrix)
do.pet
logical. If TRUE (default), then a Parsimonious Encompassing Test (PET) against the GUM is undertaken at each regressor removal for the joint significance of all the deleted regressors along the current path. If FALSE, then a PET is not undertaken at each regressor removal
ar.LjungB
a two-item list with names lag and pval, or NULL. In the former case lag contains the order of the Ljung and Box (1979) test for serial correlation in the standardised residuals, and pval contains the significance level. If lag=NULL (default), then the order used is that of the estimated 'arx' object. If ar.Ljungb=NULL, then the standardised residuals are not checked for serial correlation
arch.LjungB
a two-item list with names lag and pval, or NULL. In the former case, lag contains the order of the Ljung and Box (1979) test for serial correlation in the squared standardised residuals, and pval contains the significance level. If lag=NULL (default), then the order used is that of the estimated 'arx' object. If arch.Ljungb=NULL, then the standardised residuals are not checked for ARCH
normality.JarqueB
a value between 0 and 1, or NULL. In the former case, a test for non-normality is conducted using a significance level equal to the numeric value. If NULL, then no test for non-normality is undertaken
info.method
character string, "sc" (default), "aic" or "hq", which determines the information criterion to be used when selecting among terminal models. The abbreviations are short for the Schwarz or Bayesian information criterion (sc), the Akaike information criterion (aic) and the Hannan-Quinn (hq) information criterion
keep
the regressors to be excluded from removal in the specification search. Note that keep=c(1) is obligatory when using getsv. This excludes the log-variance intercept from removal. The regressor numbering is contained in the reg.no column of the GUM
include.gum
logical. If TRUE, then the GUM (i.e. the starting model) is included among the terminal models. If FALSE (default), then the GUM is not included
include.empty
logical. If TRUE, then an empty model is included among the terminal models, if it passes the diagnostic tests, even if it is not equal to one of the terminals. If FALSE (default), then the empty model is not included (unless it is one of the terminals)
max.regs
integer. The maximum number of regressions along a deletion path. It is not recommended that this is altered
zero.adj
numeric value between 0 and 1. The quantile adjustment for zero values. The default 0.1 means the zero residuals are replaced by the 10 percent quantile of the absolute residuals before taking the logarithm
vc.adj
logical. If TRUE (default), then the log-variance intercept is adjusted by the estimate of E[ln(z^2)]. This adjustment is needed for the conditional scale of e to be equal to the conditional standard deviation. If FALSE, then the log-variance intercept is not adjusted
verbose
logical. TRUE (default) returns (slightly) more output than FALSE
print.searchinfo
logical. If TRUE (default), then a print is returned whenever simiplification along a new path is started
estimate.specific
logical. IF TRUE (default), then the specific model is estimated after model selection
plot
logical. If TRUE, then the fitted values and the residuals of the final model are plotted after model selection
alarm
logical. If TRUE, then a sound or beep is emitted (in order to alert the user) when the model selection ends

Value

Details

See Sucarrat and Escribano (2012)

References

Genaro Sucarrat and Alvaro Escribano (2012): 'Automated Financial Model Selection: General-to-Specific Modelling of the Mean and Volatility Specifications', Oxford Bulletin of Economics and Statistics 74, Issue no. 5 (October), pp. 716-735

G. Ljung and G. Box (1979): 'On a Measure of Lack of Fit in Time Series Models'. Biometrika 66, pp. 265-270

See Also

Extraction functions: coef.gets, fitted.gets, paths, plot.gets, print.gets, residuals.gets, summary.gets, terminals, vcov.gets

Related functions: arx, isat, eqwma, leqwma, zoo

Examples

Run this code
##Simulate from an AR(1):
set.seed(123)
y <- arima.sim(list(ar=0.4), 80)

##Simulate four independent Gaussian regressors:
xregs <- matrix(rnorm(2*80), 80, 2)

##estimate an AR(2) with intercept and four conditioning
##regressors in the mean, and a log-ARCH(3) with log(xregs^2) as
##regressors in the log-variance:
gum01 <- arx(y, mc=TRUE, ar=1:2, mxreg=xregs, arch=1:3,
  vxreg=log(xregs^2))

##GETS model selection of the mean:
meanmod01 <- getsm(gum01)

##GETS model selection of the log-variance:
varmod01 <- getsv(gum01)

##GETS model selection of the mean with the mean intercept
##excluded from removal:
meanmod02 <- getsm(gum01, keep=1)

##GETS model selection of the mean with non-default
#serial-correlation diagnostics settings:
meanmod03 <- getsm(gum01, ar.LjungB=list(pval=0.05))

##GETS model selection of the mean with very liberal
##(20 percent) significance levels:
meanmod04 <- getsm(gum01, t.pval=0.2)

##GETS model selection of log-variance with all the
##log-ARCH terms excluded from removal:
varmod03 <- getsv(gum01, keep=2:4)

Run the code above in your browser using DataLab