I have a time series variable $y_t$ which I forecast $h$ steps ahead. I do that a number of times using a rolling window so that I collect a total of $T$ forecasts which form a time series $f_{t+h|t}$. Both $y_t$ and $f_{t+h|t}$ are integrated of order one, I(1). I would like to test whether $y_{t+h}$ and $f_{t+h|t}$ are cointegrated.

(I expect them to be cointegrated. It would be strange if $h$-step-ahead forecasts $f_{t+h|t}$ would diverge from the corresponding realized values $y_{t+h}$ with time; note that $h$ is fixed, only time $t$ flows).

To test for cointegration I could use the regular Johansen's procedure, for example. However, I know in advance that realized values at time $t+h$ cannot affect forecasts made at time $t$, especially if the forecasting model uses only the past values $y_{t-1},y_{t-2},...$ as its inputs (the model could AR($p$) or similar). That is, if $y_{t+h}$ and $f_{t+h|t}$ are cointegrated, and I form a vector error correction model for $y_{t+h}$ and $f_{t+h|t}$, then the error correction term will only appear in the equation for $y_{t+h}$ but not in the equation for $f_{t+h|t}$. If I obtain a corresponding VAR model, that would have some implications on it as well. Does that matter when testing for cointegration?

It seems to me that Johansen's procedure (which I do not have a full grasp of) utilizes some unrestricted VAR models of the variables of interest. I suspect that the knowledge of certain restrictions like the one discussed above might matter. I am afraid that neglecting it might be inefficient and perhaps lead to a different result of the Johansen's procedure.

The standard functions for Johansen's cointegration test such as ca.jo in urca package in R do not seem to allow incorporating restrictions such as the one discussed above.


  1. Is that a problem?
  2. How could it be tackled? (Preferably it should also work for systems of more than 2 variables.)

Note: I know that once I have estimated a VECM, I can test for coefficient restrictions (e.g. whether the loading for the error correction term should be zero in the equation for $y_{t+h}$); but this is not what I am interested in. I care about testing for cointegration.

  • $\begingroup$ Do you have (access to) Johansen's book on cointegration ("Likelihood-based inference ...")? What is particularly interesting for your case is the concept of weak exogeneity, which is Theorem 8.1 in the book and is defined as $\alpha_2=0$. If this is the case, the likelihood factors into a conditional model (in your case the variable conditional on the forecasts) and a marginal model (for the forecasts), and the conclusion is that it is sufficient to analyze the conditional model only, i.e. it's enough for your to only consider the $y$ model. From that, you could construct an LRT. $\endgroup$
    – hejseb
    Mar 19, 2015 at 7:56
  • $\begingroup$ And this is directly applicable to systems with more than two variables, the idea is to have two groups of variables (of whatever size). $\endgroup$
    – hejseb
    Mar 19, 2015 at 7:58
  • $\begingroup$ I took a look at Theorem 8.1. Before it there goes a statement: Thus in the following we ... assume ... that the value of the cointegrating rank is known. So it seems that Theorem 8.1 deals with estimating VECM models rather than cointegration testing. Once the cointegration rank is known, one can do all kinds of things with a VECM, but the question is how to determine the cointegration rank to begin with - incorporating the information of the a priori restrictions. $\endgroup$ Mar 19, 2015 at 8:07
  • $\begingroup$ Yes, that is correct, I just wanted to show you that your situation is defined as weak exogeneity which might be helpful to know. The papers in this field are, unfortunately, no prose so they are difficult to read, but here is one which seems to deal with your exact situation: jstor.org/stable/1392608 Rank testing in partial systems (i.e. when there is weak exogeneity). Depending on what types of variables you have, my guess is that the model you want to use is either $H_1(r)$ or $H_2(r)$ in Table 1. $\endgroup$
    – hejseb
    Mar 19, 2015 at 8:12
  • $\begingroup$ But I don't think you will find this implemented anywhere, so if you want this included in your analysis I'm afraid you'll have to dig into the details and program it yourself. However, estimating $\alpha_2$ is still consistent (but less efficient), but in your bivariate setup that is only one parameter. If you're concerned with power, you might instead be interested in applying some of the recently proposed bootstrap schemes as Johansen's procedure has fairly bad power properties in small samples. These bootstrap methods are easier to understand and implement. $\endgroup$
    – hejseb
    Mar 19, 2015 at 8:16


Your Answer

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