In the previous article, Johansen cointegration test revealed the cointegration between time series Gross Domestic Product (GDP), Private Final Consumption (PFC) and Gross Fixed Capital Formation (GFC), containing up to two cointegrating equations. Therefore, unrestricted Vector Auto Regression (VAR) is not applicable in such cases. Vector Error Correction Model (VECM) is a special case of VAR which takes into account the cointegrating relations among the variables.
Vector Error Correction Model (VECM) in STATA
To start with VECM, follow these steps:
 Click on ‘Statistics’ in the main tab
 Select ‘Multivariate Time Series’
 Select ‘Vector ErrorCorrection Model’
The ‘vec’ dialogue box will appear as shown in the figure below. Fill three options; ‘Dependent variables’, ‘Number of cointegrating equations’ and ‘Maximum lag’.
In ‘Dependent variables’ select ‘gdp’, ‘gfc’ and ‘pfc’, using the dropdown menu. In ‘Number of cointegrating equations (rank)’, select ‘2’, since the previous article showed two cointegrating equations using the Johansen cointegration test. Finally in ‘Maximum lag to be included’, select ‘8’, as the previous article showed 8 lags. Click on ‘OK’.
The results will appear as shown in the figure below. Since this case has 8 lags and two equations, the results are lengthy. For more clarity, the explanation is broken down into parts.
Part I of results of VECM in STATA
This contains the STATA command showing in the result window with information about all the variables as shown in the figure below. For instance, VECM has taken the first difference of these variables, such that they are represented as D_gdp, D_gfc, and D_pfc. Further, the Rsquare value of all three variables are good enough to justify their causality, and p values close to zero also indicates significance.
Part II of VECM in STATA
This part of the result shows the regression equations by taking ‘D_gdp’ as dependent and lagged values of GFC and PFC as independent variables as shown in the figure below. The interpretation is as follows:
 ‘ce1’ and ‘ce2’ represent two cointegrating equations. To ascertain the longterm causality between GDP and PFC and GFC, the ‘ce1’ and ‘ce2’ have to show a negative coefficient and a significant pvalue. As the figure below shows, both the equations do not have negative coefficient but ‘ce2’ has a significant pvalue of 0.011. Since all two conditions are missing here, this VECM do not show any longterm causality between GDP and the other two variables PFC and GFC.
 Furthermore, to examine the shortterm causality between variables, see individual lag coefficients and p values for each independent variable (figure below). Thus this part explains the lagged values of GFC and PFC for GDP. As per the result, the only 1^{st} lag of GFC is significant (pvalue is 0.00), apart from that no other lag, even of PFC have no significance level. That means the only first lag of GFC has a shortterm causality with GDP.
Part III of VECM in STATA
Similarly, the results of VECM go forward by assuming each of remaining variable as dependent and other as the independent. For instance, ‘D_gfc’ is dependent and ‘D_pfc’ is independent (figures below).
 In the case of GFC, a longterm causality from GDP and PFC to GFC is noticeable because ‘ce2’ equation, in this case, has both negative coefficient and significant pvalue.
 A shortterm causality is evident only in case of PFC that too on seventh lag with significant p values 0.000.
 In case of PFC, a longterm causality from GFC and GDP to PFC is absent as both ‘ce1’ and ‘ce2’ equations, in this case, have both nonnegative coefficient and insignificant pvalue.
 In the case of PFC, a shortterm causality is evident in case of 1^{st} lag of GFC and GDP with significant p values 0.000.
To ensure whether the VECM is correctly specified or not, a set of diagnostics tests such as tests for normality, serial correlation and heteroskedasticity need to be performed. The next article will show how to conduct these diagnostics tests in STATA.
How to perform Granger causality test in STATA?  How to test and diagnose VECM in STATA? 
Divya Dhuria
Latest posts by Divya Dhuria (see all)
 How to identify ARCH effect for time series analysis in STATA?  October 4, 2018
 How to test and diagnose VECM in STATA?  October 4, 2018
 VECM in STATA for two cointegrating equations  September 27, 2018
Hi,
Thanks for the detail explanation. Great job.
There are many resources in the net about these tests but only a few provide explanations. You did a great job. I am wondering if you could help the reader with a publication like table for unit root tests, lag selection, cointegration, and vecm test so that it will be so easier to run and summarize results.
Hi HP,
Thanks for your comment. We have already published articles on how to do unit root test, lag selection, cointegration, and vecm test. Each of those articles also includes the output as produced by STATA. If you need to summarize results, either you can copy the output tables first to excel and then import them to a word document. But it often does not give you the right alignment or formatting. For a better way to summarize results, you can use the command “outreg2”. For that, first, install the comment in STATA, then copy and paste your output tables in a word document and finally run the command. Refer to this link for how to use this command.
https://www.princeton.edu/~otorres/Outreg2.pdf
Hope it helps.
Thank you.
Johansen tests for cointegration
Trend: constant Number of obs = 34
Sample: 5 – 38 Lags = 4
——————————————————————————
5%
maximum trace critical
rank parms LL eigenvalue statistic value
0 114 65.153897 . 207.3882 94.15
1 125 13.512973 0.95206 104.1063 68.52
2 134 9.1839255 0.73687 58.7125 47.21
3 141 24.124265 0.58474 28.8318* 29.68
4 146 32.964474 0.40549 11.1514 15.41
5 149 38.016635 0.25709 1.0471 3.76
6 150 38.540188 0.03033
————————————————————————
can I say there cointigration? when I have tested stability it is not stable and not normal so what can I do to have stable out put
Yes. There is cointegration if the max statistic is greater than the critical value at 0. However for stability, you will have to conduct differencing of those variables. Refer to this link for doing so https://www.projectguru.in/publications/lagselectionstationarityvarthreevariablesstata/.
I thank you very much for your response but I have attempted to do stability test and I have got the result of it. Also please the following result and see whether it has long term and short term relationship and also normality.
AIC = 2.399748
Log likelihood = 30.39534 HQIC = 2.614638
Det(Sigma_ml) = 3.56e06 SBIC = 3.009285
Equation Parms RMSE Rsq chi2 P>chi2
—————————————————————
D_LCDT 2 .164031 0.4397 27.46918 0.0000
D_LEpnd 2 .120953 0.6194 56.94922 0.0000
D_LGrant 2 .378515 0.1601 6.672735 0.0356
D_LRGDP 2 .128568 0.2534 11.88228 0.0026
D_Lopns 2 3.11808 0.1337 5.400241 0.0672
—————————————————————
——————————————————————————
 Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
D_LCDT 
_ce1 
L1.  .0677391 .0586611 1.15 0.248 .0472345 .1827128

_cons  .134283 .0271441 4.95 0.000 .0810815 .1874844
————+—————————————————————
D_LEpnd 
_ce1 
L1.  .1363515 .0432553 3.15 0.002 .0515727 .2211303

_cons  .1291361 .0200154 6.45 0.000 .0899067 .1683656
————+—————————————————————
D_LGrant 
_ce1 
L1.  .2432827 .1353649 1.80 0.072 .508593 .0220275

_cons  .1283122 .062637 2.05 0.041 .0055459 .2510785
————+—————————————————————
D_LRGDP 
_ce1 
L1.  .0068975 .0459785 0.15 0.881 .0970137 .0832187

_cons  .0731539 .0212755 3.44 0.001 .0314547 .1148531
————+—————————————————————
D_Lopns 
_ce1 
L1.  2.57387 1.115092 2.31 0.021 .388329 4.75941

_cons  .0019491 .5159836 0.00 0.997 1.00936 1.013258
——————————————————————————
Cointegrating equations
Equation Parms chi2 P>chi2
——————————————
_ce1 4 346.3087 0.0000
——————————————
Identification: beta is exactly identified
Johansen normalization restriction imposed
——————————————————————————
beta  Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
_ce1 
LCDT  1 . . . . .
LEpnd  2.482578 .4359987 5.69 0.000 3.33712 1.628036
LGrant  1.178082 .2423768 4.86 0.000 .7030325 1.653132
LRGDP  1.110874 .6505622 1.71 0.088 .1642045 2.385953
Lopns  .056375 .0174486 3.23 0.001 .0905737 .0221763
_cons  3.983634 . . . . .
——————————————————————————
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vec LCDT LEpnd LGrant LRGDP Lopns,lags(1)rank (1) noetable
Vector errorcorrection model
Sample: 2 – 38 Number of obs = 37
AIC = 2.399748
Log likelihood = 30.39534 HQIC = 2.614638
Det(Sigma_ml) = 3.56e06 SBIC = 3.009285
Cointegrating equations
Equation Parms chi2 P>chi2
——————————————
_ce1 4 346.3087 0.0000
——————————————
Identification: beta is exactly identified
Johansen normalization restriction imposed
——————————————————————————
beta  Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
_ce1 
LCDT  1 . . . . .
LEpnd  2.482578 .4359987 5.69 0.000 3.33712 1.628036
LGrant  1.178082 .2423768 4.86 0.000 .7030325 1.653132
LRGDP  1.110874 .6505622 1.71 0.088 .1642045 2.385953
Lopns  .056375 .0174486 3.23 0.001 .0905737 .0221763
_cons  3.983634 . . . . .
——————————————————————————
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vec LCDT LEpnd LGrant LRGDP Lopns,lags(1)rank (1) noetable
Vector errorcorrection model
Sample: 2 – 38 Number of obs = 37
AIC = 2.399748
Log likelihood = 30.39534 HQIC = 2.614638
Det(Sigma_ml) = 3.56e06 SBIC = 3.009285
Cointegrating equations
Equation Parms chi2 P>chi2
——————————————
_ce1 4 346.3087 0.0000
——————————————
Identification: beta is exactly identified
Johansen normalization restriction imposed
——————————————————————————
beta  Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
_ce1 
LCDT  1 . . . . .
LEpnd  2.482578 .4359987 5.69 0.000 3.33712 1.628036
LGrant  1.178082 .2423768 4.86 0.000 .7030325 1.653132
LRGDP  1.110874 .6505622 1.71 0.088 .1642045 2.385953
Lopns  .056375 .0174486 3.23 0.001 .0905737 .0221763
_cons  3.983634 . . . . .
——————————————————————————
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vec LCDT LEpnd LGrant LRGDP Lopns,lags(1)rank (1) nobtable
Vector errorcorrection model
Sample: 2 – 38 Number of obs = 37
AIC = 2.399748
Log likelihood = 30.39534 HQIC = 2.614638
Det(Sigma_ml) = 3.56e06 SBIC = 3.009285
Equation Parms RMSE Rsq chi2 P>chi2
—————————————————————
D_LCDT 2 .164031 0.4397 27.46918 0.0000
D_LEpnd 2 .120953 0.6194 56.94922 0.0000
D_LGrant 2 .378515 0.1601 6.672735 0.0356
D_LRGDP 2 .128568 0.2534 11.88228 0.0026
D_Lopns 2 3.11808 0.1337 5.400241 0.0672
—————————————————————
——————————————————————————
 Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
D_LCDT 
_ce1 
L1.  .0677391 .0586611 1.15 0.248 .0472345 .1827128

_cons  .134283 .0271441 4.95 0.000 .0810815 .1874844
————+—————————————————————
D_LEpnd 
_ce1 
L1.  .1363515 .0432553 3.15 0.002 .0515727 .2211303

_cons  .1291361 .0200154 6.45 0.000 .0899067 .1683656
————+—————————————————————
D_LGrant 
_ce1 
L1.  .2432827 .1353649 1.80 0.072 .508593 .0220275

_cons  .1283122 .062637 2.05 0.041 .0055459 .2510785
————+—————————————————————
D_LRGDP 
_ce1 
L1.  .0068975 .0459785 0.15 0.881 .0970137 .0832187

_cons  .0731539 .0212755 3.44 0.001 .0314547 .1148531
————+—————————————————————
D_Lopns 
_ce1 
L1.  2.57387 1.115092 2.31 0.021 .388329 4.75941

_cons  .0019491 .5159836 0.00 0.997 1.00936 1.013258
——————————————————————————
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vec LCDT LEpnd LGrant LRGDP Lopns,lag(2)rank (1)
Vector errorcorrection model
Sample: 3 – 38 Number of obs = 36
AIC = 2.804347
Log likelihood = 11.47824 HQIC = 3.403095
Det(Sigma_ml) = 1.30e06 SBIC = 4.519826
Equation Parms RMSE Rsq chi2 P>chi2
—————————————————————
D_LCDT 7 .178226 0.4397 22.7582 0.0019
D_LEpnd 7 .112423 0.7265 77.01659 0.0000
D_LGrant 7 .354822 0.3877 18.36007 0.0104
D_LRGDP 7 .129923 0.3683 16.90535 0.0180
D_Lopns 7 3.16823 0.2577 10.06795 0.1848
—————————————————————
——————————————————————————
 Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
D_LCDT 
_ce1 
L1.  .0564224 .0707425 0.80 0.425 .1950752 .0822304

LCDT 
LD.  .0698024 .2275522 0.31 0.759 .3761916 .5157965

LEpnd 
LD.  .0972834 .2407466 0.40 0.686 .3745712 .5691381

LGrant 
LD.  .0251761 .0802288 0.31 0.754 .1824217 .1320694

LRGDP 
LD.  .328565 .4310464 0.76 0.446 .5162705 1.1734

Lopns 
LD.  .0047569 .0107492 0.44 0.658 .0163112 .025825

_cons  .1235277 .0483707 2.55 0.011 .0287228 .2183326
————+—————————————————————
D_LEpnd 
_ce1 
L1.  .1734465 .0446235 3.89 0.000 .0859862 .2609069

LCDT 
LD.  .044177 .1435369 0.31 0.758 .3255042 .2371501

LEpnd 
LD.  .076646 .1518598 0.50 0.614 .2209937 .3742856

LGrant 
LD.  .1050035 .0506073 2.07 0.038 .005815 .2041919

LRGDP 
LD.  .665257 .2718984 2.45 0.014 1.198168 .132346

Lopns 
LD.  .0063684 .0067805 0.94 0.348 .0069211 .0196578

_cons  .0693701 .0305116 2.27 0.023 .0095685 .1291718
————+—————————————————————
D_LGrant 
_ce1 
L1.  .2509111 .1408383 1.78 0.075 .0251269 .526949

LCDT 
LD.  .6066396 .4530238 1.34 0.181 .2812708 1.49455

LEpnd 
LD.  .1620136 .4792921 0.34 0.735 1.101409 .7773816

LGrant 
LD.  .3765547 .1597241 2.36 0.018 .6896081 .0635013

LRGDP 
LD.  1.844968 .8581518 2.15 0.032 3.526915 .1630213

Lopns 
LD.  .001615 .0214001 0.08 0.940 .0435585 .0403285

_cons  .0891856 .0962992 0.93 0.354 .0995574 .2779285
————+—————————————————————
D_LRGDP 
_ce1 
L1.  .0764743 .0515697 1.48 0.138 .0246005 .177549

LCDT 
LD.  .1907902 .1658804 1.15 0.250 .5159098 .1343293

LEpnd 
LD.  .2469228 .1754988 1.41 0.159 .0970486 .5908941

LGrant 
LD.  .0269571 .058485 0.46 0.645 .0876713 .1415856

LRGDP 
LD.  .2205035 .3142231 0.70 0.483 .8363694 .3953624

Lopns 
LD.  .0035621 .0078359 0.45 0.649 .0117961 .0189202

_cons  .036443 .0352612 1.03 0.301 .0326677 .1055536
————+—————————————————————
D_Lopns 
_ce1 
L1.  2.250422 1.257553 1.79 0.074 4.715181 .2143374

LCDT 
LD.  5.360883 4.045077 1.33 0.185 2.567323 13.28909

LEpnd 
LD.  .5193796 4.279628 0.12 0.903 8.907296 7.868537

LGrant 
LD.  2.92722 1.426186 2.05 0.040 .131947 5.722493

LRGDP 
LD.  5.600819 7.66249 0.73 0.465 9.417385 20.61902

Lopns 
LD.  .041468 .1910831 0.22 0.828 .4159839 .333048

_cons  .0134316 .8598615 0.02 0.988 1.671866 1.698729
——————————————————————————
Cointegrating equations
Equation Parms chi2 P>chi2
——————————————
_ce1 4 197.9077 0.0000
——————————————
Identification: beta is exactly identified
Johansen normalization restriction imposed
——————————————————————————
beta  Coef. Std. Err. z P>z [95% Conf. Interval]
————+—————————————————————
_ce1 
LCDT  1 . . . . .
LEpnd  2.495936 .5687129 4.39 0.000 3.610593 1.38128
LGrant  .223748 .2883544 0.78 0.438 .7889123 .3414163
LRGDP  4.119485 1.050475 3.92 0.000 2.060591 6.178379
Lopns  .0162884 .0183115 0.89 0.374 .0196014 .0521782
_cons  31.60329 . . . . .
——————————————————————————
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vecstable
Eigenvalue stability condition
+—————————————+
 Eigenvalue  Modulus 
————————–+————
 1  1 
 1  1 
 1  1 
 1  1 
 .9951696  .99517 
 .1939456 + .5329696i  .567161 
 .1939456 – .5329696i  .567161 
 .4558523  .455852 
 .2549587  .254959 
 .1655585  .165558 
+—————————————+
The VECM specification imposes 4 unit moduli.
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vecstable, graph
Eigenvalue stability condition
+—————————————+
 Eigenvalue  Modulus 
————————–+————
 1  1 
 1  1 
 1  1 
 1  1 
 .9951696  .99517 
 .1939456 + .5329696i  .567161 
 .1939456 – .5329696i  .567161 
 .4558523  .455852 
 .2549587  .254959 
 .1655585  .165558 
+—————————————+
The VECM specification imposes 4 unit moduli.
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. veclmar, mlag(1)
Lagrangemultiplier test
+————————————–+
 lag  chi2 df Prob > chi2 
——+——————————
 1  12.9130 25 0.97755 
+————————————–+
H0: no autocorrelation at lag order
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. veclmar, mlag(2)
Lagrangemultiplier test
+————————————–+
 lag  chi2 df Prob > chi2 
——+——————————
 1  12.9130 25 0.97755 
 2  10.0484 25 0.99652 
+————————————–+
H0: no autocorrelation at lag order
.
end of dofile
. do “C:\Users\belayz\AppData\Local\Temp\STD07000000.tmp”
. vecnorm
JarqueBera test
+——————————————————–+
 Equation  chi2 df Prob > chi2 
——————–+———————————–
 D_LCDT  3.189 2 0.20304 
 D_LEpnd  0.047 2 0.97694 
 D_LGrant  0.935 2 0.62654 
 D_LRGDP  524.794 2 0.00000 
 D_Lopns  1.167 2 0.55799 
 ALL  530.131 10 0.00000 
+——————————————————–+
Skewness test
+——————————————————–+
 Equation  Skewness chi2 df Prob > chi2 
——————–+———————————–
 D_LCDT  .7012 2.950 1 0.08587 
 D_LEpnd  .07336 0.032 1 0.85738 
 D_LGrant  .39395 0.931 1 0.33456 
 D_LRGDP  3.7208 83.068 1 0.00000 
 D_Lopns  .43828 1.153 1 0.28302 
 ALL  88.134 5 0.00000 
+——————————————————–+
Kurtosis test
+——————————————————–+
 Equation  Kurtosis chi2 df Prob > chi2 
——————–+———————————–
 D_LCDT  3.3988 0.239 1 0.62523 
 D_LEpnd  2.9022 0.014 1 0.90462 
 D_LGrant  3.0511 0.004 1 0.95013 
 D_LRGDP  20.161 441.726 1 0.00000 
 D_Lopns  2.9025 0.014 1 0.90490 
 ALL  441.997 5 0.00000
No answer for this question ? the economist please say something
Thank you. Your lesson is very important and very good for all researchers.