# Consider structural breaks in VECM

I am implementing a VECM, which should also take two structural breaks into account. I am using the function ca.jo from the "vars" package in R and include the dummy variables, according to Joyeux (2007) in the dumvar argument of the function.
I estimate a system of three endogenous variables and five lags. If I follow Joyeux (2007: p. 8-10), my matrix of all dummy variables should include the following variables and lagged variables.

$D_{1,t}$: Intervention Dummy for the first break, which is 1 after the first break until the second and 0 otherwise

$D_{2,t}$: Intervention Dummy for the second break, which is 1 after the second break

$I_{1,t}$: Indicator Dummy for the first break, which is 1 on the observation after the first break and 0 otherwise.

$I_{2,t}$: Indicator Dummy for the second break, which is 1 on the observation after the second break and 0 otherwise.

Additionally I include the trend times the $D_{j,t}$ dummies and lag the four dummy variables with five lags. This leads to issues, that matrices can't be inverted in the ca.jo function, so there must be something wrong. So I somehow cause problems, with all these dummies and lagged dummy variables, and I am not sure, what I am missing here.

References

• Joyeux, R. (2007). How to deal with structural breaks in practical cointegration analysis? In B. B. Rao (ed.), Cointegration for the Applied Economist, Second Edition, Palgrave Macmillan, New York, 195-221.
• Did you manually check whether there is no perfect multicollinearity between your variables? You can do that by regressing one on all the others and seeing whether you get a perfect fit. Also, what exactly is the error message of the ca.jo function? Also, could you give a full reference to Joyeux (2007)? – Richard Hardy Oct 12 '15 at 18:42
• No, I didn't check it manually. The error I am getting is ca.jo(dt.myVariables[, c(myvars), with = FALSE], type = "trace", spec="longrun", ecdet = "none", season = NULL, dumvar = cbind(dt.myVariables[,myexogenvar, with = FALSE], dummat), K = 5) Error in solve.default(M11) : system is computationally singular: reciprocal condition number = 5.72076e-25 The full citation is Joyeux, R. (2007). How to deal with structural breaks in practical cointegration analysis? In B. B. Rao (ed.), Cointegration for the Applied Economist, Second Edition, Palgrave Macmillan, New York, 195-221. – hannes101 Oct 13 '15 at 9:03
• I created a gist file, to give a better idea, how the dummy matrix dummat looks like. gist on github – hannes101 Oct 13 '15 at 9:22
• I noted above that it is easy to check it manually. Using your variable names, check whether the dummy matrix does not suffer from perfect multicollinearity: lm(dummat[,1]~dummat[,-1]). Also, cbind the dummy matrix with all the other variables (and their lags) in the model and do the same (because the multicollinearity may be not within dummat but within all the regressors). – Richard Hardy Oct 13 '15 at 9:49
• I was just doing this and noted, that the lagged values of $I_{j,t}$ are all removed due to singularities. When reading it again it seems that in the multivariate case I don't need these lagged values, when leaving them out only $I_{2,t}$ is removed. I will further investigate, what is actually necessary in my case. – hannes101 Oct 13 '15 at 11:55