Which series goes on the left
Worth reading first: Three series and a count · Two walks and a finding.
The two-step procedure for cointegration is the one everybody learns first, and its first step is a choice nobody records.
Regress one series on the others in levels, take the residual, and test that residual for a unit root. If the residual is stationary the series are cointegrated and the fitted coefficients are the long-run relation. It is two lines of code and it is a genuinely good procedure with a genuinely good justification — the fitted relation converges at rate 1/n, fast enough that the first step’s estimation error can be ignored in the second.
But which series goes on the left?
With two series there are two answers. With three there are three. The output — a coefficient, a statistic, a decision — looks exactly the same whichever was chosen, and carries no record of the choice.
Why it does not matter for a pair
Start where the choice is harmless, because the reason it is harmless is what stops being true later.
Two series, one relation, y₁ = βy₂ + stationary. Regress y₁ on y₂ and get b̂. Regress y₂ on y₁ and get ĉ. These are different numbers — the first minimises vertical distance and the second horizontal — and in an ordinary regression on stationary data they differ substantially, by a factor of R² in fact.
Here they do not, and the reason is the convergence rate. Both regressions are consistent for the same relation, both converge at 1/n rather than 1/√n, and the discrepancy between b̂ and 1/ĉ vanishes at that speed. At n = 300 the two answers to the same question, written in comparable coordinates, are close enough that no decision turns on which was computed.
Over four hundred pairs at n = 300 the two normalisations disagree about whether the system is cointegrated 0.0% of the time. There is nothing to report. The choice is real and its consequences are below the resolution of any decision anyone makes.
It is worth pausing on why the pair case is so clean, because the clean version is what gets remembered. In an ordinary regression on stationary data the two directions genuinely disagree: the slope of y on x and the reciprocal of the slope of x on y differ by exactly the factor R², which is a substantial gap whenever the fit is less than perfect. Nothing about ordinary least squares makes the two directions equivalent. What makes them equivalent here is the non-stationarity — the regressors travel so far that any misfit is overwhelmed, and both directions are pulled onto the same relation at a rate no stationary regression achieves. The harmlessness of the choice is a consequence of the data being wandering rather than of the procedure being symmetric, and that distinction is exactly what fails to generalise.
That is the fact that gets carried forward into the three-series case, and it does not survive the trip.
The factor of R², written out
“They differ by a factor of R²” is exact and worth writing down, because it is the quantity that stops mattering.
Regressing on gives and regressing the other way gives . Their product is
so exactly. The two answers to “what is the relation between these two series” differ by the factor , whatever the data.
On ordinary stationary data that is a real disagreement. At R² = 0.9 the two normalisations give slopes 11% apart; at R² = 0.5, 100% apart. Nobody would call those the same answer.
Why the pair case is safe by a rate rather than by a margin
What makes the discrepancy vanish here is that , and the speed at which it does.
The disagreement is , and in a cointegrating regression falls like 1/n rather than settling at whatever the noise-to-signal ratio happens to be. So the gap between the two normalisations closes at the same 1/n rate the coefficient itself converges at — which is why the choice is harmless at three hundred observations and would still be harmless, merely ten times larger, at thirty.
That is a stronger reassurance than a measured margin would be. The two normalisations are not close because the numbers happened to work out; they are close because the discrepancy is where in an ordinary regression it is , and no configuration of a genuinely cointegrated pair escapes that.
The measurement is consistent with it and is worth reading for what it can and cannot establish. Zero disagreements in four hundred pairs bounds the disagreement rate at about 0.75% by the rule of three — which is a good bound and is not zero, and the argument above is what says the true rate is zero rather than merely small.
None of that survives a third series, and the reason it does not is not that the rate gets slower. It is that with three series the choice can be a choice of which question to ask rather than which coordinate to write one question in.
What goes wrong with three
A regression needs one thing on the left and everything else on the right. With three series that means regressing y₁ on y₂ and y₃, or y₂ on y₁ and y₃, or y₃ on y₁ and y₂.
Now suppose the truth is that y₁ and y₂ are tied together and y₃ wanders off on its own — the rank-one system of the previous essay. The first two regressions are asking a sensible question and can answer it: there is a stationary combination of y₁ and y₂, and the third series gets a coefficient near zero.
The third regression is asking something else entirely. Is there a combination of y₁ and y₂ that makes y₃ stationary? There is not, and there could not be, because y₃ is a random walk driven by its own shocks and nothing in the system pulls it back. That regression is a spurious regression in the strict sense and its residual is a random walk.
So the three answers are: two of them find the relation, and one of them cannot. On the system drawn at the top of this essay the residual test statistics are −9.82, −9.77 and −1.68, against a 5% point of −3.71 simulated for three series at this length. Two reject overwhelmingly. One does not reject at all.
How often that happens
Once is an anecdote. Over four hundred rank-one systems at n = 300, the three normalisations fail to agree on the verdict 98.0% of the time, and all three reject on only 2.0%.
That number is worth reading twice. It is not that the procedure is unreliable and disagrees now and again. It is that with three series and one relation, the choice of left-hand side essentially always determines the answer, because one of the three available choices is structurally incapable of finding anything. An analyst who ran the third regression and stopped would report no cointegration, correctly describe their method, and be wrong.
And the case where they all agree is worse
Take the rank-two system instead: two independent stationary combinations, one common trend. Now every pair of series is cointegrated, so every regression has something to find.
Over four hundred rank-two systems the three normalisations disagree about the verdict 0.0% of the time. Perfect agreement. And it is the more dangerous case, because the thing they agree about is not the thing being reported.
Write each normalisation’s answer in comparable coordinates — a 1 in the position of whichever series was on the left, and the fitted coefficients negated into the other slots — and the three relations can be put side by side. The median spread of the coefficient on the second series, across the three normalisations of the same dataset, is 1.851.
That is not a rounding discrepancy. It is a coefficient that could be reported as −0.5 or −2.3 depending on a decision the analyst made without noticing they were making one, on data where every diagnostic is green.
The reason is not sampling error and more data will not fix it. With two relations there is a two-dimensional space of stationary combinations, and every combination in that space is stationary. A regression picks one of them — whichever minimises the residual variance given what was on the left — and three regressions pick three different points in the same space. All three are correct. None of them is “the” relation, because there is no such thing.
Two failures, and only one of them is visible
The field now has two distinct things that can go wrong, and they occur in opposite circumstances.
Decision disagreement happens when the rank is one and there are three or more series. Some normalisations can find the relation and some cannot, so the verdict depends on the choice. It is loud — one statistic at −9.82 and another at −1.68 is not a subtle difference — but it is only loud to someone who ran more than one regression, and nobody runs more than one.
Relation disagreement happens whenever the rank is two or more. Every normalisation rejects, every diagnostic is fine, and the numbers reported differ by amounts that would change any substantive conclusion. It is silent by construction.
Both are consequences of the same thing: the two-step procedure estimates a stationary combination, and what the system has is a space of them whose dimension nobody asked about.
There is a third thing worth naming, because this site has a name for it. The choice of left-hand side is an analytic degree of freedom — a decision taken during the analysis, defensible whichever way it goes, and not recorded in the output. That is the same object as the branching in twenty analyses of nothing, where a handful of individually reasonable choices about which cases to exclude and which covariates to include take the rejection rate from 5% to well over half. The difference here is one of scale rather than kind: there are three branches, not thirty-two, and the reader cannot see which was taken in either case.
It also has the shape this site keeps finding in stopping rules and adaptive allocation: the rule that produced the number is part of what the number means, and an output that does not carry the rule cannot be interpreted. Here the rule is one word — which — and it is not written down anywhere.
The discarded regressions were the answer
There is a repair available that costs nothing, and it is worth setting out because it is both obvious and, as far as this site can tell, not something anybody does.
Run all three regressions. They cost the same as one. Then count how many reject.
That count turns out to be an almost perfect estimate of the rank, and its accuracy is the surprise:
- On rank-zero systems, 88.5% give no rejections at all.
- On rank-one systems, 97.8% give exactly two rejections.
- On rank-two systems, 100.0% give three.
The information was in the procedure all along, sitting in the two regressions nobody ran. What stopped anyone reading it off is that the map from rejections to rank is not the identity. Two rejections means one relation. Three means two. A count of one essentially never occurs — 0.0% at both ranks one and two — which makes the mapping 0 → 0, 2 → 1, 3 → 2, with a gap where intuition expects a step.
The reason is combinatorial rather than statistical. A regression with series i on the left can find a relation exactly when series i is in some relation, so the number of regressions that reject is the number of series the cointegrating space touches — not the dimension of that space. With one relation between two of three series, two series are touched. With two relations, all three are.
This is not being proposed as a replacement for the rank machinery. It has no critical values of its own, its behaviour with more series has not been measured here, and the counting rule above is read off the three cases this essay simulates rather than derived. What it is, is evidence that the disagreement between normalisations is not noise to be averaged away. It is a signal about the quantity the procedure never asks for, and treating the choice of left-hand side as an arbitrary convenience throws that signal away along with the two-thirds of the output nobody printed.
What the alternative actually does differently
The reduced-rank decomposition does not choose a left-hand side, and it is worth being clear about how it avoids having to.
It treats all three series symmetrically: the changes are one block, the lagged levels are another, and the question is how much of the first block’s variation any combination of the second can account for. That question is symmetric in the series by construction, so there is nothing to normalise until the answer has been found. The eigenvector that comes back can then be scaled however anyone likes — with a 1 in the first position, or the second, or normalised to unit length — and scaling a vector after the fact changes nothing about what was estimated.
The normalisation becomes a display convention rather than a modelling decision. That is the whole difference, and it is the reason the extra machinery earns its complexity for three series when it did not for two.
What it does not do is make the ambiguity go away when the rank is two. With two relations there is still a space, and the two eigenvectors that come back are still an arbitrary basis for it — a different basis would fit the data exactly as well. The decomposition is honest about this in a way the regression is not: it reports two relations, which tells the reader that any combination of them is also one. A single regression reports one relation and implies there is one.
What to report
The practical residue of all this is short, and it does not require adopting the rank machinery to act on.
Say which series was on the left. It is one clause in a methods sentence and it converts an unrecorded choice into a recorded one. Everything else here follows from that choice being invisible rather than from it being wrong.
Run the other regressions and say what they gave. They cost nothing, the pattern of which ones reject carries information about the rank, and a paper reporting “two of the three normalisations reject” has told the reader something a paper reporting one statistic cannot.
Do not write “the long-run relation” when the rank might exceed one. With two relations the phrase has no referent: any combination of the two is also a relation, so a single fitted vector is one arbitrary point in a space rather than an estimate of a thing. “A stationary combination, normalised on y₁” is longer and it is what was computed.
And if a decision turns on the coefficient, the rank has to be estimated rather than assumed. A coefficient whose value moves by 1.851 across three equally defensible normalisations of the same dataset is not a quantity a decision should turn on until the ambiguity has been ruled out — and ruling it out means counting the relations, which is what the machinery in this field is for.
The check, and the refusal that makes it mean something
The claims in this essay are comparisons across settings — a pair against three series, rank one against rank two — so a figure cannot make them and they live in the site’s own gate: the disagreement rate is zero for a pair, near total at rank one in a three-series system, and back to zero at rank two, on the same simulated systems and the same seeds.
The refusal is the one this field keeps having to make. The residual test’s 5% point of −3.71 is simulated rather than read off a table, and it must be, because a t table would put it at −1.65 and the statistic is not a t. Applying the wrong critical value to the third regression above would turn a statistic of −1.68 into a rejection, which is to say it would find a stationary combination making a random walk out of a random walk. The machinery is fed exactly that input in the gate — three unrelated walks, and a critical value from the wrong row — and the rate it produces is the argument for why the right row is indexed by the number of common trends rather than by the name of the test.
What links here
Computed from the collection, not written here: the essays that point at this one.
Shares its objects with
Essays that name at least two of the same things, and that neither author linked.
- The rank is a decision — both name cointegrating rank, cointegration, common trend, critical value, random walk, reduced-rank regression
- The cliff that is a slope — both name critical value, random walk, spurious regression, stationarity, unit root
- Which mistake about the rank costs — both name cointegrating rank, cointegration, common trend, random walk, reduced-rank regression
- How slow a return a sample can see — both name cointegration, critical value, random walk, spurious regression
- The cost of differencing a pair — both name cointegration, random walk, spurious regression, stationarity
- The model that corrects its error — both name cointegration, spurious regression, stationarity, unit root
Named objects
A flat tag is an object no other essay names yet.
Cointegrating rankCointegrationCommon trendCritical valueNormalisationRandom walkReduced-rank regressionSpurious regressionStationarityUnit root