On this page
Granger Causality Test: Finding Predictive Lead-Lag Signals
Granger causality tests whether past values of one time series help predict another, beyond what the second series predicts on its own. It is a test of predictive content, not of true cause and effect, which matters for how you interpret the result.
Key Takeaways
- The Granger causality test adds lags of series X to an autoregression of Y, then uses an F-test to determine whether those lags improve the forecast, measuring statistical predictive content, not economic causality.
- A bivariate VAR of daily VIX changes and SPY returns from 2010–2020 produced an F-statistic of 8.0, rejecting the null that VIX changes fail to predict SPY returns at the 1 percent level.
- The most dangerous mistake is running Granger tests on non-stationary series; if either series has a unit root, the standard F and chi-square distributions do not apply and spurious causality appears regularly.
- Granger significance is necessary but not sufficient for a live trading signal; the relationship must survive out-of-sample testing and transaction cost analysis before capital is committed.
Key Takeaways
- The Granger causality test adds lags of series X to an autoregression of Y, then uses an F-test to determine whether those lags improve the forecast, measuring statistical predictive content, not economic causality.
- A bivariate VAR of daily VIX changes and SPY returns from 2010–2020 produced an F-statistic of 8.0, rejecting the null that VIX changes fail to predict SPY returns at the 1 percent level.
- The most dangerous mistake is running Granger tests on non-stationary series; if either series has a unit root, the standard F and chi-square distributions do not apply and spurious causality appears regularly.
- Granger significance is necessary but not sufficient for a live trading signal; the relationship must survive out-of-sample testing and transaction cost analysis before capital is committed.
What It Is
The Granger causality test asks: does X contain information, in its past values, that improves the one-step-ahead forecast of Y? Clive Granger introduced the formal framework in 1969. The test is cast as a comparison between a restricted autoregression of Y on its own lags and an unrestricted autoregression that also includes lags of X.
If adding X's lags significantly reduces the residual variance, X is said to Granger-cause Y in the statistical sense. The reverse direction is a separate test.
The Intuition
Correlation between two return series tells you they move together contemporaneously. It does not say anything about lead-lag. If small-cap returns move before large-cap returns by a day, you have actionable information. If they move on the same day, you do not. Granger causality is the formal way to answer the lead-lag question.
The word "causality" is misleading. The test can only tell you that past X helps predict Y statistically. A confounder (a third variable that drives both) will produce a positive Granger test without any true causal link. Always check the economic story before trading it.
How It Works
Consider two stationary series X_t and Y_t. Specify a bivariate vector autoregression of order p:
Y_t = a_0 + sum_{i=1..p} a_i * Y_{t-i} + sum_{j=1..p} b_j * X_{t-j} + e1_t
X_t = c_0 + sum_{i=1..p} c_i * X_{t-i} + sum_{j=1..p} d_j * Y_{t-j} + e2_t
To test whether X Granger-causes Y, impose the null H_0: b_1 = b_2 = ... = b_p = 0. Compare the unrestricted RSS_U to the restricted RSS_R from the same regression with X's lags dropped. The F-statistic is:
F = ((RSS_R - RSS_U) / p) / (RSS_U / (T - 2p - 1))
Under the null, F follows an F(p, T-2p-1) distribution. A chi-square form from the likelihood ratio is also common. The test on the second equation, with the roles of X and Y swapped, checks the reverse direction.
Worked Example
Suppose you suspect that changes in the VIX lead daily SPY returns by a day or two. Build a two-equation VAR of dVIX and SPY returns with p = 3 lags on daily data from 2010 to 2020 (T = 2,517).
The restricted regression of SPY returns on three lags of itself gives RSS_R = 0.4120. The unrestricted regression adds three lags of dVIX and gives RSS_U = 0.4081. Compute:
F = ((0.4120 - 0.4081) / 3) / (0.4081 / 2510) = 8.0
An F statistic of 8.0 on (3, 2510) degrees of freedom has p-value well below 1 percent, so you reject the null that VIX changes fail to predict SPY returns. By contrast, the reverse test with SPY return lags on the right of the dVIX equation might yield F = 12, also significant. VIX and SPY Granger-cause each other, which is common for closely linked series.
A strategy built on this result should be skeptical: a signal that works in-sample on 10 years may still be spurious or swamped by costs. Granger significance is necessary but not sufficient for a live signal.
Common Mistakes
-
Running Granger on non-stationary data. If either series has a unit root, standard F and chi-square distributions do not apply, and you can find "causality" that is a statistical artifact. Difference first or use the Toda-Yamamoto procedure on the level VAR with extra lags.
-
Treating statistical Granger causality as economic causality. The test measures forecast improvement, not mechanism. Two variables driven by the same lagged macro factor can each Granger-cause the other without any direct channel.
-
Overfitting the lag order. Too many lags lowers power and inflates false positives. Select p using AIC or BIC on the VAR and check residual autocorrelation.
-
Ignoring structural breaks. A regime that starts in 2020 can make Granger tests pass or fail depending on whether the sample spans it. Rolling-window Granger tests help expose when the lead-lag relationship actually holds.
-
Using daily close-to-close data when the effect is intraday. Many lead-lag relationships resolve within hours. A daily-resolution test washes them out. If you suspect a minutes-scale effect, run the test at the matching frequency.
Frequently Asked Questions
Q: What is Granger causality in simple terms? Granger causality tests whether knowing the history of series X improves your forecast of series Y beyond what Y's own history provides. If adding lagged values of X significantly reduces the forecast error for Y, X is said to Granger-cause Y, meaning it contains predictive information, not that it literally causes Y to move.
Q: How does the Granger causality test affect investment decisions? It formalizes the search for lead-lag relationships that could generate trading signals. If small-cap returns consistently Granger-cause large-cap returns one day later, you can build a signal that watches small caps today to predict large caps tomorrow, with a proper statistical basis rather than anecdotal observation.
Q: What is a real-world example of a Granger causality test in trading? Changes in the VIX index were tested against SPY daily returns from 2010 to 2020. The F-statistic of 8.0 with three lags rejected the null that VIX changes have no predictive content for SPY returns at the 1 percent level. The reverse test also showed significance, confirming bidirectional Granger causality between the two series.
Q: How can investors avoid the biggest Granger causality mistake? Always test each series for stationarity using the ADF test before running Granger causality. If either series has a unit root, difference it or use the Toda-Yamamoto procedure on the levels VAR with extra lags to obtain valid test statistics. Standard F-distribution critical values are invalid when applied to non-stationary data.
Q: How is Granger causality different from true economic causality? Granger causality only measures whether past values of X help predict Y; a third variable driving both can produce a positive Granger test with no direct channel between X and Y. True economic causality requires a plausible mechanism, controlled experiment, or instrumental variable analysis, none of which the Granger test provides.
Sources
- Granger, C.W.J. (1969). "Investigating Causal Relations by Econometric Models and Cross-spectral Methods." Econometrica 37(3), 424-438. https://www.sonoma.edu/users/c/cuellar/econ411/granger.pdf
- Toda, H.Y. and Yamamoto, T. (1995). "Statistical Inference in Vector Autoregressions with Possibly Integrated Processes." Journal of Econometrics 66(1-2), 225-250. https://www.sciencedirect.com/science/article/abs/pii/030440769401616M
- Hamilton, J.D. (1994). Time Series Analysis. Princeton University Press, Chapter 11. https://press.princeton.edu/books/hardcover/9780691042893/time-series-analysis
- Lutkepohl, H. (2005). New Introduction to Multiple Time Series Analysis. Springer. https://link.springer.com/book/10.1007/978-3-540-27752-1
Disclaimer
This article is educational content only and is not financial advice. Nothing here is a recommendation to buy, sell, or hold any security. Consult a licensed advisor before making investment decisions.