RATS 10.1
RATS 10.1

Procedures /

JOHMLE Procedure

Home Page

← Previous Next →

@JOHMLE does basic tests for cointegration using the Johansen ML technique. This is a very small subset of what the CATS package of procedures can do. See Johansen(1995) or Juselius(2006) for more on the theory.

 

If the residuals in a VAR

 

\({\bf{y}}_t  = \sum\limits_{s = 1}^L {\Phi _s {\bf{y}}_{t - s} }  + {\bf{u}}_t \)

 

are assumed to be i.i.d. Normal, the likelihood ratio analysis of the rank of the \(\Pi\) matrix in the rearranged VAR:

 

\(\Delta {\bf{y}}_t  = \sum\limits_{s = 1}^{L - 1} {\Phi _s^* \Delta {\bf{y}}_{t - s} }  + \Pi {\bf{y}}_{t - 1}  + {\bf{u}}_t \)

 

can be reduced to a generalized eigenvalue analysis. Note that the eigenvalues of that subproblem are not directly related to the roots of the VAR as a dynamic process: they are used solely for inference on the rank of \(\Pi\), which is equal to the number of cointegrating relationships. There are several options for handling deterministic terms, allowing for non-zero means and linear trends in the series.

 

@JohMLE( options)   start end

# list of endogenous variables

Wizards

This is included as one of the tests in the Time Series-Cointegration Test Wizard and one of the estimators in the Time Series-Cointegration Estimation Wizard.

Parameters

start , end

estimation range. By default, the maximum common range of the endogenous variables allowing for lags.

Options

LAGS=# of lags in the VAR(which means LAGS-1 on the differences)

 

DET=NONE/[CONSTANT]/TREND/RC/RTREND

Selects the deterministic variables in the VAR. CONSTANT and TREND are in the model but not the CV (cointegrating vector). RC restricts a constant to the CV so there are no trends in the model. RTREND restricts the trend to the CV, so there are no quadratic trends.

 

DET=CONSTANT corresponds to the CATS DETTREND=DRIFT. DET=RC is the CATS DETTREND=CIMEAN. DET=RTREND is the CATS DETTREND=CIDRIFT. (CATS does not include an option equivalent to DET=TREND, which would be a very rare choice since it allows for quadratic trends).
 

SEASONAL/[NOSEASONAL]

SEASONAL includes seasonal dummies as deterministics.

 

RANK=assumed rank of the cointegration space [number of variables]

If you are using @JOHMLE to estimate the cointegrating space, you can use this to set the rank. This affects the dimensions of the VECTORS, DUALVECTORS and LOADINGS matrices.

 

ECT=VECT[EQUATION] of equations describing the cointegrating vectors

You can use this to define a VECT[EQUATION] with the cointegrating relations. This can be used directly in the ECT subcommand used in defining and estimating a VECM.

 

CV=(output) ML estimator for a single cointegrating vector [not used]

VECTORS=(output) matrix of (column) eigenvectors

EIGENVALUES=(output) VECTOR of eigenvalues

DUALVECTORS=(output) RECTANGULAR matrix of eigenvectors of the dual problem

LOADINGS=(output) RECTANGULAR matrix of loadings ("alpha") of the cointegration vectors.

TRACETESTS=(output) VECTOR of trace test statistics

Variables Defined

%LOGL

Log likelihood of the unrestricted VAR, unless you use the RANK option, when it will be the log likelihood for the model with the chosen rank.

%NOBS

number of observations

%NVAR

number of variables

%SIGMA

Covariance matrix of residuals of model in 1st differences only.

Examples

This (from the example program ECT.RPF) tests cointegration for a set of three Treasury yields. This uses DET=RC (restricted constant), since the yields have no trend. It saves the first eigenvector into CVECTOR. According to the output, the cointegrating rank seems to be 1, as reading from top to bottom, r=0 is rejected, but r=1 is accepted.

 

@johmle(lags=6,det=rc,cv=cvector)

# ftbs3 ftb12 fcm7
 

 

This estimates an unrestricted VAR, then uses @JOHMLE to estimate one cointegrating vector and uses that to estimate a VECM.

 

system(model=usdata)

variables logm1 logy rd rb

lags 1 2

det constant

end(system)

estimate

compute sigmaols=%sigma

*

@johmle(lags=2,det=constant,cv=beta)

# logm1 logy rd rb

*

equation(coeffs=beta) ecteq *

# logm1 logy rd rb

*

system(model=vecm)

variables logm1 logy rd rb

lags 1 2

det constant

ect ecteq

end(system)

Sample Output

This is the output from the first example.


 

Likelihood Based Analysis of Cointegration

Variables:  FTBS3 FTB12 FCM7

Estimated from 1975:07 to 2001:06

Data Points 312 Lags 6 with Constant restricted to Cointegrating Vector

 

Unrestricted eigenvalues, -T log(1-lambda) and Trace Test

  Roots     Rank    EigVal   Lambda-max  Trace  Trace-95%

        3        0    0.0818    26.6264 41.2013   34.8000

        2        1    0.0333    10.5567 14.5750   19.9900

        1        2    0.0128     4.0183  4.0183    9.1300


Cointegrating Vector for Largest Eigenvalue

FTBS3     FTB12    FCM7      Constant

-3.154123 3.132882 -0.321838   0.619010


 


Copyright © 2024 Thomas A. Doan