Johansen cointegration tests
[result]=johansen(k,arg1,...,argn)
* k= number of lagged difference terms used when computing the estimator
* argi= arguments which can be:
- a time series
- a real (nx1) vector
- a string equal to the name of a time series or a (nx1) real vector between quotes
- the string 'exo_st=exo_st1,exo_st2,...exo_stn' where exo_sti is the name of an exogenous variable to be added to the short run dynamic of the VAR
- the string 'exo_lt=exo_lt1,exo_lt2,...exo_ltn' where exo_lti is the name of an exogenous variable to be added to the cointegrating vectors
- the string 'NBoot=n' where n is the number of bootstrap draws (default: 999)
- the string 'max_nonzeros=n' where n is the maximum number of zeros a variable must have to be considered as a dummy (default: 4)
- the string 'stat_meth=asym' if the user wants to use asymptotic critical tables instead of the bootstrapped default ones
- the string 'noprint' if the user doesn't want to print the results of the regression
- the string 'dropna' if the user wants to remove the NA values from the data
* result = a results tlist:
-result('namey') = the name of the variables (m x 1)
-result('y') = matrix of values for the variables (m x 1)
-result('namexo_lt') = the name of the exogenous variables in the cointegrating vectors
-result('exo_lt') = the matrix of the exogenous variables in the cointegrating vectors
-result('namexo_st') = the name of the exogenous variables in the short run dynamicS of the VAR
-result('exo_st') = the matrix of the exogenous variables in the short run dynamicS of the VAR
-result('dy') = the matrix of the differentiated endogenous variables
-result('exo') = the matrix of the variables in the short run dynamics (lagged diffErentiated endogenous variables + short run exogenous variables)
-result('lagy') = the matrix of the variables in the cointegrating relations (lagged endogenous variables + long run exogenous variables)
-result('nobs') = # of observations
-result('nvar') = # of variables
-result('nlags') = # of lags of the VAR
-result('eig') = eigenvalues (m x 1)
-result('evec') = eigenvectors (m x m)
-result('pi') = coefficients of the short run dynamics
-result('lr1') = likelihood ratio trace statistic for r=0 to m-1 (m x 1) vector
-result('lr2') = maximum eigenvalue statistic for r=0 to m-1 (m x 1) vector
-result('dropna') = boolean indicating if NAs have been dropped
-result('nonna') = vector indicating position of non-NA values (if the option 'dropna' was active)
-result('max non zeros') = maximum number of zeros a variable had to be considered as a dummy
-result('NBoot') = # of bootstrap draws
-result('alpha') = value of the error correction coefficients
-result('cvt') = critical values for trace statistic (m x 3) vector [90% 95% 99%]
-result('cvm') = critical values for max eigen value statistic (3 x m) vector [90% 95% 99%]
-result('p trace') = p-value for the trace statistic calculated with the standard bootstrap method
-result('p lmax') = p-value for the lambda-max statistic calculated with the standard bootstrap method
-result('p double trace') = p-value for the trace statistic calculated with the double bootstrap method
-result('p double lmax') = p-value for the lambda-max statistic calculated with the double bootstrap method
-result('prests') = boolean indicating the presence or absence of a time series in the regression
-result('bounds') = if there is a time series in the regression, the bounds of the regression
load(GROCERDIR+'\data\juselius.dat') // create dummies used for regression p.111-112 post83q1=dummy(['1973q1';'2003q1'],['1983q1';'2003q1']); dum75q4=dummy(['1973q1';'2003q1'],'1975q4')-0.5*dummy(['1973q1';'2003q1'],['1976q1';'1976q2']); dum76q4=dummy(['1973q1';'2003q1'],'1976q4'); dum83q2=dummy(['1973q1';'2003q1'],'1983q2'); dum83q1=dummy(['1973q1';'2003q1'],'1983q1'); rj1=johansen(1,'dnk_Lm3rC','dnk_Lyr','dnk_DLpy','dnk_Rm','dnk_Rb','exo_lt=trend^1;post(1983q1)','exo_st=const;dum75q4;dum76q4;dum83q1') // Example taken from function johansen_d(). The number of lags in the VAR is set to 1. // The endogenous variables are 'dnk_Lm3rC','dnk_Lyr','dnk_DLpy','dnk_Rm','dnk_Rb'. // There are 2 exogenous variables in the cointegration space: a trend and a dummy (post(1983q1). // There are 4 exogenous variables in the short run dynamic: a constant and 3 dummies. load(GROCERDIR+'/data/datajpl.dat') [result] = johansen(9,'illinos','indiana','kentucky','michigan','ohio','pennsyvlania','tennesse', 'westvirginia','stat_meth=asym','exo_st=const') // Example with asymptotic critical tables, allowing to recover James Le Sage (http://www.spatial-econometrics.com/html/mbook.pdf) example. | ![]() | ![]() |