@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 nonzero 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 SeriesCointegration Test Wizard and one of the estimators in the Time SeriesCointegration 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 LAGS1 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(1lambda) and Trace Test
Roots Rank EigVal Lambdamax Trace Trace95%
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
