Quant Memo
Advanced

Lead-Lag Networks From Return Series

Plain correlation only tells you two assets move together at the same time — a lead-lag network instead asks whether one asset's past returns help predict another's future returns, turning a symmetric correlation graph into a directed one that points from leaders to followers.

Prerequisites: Correlation Graphs and Edge Thresholding, Graphs as Data: Adjacency and Node Features

An ordinary correlation graph treats every edge as symmetric: "A and B move together" carries no sense of which one moves first. But large, heavily-traded stocks often do genuinely move before smaller, less-traded ones react to the same news — large-cap price moves get incorporated quickly, small-caps lag because they trade less and get less attention. A lead-lag network captures exactly this asymmetry: instead of asking "do these two move together right now," it asks "does one's past return help predict the other's future return," and draws a directed edge from leader to follower when it does.

The analogy: the front and back of a marching band

Watch a marching band turn a corner from above: the row at the front of the turn changes direction first, and the rows further back visibly follow a beat later, each copying what the row ahead of it just did. A snapshot at any single instant might show the whole band roughly correlated in direction, but it's the sequence — front row turns, then the next row, then the next — that tells you who is leading and who is following. A lead-lag network is built by looking for exactly this kind of sequential following in return data: if stock A's return today reliably shows up echoed in stock B's return tomorrow, an edge is drawn from A to B, not the other way around.

Building the edge test: lagged regression / Granger-style causality

The standard way to test "does A lead B" is a simple lagged regression: regress B's return today on both B's own past return and A's past return, and check whether A's past return adds real predictive power:

rB,t=α+β1rB,t1+β2rA,t1+εtr_{B,t} = \alpha + \beta_1 r_{B,t-1} + \beta_2 r_{A,t-1} + \varepsilon_t

In words: B's return today is explained partly by its own momentum (β1\beta_1 on its own lagged return) and partly by what A did yesterday (β2\beta_2 on A's lagged return). If β2\beta_2 is statistically distinguishable from zero — A's past return genuinely helps predict B's future return, beyond what B's own history already explains — the test concludes A Granger-causes B, and a directed edge ABA \to B is added to the network. Running the same regression in the other direction (B's lagged return predicting A) tests the reverse edge independently; both, one, or neither direction can turn out significant.

Worked example 1: fitting the lagged regression by hand

Suppose over 5 days, stock A's returns (in %) were [1.0,0.5,2.0,0.5,1.0][1.0, -0.5, 2.0, 0.5, -1.0] and stock B's returns the following day were [0.6,0.3,1.1,0.3,0.5][0.6, -0.3, 1.1, 0.3, -0.5] — B consistently moves about 55-60% of A's prior move. Regressing rB,tr_{B,t} on rA,t1r_{A,t-1} alone (ignoring B's own lag for simplicity): the slope estimate comes out close to β20.57\beta_2 \approx 0.57, and given how tightly the points track this ratio, the fit is strong — a high R2R^2, and a large t-statistic on β2\beta_2 relative to its standard error. This clears a significance threshold easily, so the test concludes ABA \to B: an edge is drawn from A to B in the lead-lag network, with edge weight often set to β2=0.57\beta_2 = 0.57 or to the t-statistic itself.

Worked example 2: testing the reverse direction finds nothing

Now regress rA,tr_{A,t} on rB,t1r_{B,t-1} — does B's past return predict A's future return? Using the same five days, shift the pairing: does B's return on day t1t{-}1 predict A's return on day tt? Given the data was constructed so that A moves first and B echoes it a day later, B's lagged values carry no independent information about A's next move beyond noise — the estimated slope comes out small and statistically indistinguishable from zero (say β0.05\beta \approx 0.05 with a t-statistic under 1). No edge is drawn BAB \to A. The result: a single directed edge ABA \to B, not a symmetric, undirected one — exactly the asymmetry a plain same-day correlation graph would have missed, since same-day correlation between A and B here would still show up as strongly positive in both directions.

Regression explorer
amber = residuals
fitted slope 1.133true slope 1.00 0.642SSres 42.0

The residuals visible in the regression fit above are exactly what a lead-lag test is scrutinizing: how much of tomorrow's move in the follower is explained by today's move in the candidate leader, versus how much is left as unexplained noise.

A lead-lag network tests whether one asset's past returns help predict another's future returns (beyond the follower's own momentum), and draws a directed edge only in the direction where that predictive power is real — turning a symmetric same-time correlation graph into an asymmetric graph of leaders and followers.

What this means in practice

Lead-lag networks are used to find genuine statistical arbitrage opportunities (trade the follower based on the leader's signal, since a real, persistent lead relationship implies short-term predictability) and to map how information or shocks propagate through a market — large caps leading smaller caps in the same sector, or an index leading its slower-to-update constituents. The central risk is overfitting a directional relationship in-sample and finding it vanishes out-of-sample: lead-lag effects driven by genuine trading-cost or liquidity asymmetries tend to be more stable than ones driven by noise, and any detected edge needs out-of-sample validation, not just an in-sample significant coefficient, before it is trusted for trading.

Practice

  1. Using the same A and B return series, add a lag of B's own return to the regression from worked example 1 and discuss qualitatively how it might change the estimate of β2\beta_2.
  2. Explain in one sentence why an ordinary same-day correlation graph cannot distinguish "A leads B" from "B leads A."
  3. A backtest shows a strong lead-lag edge in-sample that disappears entirely out-of-sample. Name one likely cause.

The common confusion is treating a statistically significant lagged coefficient as proof of a genuinely tradeable, causal lead-lag relationship. Granger-style tests establish predictive association given the chosen lags and variables, not true causation, and with enough asset pairs tested at once, some will show a "significant" lead-lag pattern purely from multiple testing and microstructure noise (like stale quotes or asynchronous trading) rather than real information flow — the same multiple-comparisons caution that applies to correlation-graph thresholds applies here too.

Related concepts

Practice in interviews

Further reading

  • Granger, Investigating Causal Relations by Econometric Models and Cross-Spectral Methods (1969)
  • Lo & MacKinlay, When Are Contrarian Profits Due to Stock Market Overreaction? (1990)
ShareTwitterLinkedIn