|
Nonlinear time series models have been recently explored by many authors. These models became important especially in analyzing financial and economic time series with underlying theoretical models that contain nonlinear relations. Several nonlinear models are implemented in XploRe with special focus on estimating and testing in ARCH and GARCH models which are often used in financial applications.
We speak about a threshold model if the parameters of the model depend on the
state of the observed system (random process). In building these models, the real line
(please note that we are concerned only with univariate time series here) is
divided into parts by the set of ordered values
(these values are
called the threshold parameters). Depending on which interval
contains the
value
the
th set of parameters is used to generate
.
The parameter
is then
called a delay parameter.
The zero mean threshold AR(
) process (TAR(
) process) then may be
introduced by the equation
The threshold AR() may be generated in
XploRe
using
gentar
, which
has the following syntax:
y = gentar(nr,thrlag,thr,phi,noise)where
The following example generates and displays 250 observations of the process
![]() |
![]() |
![]() |
|
![]() |
![]() |
y=gentar(2,1,0,#(0.6,0.4), normal(250)) timeplot(y)
The class of exponential autoregressive (EAR()) models with the lag
is characterized by the
relation
The EAR() process may be generated in
XploRe
using
genexpar
, which
has the following syntax:
y = genexpar(thrlag,gamma,phi0,phi1,noise)where
The following example generates and displays 250 observations of an
EAR() process:
y=genexpar(1,0.1,0.3|0.6, 2.2|-0.8,normal(250)) timeplot(y)
We speak about bilinear model if the process is driven by the relation
The bilinear model may be generated in
XploRe
using
genbil
, which
has the following syntax:
y = genbil(phi,psi,gamma,noise)where
The following example generates and displays 250 observations of a bilinear process, the resulting plot is shown in Figure 9.7.
y=genbil(0.5|0.2, 0.3|-0.3, 0.8|0|0|0.3,normal(250)) timeplot(y)
Based on the article Grassberger and Procaccia (1983),
gpplot
implements the Grassberger-Procaccia plot
of time series. This function is applied as follows:
x=normal(100) d=gpplot(x,2,10)
A family of models with conditional heteroscedasticity is lately very popular especially among econometricians analyzing financial time series. This family may be introduced by a general formula
The class of ARCH models represents the conditional variance
at time
as a function of the past squared disturbances
An GARCH process can be generated using
genarch
,
which has the following syntax:
y = genarch(a,b,n)where
In the following example, 250 observations of a GARCH(1,1) process are generated and displayed:
a = #(1,0.45) ; AR part of GARCH errors b = #(0.5) ; MA part of GARCH errors y = genarch(a,b,250)
The displayed time series shows that the GARCH process is characterized by the clustering of large deviating observations. This occurs typically in financial time series.
We can verify that the generated series is leptokurtic by evaluating its
kurtosis with the command
kurtosis
(y) which yields
the following output:
Contents of k [1,] 7.1956This value is greater than the kurtosis of the Gaussian distribution, i.e. 3. This feature is common to all ARCH and GARCH processes.
ARCH/GARCH models are estimated in the time domain by the maximum likelihood method. This implies that we have to make an assumption about the distribution of the error terms. Usually the assumption of normality is sufficient and simplifies the estimation procedure. However, in some cases, this normality assumption is not sufficient for capturing the leptokurtosis of the sample under investigation. In that case we have to resort to other fat tailed distributions, such as the Student or the generalized exponential distribution.
Under the assumption of Gaussian innovations,
we can estimate the parameters of a GARCH process using
archest
. Its syntax is as follows:
z = archest(y,q,p)where
z = archest(y,1,1)
The quantlet
archest
estimates the parameters, their standard errors, and stores
them in the form of a list. The first element of the list, z{1}
contains the set of parameters, the second element of the list,
z{2} contains the standard errors of estimates.
Typing z{1} yields
the parameter estimates
[1,] 1.9675 [2,] 0.40522 [3,] 0.42373Typing z{2} returns the estimated standard errors
[1,] 0.57227 [2,] 0.07518 [3,] 0.077201Note that
We test for ARCH effects by investigating whether the components of the autoregressive lag polynomial are all equal to zero. Two formulations for a test for ARCH are usually considered:
The
XploRe
quantlet
archtest
performs these two tests. Its
syntax is
h = archtest(y {,lags {,testform}})where
In our generated sample of observations, we test for ARCH with the command
archtest(y,"TR2")This calculates the
[1,] Lag order Statistic 95% Critical Value P-Value [2,] __________________________________________________ [3,] [4,] 2 85.45238 5.97378 0.00000 [5,] 3 105.05328 7.80251 0.00000 [6,] 4 104.68014 9.47844 0.00000 [7,] 5 105.15906 11.06309 0.00000We recommend to consult the APSS help file of
Kamstra (1993), Caulet and Péguin-Feissolle (1997) and Péguin-Feissolle (1999) consider a general nonparametric test for ARCH based on neural networks, in the spirit of the Lee, White and Granger (1993) nonlinearity test presented above. Caulet and Péguin-Feissolle (1997) consider the following parameterization of the conditional variance
The quantlet
annarchtest
evaluates the Lagrange multiplier form
and the
form for the specification (9.1). Its syntax
is
h = annarchtest(y, {,nlags {,nodes {,testform}}})where
We calculate the test for ARCH based on neural networks with the command
annarchtest(y)This returns
[1,] Lag order Nb of hidden Statistic 95% Critical Value P-Value [2,] units [3,] ______________________________________________________________ [4,] [5,] 2 3 26.56036 5.97378 0.00000 [6,] 3 3 60.80811 7.80251 0.00000 [7,] 4 3 14.44156 9.47844 0.00601 [8,] 5 3 27.32019 11.06309 0.00005