# How to test model misspecification using Johansen test?

There are three misspecification tests that I would like to perform on my model for a Johansen test before continuing with the cointegration tests themselves. Following Johansen's advice in Likelihood-based inference in cointegrated vector auto-regressive models, I would like to use the Ljung-Box test for autocorrelation, I would like to test for ARCH effects, and I would like to test for the normality of the residuals using the Jarque-Bera test.

However, what is not clear to me, is on what residuals to perform these tests... There are two auxiliary regressions involved in estimating the VECM for the Johansen test, and I am wondering which of them to use (if any of them) for these tests? The differentials regression (on the first differences of n lags)? The left-hand side lagged level regression (on the first differences of n lags)? Or something else?

All the statistics should be performed on the residuals of the final model. Using Johansen's test you can identify the cointegration rank and get the estimates of the cointegration relationships. Then you can reestimate VAR model (in levels or in VECM form) using these relationships and then you can test the residuals from this model. In R, there is a special function, which converts from VECM to VAR. The following example (page 85) in the book "Analysis of integrated and cointegrated time series with R" I think is very illustrative in your case.

library(vars)
vecm.level <− vec2var(vecm,r=2)
arch.test(vecm.level)
normality.test(vecm.level)
serial.test(vecm.level)
predict(vecm.level)
irf(vecm.level,boot=FALSE)
fevd(vecm.level)


Based on VAR, SVAR and SVEC Models: Implementation Within R Package vars, by Bernhard Pfaff, in the example section (section 4), the misspecification tests are to be run prior to estimation of the VECM, on the initial VAR model, right after having estimated the optimal lag using information criteria (if this methodology is used).