Multivariate Threshold Autoregressive model

Description

Estimate a multivariate Threshold VAR

Usage

1
2
3
4
5
TVAR(data, lag, include = c("const", "trend", "none", "both"),
  model = c("TAR", "MTAR"), commonInter = FALSE, nthresh = 1,
  thDelay = 1, mTh = 1, thVar, trim = 0.1, ngrid, gamma = NULL, around,
  plot = FALSE, dummyToBothRegimes = TRUE, trace = TRUE, trick = "for",
  max.iter = 2)

Arguments

data

time series

lag

Number of lags to include in each regime

include

Type of deterministic regressors to include

model

Whether the transition variable is taken in levels (TAR) or difference (MTAR)

commonInter

Whether the deterministic regressors are regime specific (commonInter=FALSE) or not.

nthresh

Number of thresholds

thDelay

'time delay' for the threshold variable (as multiple of embedding time delay d) PLEASE NOTE that the notation is currently different to univariate models in tsDyn. The left side variable is taken at time t, and not t+1 as in univariate cases.

mTh

combination of variables with same lag order for the transition variable. Either a single value (indicating which variable to take) or a combination

thVar

external transition variable

trim

trimming parameter indicating the minimal percentage of observations in each regime

ngrid

number of elements of the grid, especially for nthresh=3

gamma

prespecified threshold values

around

The grid search is restricted to ngrid values around this point. Especially useful for nthresh=3.

plot

Whether a plot showing the results of the grid search should be printed

dummyToBothRegimes

Whether the dummy in the one threshold model is applied to each regime or not.

trace

should additional infos be printed out?

trick

type of R function called: for or mapply

max.iter

Number of iterations for the algorithm

Details

For fixed th and threshold variable, the model is linear, so estimation can be done directly by CLS (Conditional Least Squares). The search of the parameters values is made upon a grid of potential values. So it is pretty slow.

nthresh=1: estimation of one threshold model (two regimes) upon a grid of ngrid values (default to ALL) possible thresholds and delays values.

nthresh=2: estimation of two thresholds model (three regimes) Conditional on the threshold found in model where nthresh=1, the second threshold is searched. When both are found, a second grid search is made with 30 values around each threshold.

nthresh=3: DOES NOT estimate a 3 thresholds model, but a 2 thresholds model with a whole grid over the thresholds parameters (so is really slow) with a given delay, is there rather to check the consistency of the method nthresh=2

Value

An object of class TVAR, with standard methods.

Author(s)

Matthieu Stigler

References

Lo and Zivot (2001) "Threshold Cointegration and Nonlinear Adjustment to the Law of One Price," Macroeconomic Dynamics, Cambridge University Press, vol. 5(4), pages 533-76, September.

See Also

lineVar for the linear VAR/VECM, TVAR.LRtest to test for TVAR, TVAR.sim to simulate/bootstrap a TVAR.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
data(zeroyld)

data<-zeroyld

TVAR(data, lag=2, nthresh=2, thDelay=1, trim=0.1, mTh=1, plot=TRUE)

##The one threshold (two regimes) gives a value of 10.698 for the threshold and 1 for the delay.
#Conditional on this values, the search for a second threshold (three regimes) gives 8.129.
#Starting from this values, a full grid search finds the same values and confims
#the first step estimation.

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.