Quant Memo
Core

Capacity of Machine-Learning Signals

How much money a machine-learning alpha signal can actually absorb before its own trading erodes the edge it was found to have — and why capacity, not raw predictive accuracy, is often the real ceiling on how useful a signal is.

Prerequisites: Converting Model Scores into Positions

A machine-learning signal that shows an excellent information coefficient on a small backtest can still be nearly worthless as a real strategy if it can only support, say, $5 million of capital before its own trades start moving the price against it. Predictive accuracy answers "does the model know something true"; capacity answers a completely different question — "how much money can act on that knowledge before the acting itself destroys the edge." A brilliant signal with a $5 million capacity is a very different business proposition from a mediocre signal with a $500 million capacity, and conflating the two is a common and costly research mistake.

Why capacity has a hard ceiling

Every trade a strategy places to act on its prediction pushes the price a little, and that price impact eats directly into the return the signal predicted. As position sizes grow, the market impact of establishing and unwinding those positions grows faster than the raw predicted edge does, because impact scales with how large an order is relative to the market's available liquidity, while the underlying return forecast doesn't get any bigger just because you're trading more of it. A simple way to see this: expected net return per trade roughly behaves like

net returnαcQγ,\text{net return} \approx \alpha - c \cdot Q^{\gamma},

where α\alpha is the model's predicted edge, QQ is trade size, cc is a cost coefficient reflecting the instrument's liquidity, and γ\gamma is typically greater than 1 (impact grows faster than linearly with size in many models). In plain English: as you trade bigger to deploy more capital, the cost term grows faster than the edge does, and at some size the two cancel out — that crossover point is the strategy's capacity.

Worked example: capacity differs sharply by instrument

A short-horizon ML signal traded on a small-cap stock with average daily volume of $2 million might see its edge fully consumed by market impact once a single position exceeds roughly $150,000 — trying to deploy $5 million of capital across such names would mean trading a large multiple of daily volume, and impact costs would overwhelm any predicted return. The same signal's underlying logic, applied instead to a large-cap stock with $500 million of daily volume, might comfortably support $50 million or more of capital before impact becomes a binding constraint — the model's raw predictive skill (its information coefficient) might even be lower on the large-cap universe, yet the strategy built on it is worth vastly more in dollar terms because it can actually be scaled. This is why capacity estimates are always specific to the instrument and its liquidity, not a property of the model in the abstract.

0 capacity limit position size / capital deployed →
Net expected return starts positive but declines as market impact grows with position size, crossing zero at the strategy's capacity — beyond that point, deploying more capital destroys value rather than adding it.

What this means in practice

Capacity should be estimated empirically before scaling any ML signal into production — by simulating impact costs against real volume and spread data for the target universe at increasing hypothetical position sizes — rather than assumed to be large just because the backtest's information coefficient looks strong. This is also why many highly accurate ML signals live only in academic papers or small proprietary books: the same feature engineering that finds a real, narrow inefficiency in a less liquid corner of the market often finds one that simply cannot support institutional-scale capital, and knowing that ceiling in advance is part of deciding whether a signal is worth building into a production strategy at all.

It's tempting to judge a signal's value entirely by its information coefficient or Sharpe ratio from a backtest that never simulates market impact. A signal's dollar value to a real portfolio depends just as much on its capacity — how much capital it can absorb before its own trading erodes the edge — and ignoring capacity is how backtests that look excellent turn into strategies that can barely be traded.

Related concepts

Practice in interviews

Further reading

  • Kissell, The Science of Algorithmic Trading and Portfolio Management, ch. 3
ShareTwitterLinkedIn