My final goal is to generate Impulse Response Functions in R.

I have variables that are non stationary when I set k = 5 in a Unit Root test, and they are cointegrated which to my understanding prompts the use of the VECM, from which the Vec2Var argument is used to then generate IRFs. However, my response functions from this methodology do not decay over time and mostly do not revert to the zero line.

Furthermore, I noticed that when I input first differenced variables into the VECM as opposed to level data above, response function do revert to the zero line. Therefore my first question is: 1) is it appropriate to use differenced variables in a VECM model?

Secondly, as an alternative I am considering restricting the number of lags used in the Unit Root tests so that the variables are not all non-stationary; in this case 2) would the use of VECM be void and the VAR with first differences be a more appropriate model? Again, using differenced data is giving me better response functions that revert to zero in the long run. However, 3) is it ok to use the VAR for stationary/non-stationary data in levels where these variables are still cointegrated?

Also, I am using growth rate variables, 4) should I still long transform all variables and use logs in all tests?

Thank you for the help!


1 Answer 1


I assume you use ADF test for stationarity check and that k is the number of lags (in my example, $p$ is the number of lags).

A VECM model $$\Delta Q_t = \Gamma_0 + \Gamma_1Q_{t-1} + \sum_{i=1}^p\Lambda_i\Delta Q_{t-i} + e_t$$ where $Q'_t = (Y_t \quad X_t \quad Z_t)$

is comprised of a "VAR" part (which is the differences part within the summation) and additional levels part, which $\Gamma_1$ is its coefficient (matrix notation). Thus, when you ask if it is appropriate to use differenced variables in a VECM model then the answer is its already being used anyway. What is usually of particular interest is hypothesis testing regarding $\Gamma_1$ which represents the long-run relationships.

When dealing with non-stationary variables and applying the VECM model, you want to see what is the % off the long-term relationship that is being corrected each period.

It sounds like your series are not stationary thus you cannot use VAR (unless you use differences to eliminate non-stationarity, but then everything you'll learn will be correct only for the $i$th difference! and not for the levels. You didn't say what is the scenario and the use-case so it's hard to tell what is more appropriate).

So coming back to your first problem of non-decaying IRFs - I would guess that the error correction term for your model is positive, which means that the process is not converging in the long run. It probably means that something is wrong with the specification of your model, or the presence of structural breaks which are not accounted for.

  • $\begingroup$ Hi, thanks for the answer. The variables being used are real estate returns over time as response variables and some economic variables as the impulses. Since the VECM uses differences as shown in the equation, can you still input differenced variables that then get differenced again through the equation itself? As mentioned above, this outputs better results for the response functions as the trends revert to zero in the long run $\endgroup$
    – James
    Commented Sep 9, 2019 at 14:41
  • $\begingroup$ When you difference the variables that were cointegrated you are basically making them all $I(0)$ (assuming a first difference is enough). This results in no cointegration and thus no error correction so it's something similar to a VAR on the differenced variables, it doesn't mean anything. If you are dealing with real estate returns I would suggest you to perform unit root tests that support the existence of structural breaks because real estate prices are highly affected by such breaks (which I'm willing to bet you have in your series).. $\endgroup$
    – Corel
    Commented Sep 9, 2019 at 22:52
  • $\begingroup$ When I run a Cointegration test on the differenced variables, they are in fact cointegrated. Is this inconsistent with logic, or if not, does it suggest that I could utilise these differenced variables in the VECM, which would difference them again? $\endgroup$
    – James
    Commented Sep 10, 2019 at 0:20
  • $\begingroup$ Perhaps your variables are more than $I(1)$ then, so lets say they are $I(2)$, and then when you difference them once, they become $I(1)$. Even if they are then cointegrated, you won't get insights on the levels from VECM because the "levels" for you would mean the first difference. $\endgroup$
    – Corel
    Commented Sep 11, 2019 at 7:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.