The Square-Root Law of Market Impact: Why Impact Scales Like √Q
Trade twice as much and the price moves roughly 40% more, not twice as much. This regularity is unusually robust across asset classes — and Kyle's classic model says impact should be linear. Here's how the data beat the theory, how theory caught up, and how to use the law to price your own trades.
There’s a regularity that shows up across asset classes, time periods, and execution strategies: the price impact of a trade grows like the square root of the trade size.
where is the trade size, is the daily volume, is the daily volatility, and is a coefficient typically in the range 0.5–2.0 (often around 1 for liquid stocks).
This is the square-root law of market impact, documented in US equities (Keim and Madhavan, 1996; Almgren, Thum, Hauptmann, 2005), European equities (Bouchaud and Bonart, 2014), FX (Mancini, Ranaldo, Wrampelmeyer, 2013), futures (Lillo, Farmer, Mantegna, 2003), and crypto (Bouchaud, Bonart, Donier, Gould, 2018). Empirical finance has very few regularities that replicate across this many markets.
Here’s what makes it interesting: microstructure’s most classic theoretical model disagrees with it. The Kyle model (article 6) says impact is linear in — lambda is a constant. The data say sub-linear: . This article is the story of the data beating the theory: first the data itself, then how theory caught up, and finally how you use the law at the execution desk. Harris doesn’t devote a chapter to the square-root law, but it is the workhorse of practitioner impact models.
The Data First
Almgren, Thum, and Hauptmann (2005) fit the power-law form directly on a very large sample of real institutional orders from a major trading operation:
Estimates of the exponent from that study and the follow-on literature mostly land between 0.4 and 0.6, clustering near 0.5.
In words: with fixed, doubling increases impact by a factor of , not 2. Quadrupling merely doubles impact. Ten times more gives times more impact. This is sub-linear scaling: large orders are less efficient per unit than small ones, but the inefficiency grows slowly — a 100× larger order carries only ~10× more impact, not 100×. For anyone executing size, it’s good news wrapped around bad news: hammering the market costs less than linear extrapolation suggests, but it also means even small orders carry non-trivial impact.
How Theory Caught Up
Three routes have been proposed to close the gap between linear Kyle and square-root data. Each gets part of the story right, and each is missing a corner.
Route one: Kyle plus information decay. Single-period Kyle gives . But put the informed trader into a multi-period model — building the position over periods while the information decays — and the cumulative impact of total flow becomes approximately:
which is sub-linear in for fixed noise-trading variance . The intuition: the more you trade, the more the market maker’s beliefs update, so each subsequent trade has less marginal impact — the first 10% of the order moves the price most, the last 10% least. This route’s contribution is showing that square-root impact is compatible with rational pricing; its missing corner is that “why exactly 0.5” depends on the particular setup.
Route two: the diffusive picture of liquidity. Bouchaud and co-authors (2009, 2010, 2014) argue the square-root law comes from order flow propagating through a population of market participants: each has finite trading capacity and takes time to absorb flow, and the aggregate behaves like a diffusion, with impact growing like the square root of cumulative volume. A minimal toy equation writes impact as driven by order flow while decaying on its own:
a first-order relaxation process, with steady state
Note that this toy by itself produces exponential saturation, not yet a square root; to get behavior you must replace the instantaneous decay with a slowly decaying memory kernel — which is exactly what the Bouchaud-school propagator models do. This route’s contribution is generating the observed shape naturally — approximately square-root at short horizons, drifting toward linear at long ones; its cost is a model further from first principles.
Route three: the shape of the order book. Book depth grows with distance from the midprice. If depth at price is roughly
for some scale , a market order of size eats through the book to
where is depth at the touch. For small that’s approximately linear (); for large , logarithmic. Also sub-linear — but log, not square-root. So the visible book alone can’t account for the law; the square-root behavior emerges from the mix of order types and trader behavior, above all the latent liquidity that never rests on the book. The lesson from this route is actually the most useful one: don’t expect a snapshot of the order book to tell you the true cost of a large order.
The Practitioner Form and a Feel for Magnitudes
Practitioners run the law as a parameterized formula:
where is daily volatility (annualized divided by , or daily realized vol), is daily dollar volume, is an asset-class-specific coefficient (typically 0.5–2.0), and is a horizon adjustment whose convention varies by shop — powers like are common, and some desks rewrite the whole thing in terms of the participation rate . The units are (volatility) × (dimensionless ratio), returning a percentage impact.
Why do and appear? Because they are the two natural normalizers. In a high-vol environment the price is moving anyway — a 10 bp impact on a 1%-vol day is “small” relative to the natural range, while the same 10 bps on a 0.1%-vol day is “huge” — so impact only becomes comparable across regimes after normalizing by volatility. Volume simply is liquidity: the same dollar size has less impact in a high-volume name because the market is actively absorbing flow. The combination is the price impact per unit of flow, normalized for natural volatility — it strips out the “obvious” scaling and leaves the structural part.
For a feel of the magnitudes — a $1M trade in a stock with $\sigma = 2%V = $50MY = 1$:
A $1M trade moves the price 28 bps — a $0.28 move on a $100 stock, a reasonable magnitude for an institutional block.
Python Implementation
import numpy as np
def sqrt_impact(Q, V, sigma, Y=1.0):
"""
Square-root market impact forecast.
Q: trade size in dollars
V: daily volume in dollars
sigma: daily volatility (decimal)
Y: impact coefficient (default 1.0)
Returns: expected price impact as decimal (e.g., 0.002 = 20 bps).
"""
if V <= 0:
return np.nan
return Y * sigma * np.sqrt(Q / V)
# Examples
print(f"$100k in liquid stock: {sqrt_impact(1e5, 5e8, 0.015)*1e4:.1f} bps")
print(f"$1M in liquid stock: {sqrt_impact(1e6, 5e8, 0.015)*1e4:.1f} bps")
print(f"$10M in liquid stock: {sqrt_impact(1e7, 5e8, 0.015)*1e4:.1f} bps")
print(f"$1M in small-cap: {sqrt_impact(1e6, 5e6, 0.025)*1e4:.1f} bps")
Each doubling of trade size multiplies the output by roughly — the concavity is visible directly.
Where the Law Breaks
The square-root law is robust, not universal, and you should know its borders before leaning on it. The size axis has a failure zone at each end. For very small orders (, under 0.1% of daily volume), impact is often closer to linear in — square-root behavior only emerges at larger sizes. For very large orders (, over 10% of daily volume), impact can grow faster than — you’re exhausting the day’s liquidity and impact accelerates. The two orders of magnitude in between are the law’s home turf, and most institutional flow happens to live there. The Almgren-school estimates match this picture: for liquid US equities when sits between 0.001 and 0.1, with shrinking below the range, growing above it, and running higher across the board in volatile regimes.
Beyond size, regimes. In trending markets the price is moving with the trend anyway, and impact measured against a trend-adjusted price can come out sub-square-root or even negative. Call auctions (open and close) run on entirely different impact dynamics — the law doesn’t apply there. In crisis periods — crashes and flash events — impact per dollar can run 10–100× normal; the law still holds directionally, but with a much larger . And in very illiquid crypto alts the law often fails outright: the book is too thin to support any continuous function. The border summarized in one line: the square-root law is a useful default — in unusual conditions, recalibrate locally.
The Almgren-Chriss Connection
A question that trips people up: Almgren-Chriss (article 9), the canonical optimal-execution model, assumes linear impact — does that contradict the square-root law?
Almgren-Chriss assumes instantaneous temporary and permanent impact both linear in the trading rate :
The total impact of a trajectory is the integral, which for uniform trading of total size over periods gives:
Altogether — linear in , not square-root. So the two aren’t measuring the same object: Almgren-Chriss captures the per-instant impact, while the square-root law captures the integrated effect over longer horizons once information diffusion is in the picture. In practice both are used, divided by horizon: Almgren-Chriss for short-horizon trajectory optimization (minutes to hours), the square-root law for long-horizon cost estimation (hours to days).
The square-root law has a time dimension of its own worth adding here. A more refined version writes out how impact accumulates during the execution:
At (end of execution) you’ve paid the full square-root impact; at , half of it — a useful interpolation. Trajectory shape therefore matters: uniform trading accumulates impact smoothly, front-loading pays most of it upfront, back-loading defers it to the end.
Using It to Make Trading Decisions
The law’s core job at the execution desk is putting cost and alpha on the same sheet of paper, before the trade. You have a $10M parent order; the options line up from fast to slow. Trade it all at once: pay $\sigma \cdot \sqrt{10M/V}$of impact — for$V = $100M$daily and$\sigma = 2%$, that's $0.02 \cdot \sqrt{0.1} \approx 0.63% = 63$ bps. Trade over the day: each child order pays less, total cost depends on the trajectory, and Almgren-Chriss gives the optimum. Trade over multiple days: lower impact still, but now you’re exposed to alpha decay and price drift — the longer the horizon, the more market risk.
Then do the arithmetic. A $10M trade at 63 bps of expected impact is $63{,}000 of expected cost. If the alpha you expect this trade to capture is only 50 bps, your net is negative — don’t trade. If it’s 100 bps, your net is positive — trade. The rule is cold: act only when alpha exceeds impact. It sounds banal, but it separates “I have a signal” from “does this signal still make money at my size” — and plenty of strategies die on the second question.
There’s a strategic implication hiding here too: the optimal execution speed depends on whether your alpha decays. If your alpha is stable, stretch the execution over the longest horizon you can — trade time for impact. If your alpha evaporates over time, trade fast, accept the higher impact, and capture it before it’s gone. The optimal horizon balances those two forces, and Almgren-Chriss formalizes the balance in a mean-variance framework. Harris’s discussion of dealer behavior (Ch. 13) runs on the same logic implicitly: dealers balance the cost of holding inventory against the cost of demanding immediacy.
Y Is Not a Constant: Calibration
The least honest symbol in the formula is . It varies by asset class (equities around 1, FX lower, crypto alts anywhere from 2–5), by market regime (higher under stress), by order type (immediacy-demanding market orders above limit orders), by time of day (higher at the open and close), and by whose flow it is (institutional metaorders measure higher than retail flow). So don’t treat as a universal truth — estimate it for your own setup.
The literature’s magnitudes are summarized below — read this table as rough directional reference, not calibration values; your numbers will differ by regime and execution method:
| Asset Class | Y Estimate | Source |
|---|---|---|
| US Large-Cap | 0.8 – 1.2 | Almgren-Thum-Hauptmann 2005 |
| US Small-Cap | 1.2 – 1.8 | Keim-Madhavan 1996 |
| European Equities | 1.0 – 1.5 | Bouchaud et al. 2014 |
| FX Majors | 0.4 – 0.8 | Mancini et al. 2013 |
| Crypto Majors | 0.8 – 1.5 | Brauneis et al. 2021 |
| Crypto Alts | 2.0 – 5.0 | Various, very noisy |
| US Treasuries | 0.6 – 1.0 | Pasquariello-Vega 2007 |
| Futures (ES) | 0.7 – 1.0 | Lillo-Farmer-Mantegna 2003 |
The good news is that estimating from your own data is straightforward. Collect execution records — each trade’s notional , time of day, asset, and realized impact against arrival price or VWAP — then run OLS on
Set expectations properly: realized impact is noisy, the typically comes out well below one, and you need thousands of trades before the estimate is worth trusting. Once the base estimate exists, refine it — separate estimates by time of day, market regime, and trade type, because is not constant along any of those dimensions.
Compressed into three sentences for the desk: impact scales like , so doubling size costs only 1.41× the impact; price every trade beforehand with and clear it against alpha — act only when the trade nets positive; and calibrate on your own data instead of trusting defaults.
References
- Harris, L. Trading and Exchanges: Market Microstructure for Practitioners. Oxford University Press, 2003. Ch. 13 (dealers), Ch. 19 (liquidity). ISBN: 978-0-19-514470-3.
- Almgren, R., Thum, C., Hauptmann, E. “Direct Estimation of Equity Market Impact.” Risk, 2005.
- Keim, D., Madhavan, A. “The Upstairs Market for Large-Block Transactions: Analysis and Measurement of Price Effects.” Review of Financial Studies, 1996.
- Bouchaud, J.-P. “Price Impact.” Encyclopedia of Quantitative Finance, 2010.
- Bouchaud, J.-P., Bonart, J., Donier, J., Gould, M. Trades, Quotes and Prices: Financial Markets Under the Microscope. Cambridge University Press, 2018.
- Lillo, F., Farmer, J., Mantegna, R. “Master Curve for Price-Impact Function.” Nature, 2003.