Link Prediction on Financial Graphs
Link prediction asks which pair of nodes in a graph is most likely to connect next — in finance, which two companies are about to form a supply relationship, a correlation, or a counterparty exposure — turning a static snapshot of a network into a forecast about how it will change.
Prerequisites: Graphs as Data: Adjacency and Node Features, Graph Convolutional Networks (GCN)
A supply-chain graph, an ownership network, a correlation graph of returns — all of these are snapshots of relationships that exist today. But the interesting question is often forward-looking: which two companies are about to start trading with each other, which fund is about to build a stake, which pair of stocks is about to start moving together. Link prediction is the general machine learning task of estimating, from a graph's current structure, how likely it is that an edge exists (or will soon exist) between two specific nodes that are not currently connected.
The analogy: guessing who will become friends
Think of a social network where you can see who is already friends with whom, but not everyone's full friend list — some links are simply missing, hidden, or haven't formed yet. You would guess two people are likely to become friends if they already share many mutual friends, if they belong to the same tightly-knit group, or if their existing connections tend to lead to further connections in a predictable pattern. Link prediction on a financial graph works identically: two companies sharing many suppliers, sitting close together in an ownership network, or having many common counterparties, are treated as more likely to form a new direct link (a trading relationship, a correlation, a shared institutional owner) than two nodes with nothing in common.
From a graph to a prediction score
The simplest link-prediction methods score a candidate pair of nodes using only the graph's structure. Common neighbors counts how many nodes both and already connect to:
In words: count the neighbors that and share; more shared neighbors means a higher predicted chance of a future link between them. A refinement, Adamic-Adar, downweights common neighbors that are themselves highly connected to everyone (a company that supplies half the market tells you less than one that supplies only two firms):
In words: for every shared neighbor , add a contribution that shrinks the more connections itself has — a rare shared connection counts for more than a ubiquitous one. Modern approaches replace hand-built scores like these with a GNN: run message passing to get a learned embedding per node, then feed the pair of embeddings (often just concatenated or dot-producted) into a classifier trained to output "link" or "no link."
Worked example 1: common neighbors and Adamic-Adar by hand
Consider companies and , currently not directly linked in a supplier graph, that share two common suppliers, and . Supplier has 20 customers total; supplier has only 3 customers total. Common-neighbors score: . Adamic-Adar score: . Compare to a second pair, and , who also share exactly 2 common suppliers, but both of those suppliers have 50 customers each: Adamic-Adar . Same common-neighbor count of 2 for both pairs, but Adamic-Adar ranks as roughly 2.4 times more likely to link — because sharing two rare suppliers (, mostly, and especially ) is far more informative than sharing two ubiquitous ones.
Worked example 2: turning scores into a decision with a threshold
Suppose a desk scores every non-connected pair in a 500-company graph with Adamic-Adar, producing scores ranging from 0 to about 3. Historically, pairs that went on to form a real link within a quarter had an average score of 1.8, while pairs that never linked averaged 0.3. Setting a decision threshold at score flags a pair as "likely to link." Applying that threshold to the two pairs above: at clears the threshold and gets flagged for monitoring; at does not. In practice this threshold would be tuned against a labeled historical set — pairs that later did or did not form links — by picking the cutoff that maximizes precision at an acceptable recall, exactly like tuning any binary classifier.
The classifier boundary above illustrates the same tradeoff link prediction faces: pick a score threshold too loose and you flag mostly noise (false positives), too tight and you miss real emerging links (false negatives).
Link prediction scores a pair of unconnected nodes by how structurally "close" they already are — shared neighbors, shared communities, or a learned GNN embedding similarity — and treats a high score as a forecast that a direct edge will appear. Adamic-Adar improves on plain common-neighbor counting by discounting shared connections that are themselves highly connected to everyone.
What this means in practice
Quant uses include forecasting new counterparty exposures before they show up in disclosed filings, anticipating supply-chain relationships from patent citations or shipping data before they are publicly reported, and predicting which pairs of assets are about to become correlated (useful for pairs-trading candidate discovery) purely from a rolling correlation graph's current structure. The main failure mode is a highly imbalanced label set — in any real graph, the overwhelming majority of possible node pairs never link, so a naive classifier can get high accuracy by predicting "no link" for everything; evaluation has to use rank-based metrics (like AUC on the ranked scores) rather than raw accuracy.
Practice
- Recompute the Adamic-Adar score for if supplier 's customer count were 30 instead of 3.
- Explain in one sentence why plain common-neighbor counting can be misled by an extremely well-connected "hub" node.
- A correlation graph link-prediction model reports 99% accuracy. Why is that number close to meaningless on its own, and what would you ask for instead?
The common confusion is treating a high link-prediction score as evidence that a relationship already exists but is merely undisclosed, when it is really a forecast about the future based on structural similarity, carrying real uncertainty. A high score means "these two nodes look like the kind of pair that tends to link," not "these two nodes are secretly linked right now" — conflating the two turns a probabilistic screening tool into an unfounded factual claim.
Related concepts
Practice in interviews
Further reading
- Zhang & Chen, Link Prediction Based on Graph Neural Networks (2018)
- Liben-Nowell & Kleinberg, The Link Prediction Problem for Social Networks (2007)