setar: Self Threshold Autoregressive model

View source: R/setar.R

SETARR Documentation

Self Threshold Autoregressive model

Description

Self Exciting Threshold AutoRegressive model.

Usage

setar(x, m, d=1, steps=d, series, mL, mM, mH, thDelay=0, mTh, thVar, th, trace=FALSE, 
      nested=FALSE, include = c( "const", "trend","none", "both"), 
      common=c("none", "include","lags", "both"), model=c("TAR", "MTAR"), ML=seq_len(mL), 
      MM=seq_len(mM), MH=seq_len(mH),nthresh=1,trim=0.15, type=c("level", "diff", "ADF"),
      restriction=c("none","OuterSymAll","OuterSymTh") )

Arguments

x

time series

m, d, steps

embedding dimension, time delay, forecasting steps

series

time series name (optional)

mL, mM, mH

autoregressive order for ‘low’ (mL) ‘middle’ (mM, only useful if nthresh=2) and ‘high’ (mH)regime (default values: m). Must be <=m. Alternatively, you can specify ML

thDelay

'time delay' for the threshold variable (as multiple of embedding time delay d)

mTh

coefficients for the lagged time series, to obtain the threshold variable

thVar

external threshold variable

th

threshold value (if missing, a search over a reasonable grid is tried)

trace

should additional infos be printed? (logical)

include

Type of deterministic regressors to include

common

Indicates which elements are common to all regimes: no, only the include variables, the lags or both

ML, MM, MH

vector of lags for order for ‘low’ (ML) ‘middle’ (MM, only useful if nthresh=2) and ‘high’ (MH)regime. Max must be <=m

model

Whether the threshold variable is taken in levels (TAR) or differences (MTAR)

nthresh

Number of threshold of the model

trim

trimming parameter indicating the minimal percentage of observations in each regime. Default to 0.15

type

Whether the variable is taken is level, difference or a mix (diff y= y-1, diff lags) as in the ADF test

restriction

Restriction on the threshold. OuterSymAll will take a symmetric threshold and symmetric coefficients for outer regimes. OuterSymTh currently unavailable

nested

Whether is this a nested call? (useful for correcting final model df)

Details

Self Exciting Threshold AutoRegressive model.

X_{t+s} = x_{t+s} = ( \phi_{1,0} + \phi_{1,1} x_t + \phi_{1,2} x_{t-d} + \dots + \phi_{1,mL} x_{t - (mL-1)d} ) I( z_t \leq th) + ( \phi_{2,0} + \phi_{2,1} x_t + \phi_{2,2} x_{t-d} + \dots + \phi_{2,mH} x_{t - (mH-1)d} ) I(z_t > th) + \epsilon_{t+steps}

with z the threshold variable. The threshold variable can alternatively be specified by (in that order):

thDelay

z[t] = x[t - thDelay*d ]

mTh

z[t] = x[t] mTh[1] + x[t-d] mTh[2] + ... + x[t-(m-1)d] mTh[m]

thVar

z[t] = thVar[t]

For fixed th and threshold variable, the model is linear, so phi1 and phi2 estimation can be done directly by CLS (Conditional Least Squares). Standard errors for phi1 and phi2 coefficients provided by the summary method for this model are taken from the linear regression theory, and are to be considered asymptotical.

Value

An object of class nlar, subclass setar

Author(s)

Antonio, Fabio Di Narzo

References

Non-linear time series models in empirical finance, Philip Hans Franses and Dick van Dijk, Cambridge: Cambridge University Press (2000).

Non-Linear Time Series: A Dynamical Systems Approach, Tong, H., Oxford: Oxford University Press (1990).

See Also

plot.setar for details on plots produced for this model from the plot generic.

Examples

#fit a SETAR model, with threshold as suggested in Tong(1990, p 377)
mod.setar <- setar(log10(lynx), m=2, thDelay=1, th=3.25)
mod.setar
summary(mod.setar)

## example in Tsay (2005)
data(m.unrate)
setar(diff(m.unrate), ML=c(2,3,4,12), MH=c(2,4,12), th=0.1, include="none")

tsDyn documentation built on Oct. 31, 2024, 5:08 p.m.