Execution algorithms

Why execution algos

structural
Reviewed 4 June 2026. As of 2026: a permanent feature of the market, not an edge that decays.

Dump a large order at once and impact destroys your price; trade it slowly and you’re exposed to risk. Execution algorithms exist to manage exactly that trade-off.

The idea

Why execution algos annotated diagramfigure
Dump a large order at once and impact destroys your price; trade it slowly and you’re exposed to risk. Execution algorithms exist to manage exactly that trade-off.

Reference figure. This concept is explained in prose and diagram; the interactive widgets live on the flagship pages it links to under Where this fits.

What goes wrong when you send a big order at once?

Two things, and both cost you money. First, market impact: a marketable order larger than the size resting at the touch sweeps through deeper price levels, so your average fill is strictly worse than the quoted price. Second, signalling: a large, visible order tells everyone your direction, and they reprice or trade ahead of you, moving the market against you before you finish. Slicing the order into small child orders over time attacks both, at the cost of taking longer, which exposes you to price drift.

Impact, intuitively. The limit order book only holds so much size resting at the best price. A buy of 250 lots against 120 at the touch eats the touch, then pays up to the next level, then the next. Your realised average is the size-weighted price of everything you swept, worse than the touch by construction. Part of that move is temporary (the book refills once you stop) and part is permanent (the trade revalues the asset); that split is the whole subject of market impact.

The square-root law. Empirically, impact grows roughly with the square root of size, not linearly. Trading twice as much costs only about 21.4×\sqrt{2} \approx 1.4\times the impact: sublinear, but unbounded, so size still hurts.

The Gatheral / empirical square-root law: impact scales with the square root of the fraction of daily volume you represent, with YY a dimensionless constant of order one, σ\sigma volatility, QQ order size and VV daily volume.
I(Q)YσQV\mathcal{I}(Q) \approx Y\,\sigma\,\sqrt{\tfrac{Q}{V}}

Signalling is a separate cost. Even where the book is deep enough to absorb you, a large visible order leaks information. Market makers managing adverse selection, and predatory traders, infer "large buyer present" and step in front, so the price moves before your later children fill. Hiding the parent is half the job. See schedule gaming.

What is the parent / child decomposition?

The trade you want ("buy 500,000 shares") is the parent order. The execution algorithm never sends that; it emits a stream of small child orders (limit and market orders, a few hundred shares each) spread over minutes or hours and across venues. The entire craft of execution is the mapping from one parent into that child stream.

Each child is small enough to be absorbed near the touch and indistinguishable from ordinary flow, so the parent stays disguised. Children are a mix of passive (post a limit order, earn the spread, risk not filling) and aggressive (cross the spread, pay it, guarantee the fill): the maker-taker choice, re-made on every child.

The schedule (how many children, how big, when) is what TWAP, VWAP, POV and IS algorithms decide; see VWAP, TWAP & POV. Where each child routes is the job of smart order routing. Together, the schedule and the router are the algorithm.

The core trade-off: market impact vs timing risk

Slicing solves impact but creates a new problem. The slower you trade, the smaller each child's impact, but the longer your position is exposed to price drift before you finish (timing risk). Trade fast and pay impact; trade slow and risk the price running away. There is no free choice; there is an optimum.

Intuition. Imagine buying over a full day. If the price rallies before you finish, you buy the rest much higher, and that adverse drift is the timing-risk cost, and it scales with volatility σ\sigma and the horizon TT. Buy faster and you cut the exposure window but concentrate impact. The two costs move opposite ways in TT: expected impact falls as you slow down, while the variance of your cost rises (more time for the random walk to drift).

Total cost is expected impact, which grows with trading speed, plus a risk penalty on timing, which grows with slowness; you minimise the weighted sum, and λ0\lambda \ge 0 is your risk-aversion.
min  E[impact]grows with speed  +  λV[timing]grows with slowness\min \; \underbrace{E[\text{impact}]}_{\text{grows with speed}} \;+\; \lambda\,\underbrace{V[\text{timing}]}_{\text{grows with slowness}}

Plotting the sum against the horizon gives a U-shape with a minimum, but the right point depends on how much variance you can stomach. This is exactly what Almgren–Chriss formalises: the dilemma becomes a mean-variance objective and an efficient frontier, and your λ\lambda picks the point. This page gives you the dilemma; that page solves it in closed form.

Agency vs principal: the distinction that makes execution a business

In agency execution a broker or desk trades on your behalf for a commission and takes no position; its product is execution quality, measured by slippage versus a benchmark. In principal execution the desk fills you from its own book and takes the market risk, charging a spread for the immediacy. The conflicts, regulation and P&L differ entirely.

Agency is principal-free: the desk's only job is to beat the benchmark (VWAP, arrival price) by working your order well. It competes on measured quality, transaction-cost analysis (TCA), and wins mandates by reliably saving basis points. This is a real, durable fee business, and the commercial point of the whole execution topic.

Principal (also "risk" or "capital" trading): the desk takes the other side immediately at an agreed price, then works out of the position itself. You get certainty; the desk gets paid for warehousing your risk and bears the impact. This is the market maker's seat. See spread vs adverse selection.

Why it matters to a builder. If you run your own alpha, you are doing principal execution on yourself: good execution is the difference between an edge that survives sizing and one that dies to its own impact, bending the capacity / alpha-decay curve. If you build for clients, you are agency, and your TCA is the product.

Worked example

A concrete, checkable case as of 2026 (illustrative synthetic figures, not advice). Parent: buy 500,000 shares of a stock with daily volume V=10,000,000V = 10{,}000{,}000 shares (so the order is 5% of ADV), volatility σ=2%\sigma = 2\% per day, mid 100.00, with the touch offering 2,000 shares at 100.01.

Send it all as one market order. You sweep far past the 2,000 at the touch, walking many levels. Even on a deep book, swallowing 5% of a day's volume in one print is brutal: a realised average around 100.40, i.e. roughly 40 bps of impact, most of it temporary but some permanent.

Slice over the day at about 5% participation and apply the square-root law with a typical Y0.5Y \approx 0.5: slicing roughly halves the impact versus the block, to about 22 bps.
I0.5×200bps×0.050.5×200×0.22422bps\mathcal{I} \approx 0.5 \times 200\,\text{bps} \times \sqrt{0.05} \approx 0.5 \times 200 \times 0.224 \approx 22\,\text{bps}

But now you are exposed to the day's σ=2%\sigma = 2\% drift while you work, and if the stock rallies you pay up on the unfilled remainder. The trade-off in numbers: trade in one hour instead of a full day and impact rises (higher participation), but your timing-risk exposure shrinks to roughly 2%×1/6.50.78%2\% \times \sqrt{1/6.5} \approx 0.78\% of a day's volatility. Faster means more impact and less drift exposure; Almgren–Chriss tells you the optimal point given your risk-aversion. Reverify YY against your own fills; impact coefficients are instrument- and regime-specific.

Where this fits