I'm confused about multistep forecasting from VECM model for 2 cointegrated series. The model is pretty simple, in error-correction form: $$ \Delta x_{t+1} = \alpha_1 (y_t - \beta x_t -\beta_0) +\varepsilon_{1,t}, \\ \Delta y_{t+1} = \alpha_2 (y_t - \beta x_t -\beta_0) +\varepsilon_{2,t}. $$

Where $y_t - \beta x_t -\beta_0$ is the long-term cointegrating relation and $\alpha$'s are short-term error correction coefficients.

Now, what I need is multistep forecast of $y_{t+k}$, conditional on $x_{t+k},\dots,x_{t}$. So $x$'s are known (including future) and I need forecast $y$'s $$\hat y_{t+k} = \mathbf{E}(y_{t+k} | x_{t+k},\dots,x_t).$$ As usual $y_{t+k}$ doesn't depend on next values of $x$, only on past.

First thought - Ok, just use long-run cointegration relation $$\hat y_{t+k} = \beta \hat x_{t+k} + \beta_0.$$ Here $\hat y, \hat x$ are conditional expectations. But this doesn't account for short-term error-correction dynamics and residuals $(y_t - \hat y_t)$ from these forecasts have long'ish periods of deviations from 0 - i.e. residuals have autocorrelation. Would be good to improve forecasts using short-term error-correction as well.

I try to do that using VECM formulation above. I illustrate this for 1-step forecast, but of course it's easy to iterate formulas and obtain k-step forecasts.

If I use only the second equation of the model, this gives: $$ \hat y_{t+1} = (1+\alpha_2)\hat y_t - \alpha_2 (\beta \hat x_t +\beta_0) $$ and doesn't look good because forecast for $y_{t+1}$ doesn't depend on $x_{t+1}$ - we don't use all available information for forecasting.

If I use both equations of the model and substitute one to the other, we have: $$\Delta \hat y_{t+1} = {\alpha_2 \over \alpha_1} \Delta \hat x_{t+1}.$$ Here $\hat y_{t+1}$ forecast depends on $\hat x_{t+1}$, but now it is only determined as short-term relation between differences via error-correction coefficients! So now long-term cointegration relation doesn't comе into play.

So the question is - how to derive conditional forecast for $y$ that uses both cointegration and error-correction dynamics (I guess the latter will affect only several first steps predictions) and also conditions on all information available?


3 Answers 3


You need an equivalent representation of your estimated VECM. Try to get a representation where on the left hand side you would have a triangular matrix for the contemporaneous relations between $x$ and $y$ instead of the identity matrix that you have right now. Form the triangular matrix so that $x$ would not contemporaneously depend on $y$ but $y$ would contemporaneously depend on $x$, then you can use the contemporaneous $x$ to forecast $y$.

How to obtain this kind of representation? One way is to premultiply your system (both the left-hand-side and the right-hand-side) by the inverse of the covariance matrix of your residuals. Then look at the left-hand-side matrix and use simple elimination to get rid of the contemporaneous $y$ in one of the two equations (you choose which one, it does not matter). Then take the equation where both $y$ and $x$ are remaining on the left hand side and move $x$ to the other side. Now you are done: you have an equation for $y$ with a contemporaneous $x$ on the right hand side and all the VECM terms, too.

  • $\begingroup$ Hi Richard, thanks a lot for the answer! Could you please give some more details? In the above system, covariance of residuals is identity, so inverse is also identity; and there seems no contemporaneous relation, I repeat the system here: $$x_{t+1} - x_t = \alpha_1 (y_t - \beta x_t -\beta_0) +\varepsilon_{1,t}, \\ y_{t+1} - y_t = \alpha_2 (y_t - \beta x_t -\beta_0) +\varepsilon_{2,t}. $$ How would you suggest to transform it? $\endgroup$
    – Kochede
    Commented Nov 25, 2014 at 6:10
  • $\begingroup$ I thought about it a bit and I could not come up with a "natural" solution (I think the one in the second paragraph of my answer was "natural"). What you could do, though, is the following. Premultiply your system by any triangular matrix; take the equation where you find both contemporaneous $x_t$ and $y_t$; express $y_t$ from that equation (i.e. move $x_t$ to the right hand side); and you are done. The key is that by premultiplying the system (both the left hand side and the right hand side) by the same matrix, you do not change the estimated relationship, just the representation. $\endgroup$ Commented Nov 25, 2014 at 11:10

What I did eventually is pretty simple.

  1. Define $$e_t\doteq y_t - \beta x_t -\beta_0$$ -- the cointegration relation residual.
  2. Multiply the first equation of the above model by $\beta$ and subtract it from the second to get $$\Delta e_{t+1} = (\alpha_2 - \alpha_1 \beta) e_t + (\varepsilon_{2,t} - \beta \varepsilon_{1,t}).$$
  3. Then we have an equivalent system $$ y_{t+1} = \beta x_{t+1} + \beta_0 + e_{t+1}, \\ e_{t+1} = (1 + \alpha_2 - \alpha_1 \beta) e_t + (\varepsilon_{2,t} - \beta \varepsilon_{1,t}) $$ so that in the first equation we have the conditional forecast for $y_t$ using long-term relation and in the second equation we have short-term correction of this forecast.

It is possible to use a full error correction model, when properly rearranged to condition on any subset of observations, both future and past. In the appendix to this note we provide some matrix algebra to solve for what we called a Correlated Brownian Bridge but i only found out later, is very similar to what Bayesians call a Conditional Forecast. (I used it in several similar notes for marketing structured products but had my coauthor publish only under his name after I moved from Research.)

You’ll note that although in this note we condition on a future state of one variable to infer conditional means for the others, you could easily condition on the path of one variable. Moreover given that we are assuming joint normality for everything it is easy to find standard errors and do conditional simulations. Just use the Cointegration to form the structure of a large multivariate normal with a complex covariance structure.


In this second note I use the same method to do simulations conditional on outcomes of specific variables or combinations of variables. It only involves the manipulation of large banded block matrices.


So the problem is not hard to generalise if we assume normality.


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.