Skip to content
Finance Lessons

Algorithmic Trading & Execution

Optimal Execution & the Almgren–Chriss Frontier

Trade market impact against timing risk: how the Almgren–Chriss efficient frontier, your risk aversion, and a decaying alpha signal jointly set the optimal speed to execute a large order.

13 min Updated Jun 13, 2026

You have ten million dollars of stock to sell. Slam it into the market in one second and you’ll move the price against yourself — a brutal, certain cost. Dribble it out over a week and you’ll barely nudge the tape — but for a whole week the price is free to wander off a cliff before you finish. There is no order size at which selling is both cheap and certain. Optimal execution is the art of picking where on that brutal trade-off you want to stand. This lesson hands you the map practitioners actually use: the Almgren–Chriss efficient frontier.

Before you read — take a guess

You must liquidate a large position. As you stretch the execution out over a longer horizon, what happens to your two costs?

The two costs you are trading off

The analogy. Crossing a fast river, you choose a speed. Sprint across and you make a huge splash — you spend energy fighting the water (that’s market impact), but you’re only exposed to the current for a heartbeat. Wade slowly and you barely ripple the surface (tiny impact), but now the current has minutes to shove you downstream to who-knows-where (that’s timing risk). Same river, two completely different ways to get wet.

The precise version. Splitting a parent order into child slices over a horizon TT produces two distinct costs:

  • Expected cost — market impact. Each slice you trade consumes liquidity and walks the price away from you. Trade in bigger, faster chunks and the impact per share grows. So the expected (average) cost of execution falls as you slow down: smaller slices, gentler footprint.
  • Timing risk — the variance of cost. While you still hold un-executed shares, the price drifts randomly with volatility σ\sigma. The longer the horizon, the more the price can wander before you’re done, so the variance of your realized cost rises as you slow down. Over a horizon TT the standard deviation of cost scales roughly with σT\sigma\sqrt{T} on the remaining inventory.

The headline: expected cost and timing risk pull in opposite directions as you change speed. You cannot minimize both at once.

Info:

Impact vs. risk, in one line

Impact is what you do to the price by trading. Timing risk is what the market does to the price while you wait. Faster trading trades more of the second for more of the first.

When to lean which way

If volatility is low and the spread/depth is thin (impact-dominated, calm tape), patience pays — slow down. If volatility is high and liquidity is deep (risk-dominated, jumpy tape), get it done — speed up. The whole point of a framework is to make that lean quantitative instead of a gut call.

Complete the trade-off.

Pick the right option for each blank, then check.

As you execute MORE slowly, expected market-impact cost , while the timing risk — the of your execution cost — .

The Almgren–Chriss efficient frontier

The analogy. Think of every possible execution schedule as a different restaurant on a map, plotted by price (expected cost) and unpredictability (risk). Lots of restaurants are simply bad — overpriced and unreliable. Throw those out and you’re left with the efficient frontier: the menu of options where you can only get cheaper by accepting more uncertainty. Almgren and Chriss (2000) showed that for large-order execution this frontier is a clean, well-behaved curve.

The precise version. Each feasible trading speed maps to one (expected cost, risk)(\,\text{expected cost},\ \text{risk}\,) pair. The non-dominated pairs form the frontier. A trader collapses that whole curve to a single chosen point by minimizing a mean–variance objective:

minschedule  E[cost]+λVar[cost]\min_{\text{schedule}}\; E[\text{cost}] + \lambda\,\mathrm{Var}[\text{cost}]

where λ0\lambda \ge 0 is the risk-aversion coefficient — your personal price on uncertainty.

  • High λ\lambda (risk-averse) → variance is expensive → trade FAST. You land at the top-left of the frontier: high expected cost, low risk.
  • Low λ\lambda (risk-tolerant) → you barely penalize variance → trade SLOW. You land at the bottom-right: low expected cost, high risk.
  • λ=0\lambda = 0 (risk-neutral) → minimize expected cost only → trade as slowly as the horizon allows, since impact is all that’s left.
  • λ\lambda \to \infty (infinitely risk-averse) → variance dominates everything → trade immediately, accepting maximal impact to kill all timing risk.

Crucially, the optimal trajectory is not a flat (linear) liquidation. For positive λ\lambda it’s a smooth, roughly exponentially decaying schedule — sell faster early (when you have the most inventory exposed to risk), then taper. The decay rate is governed by λ\lambda, σ\sigma, and the impact coefficients.

The efficient frontier of execution
Timing risk — std of cost (bps)Expected cost (bps)
Trade fast: high cost, low riskTrade slow: low cost, high risk
Expected cost9.4 bpsTiming risk20.0 bps

Drag the risk-aversion slider: high λ snaps the chosen point to the fast, low-risk corner; low λ slides it to the slow, low-cost corner. Every point on the curve is 'optimal' for *some* λ.

Warning:

A frontier is a menu, not an answer

Almgren–Chriss does not tell you the single ‘right’ speed — that would require knowing your λ. It tells you which speeds are defensible (on the frontier) versus dumb (inside it). Picking the point is a preference, not a calculation.

Match each risk-aversion regime to its place on the frontier.

Pick a term, then click its definition.

A worked trade-off

Suppose you must liquidate the same block and you’ve estimated, for three candidate horizons, the expected impact cost (in basis points) and the timing-risk standard deviation (also in bps). Slower horizons cut impact but balloon risk:

HorizonExpected cost EE (bps)Timing-risk std σc\sigma_c (bps)Variance Var=σc2\mathrm{Var} = \sigma_c^{\,2} (bps²)
1 hour24636
1 day1218324
1 week6401600

Now score each with the mean–variance objective E+λVarE + \lambda\,\mathrm{Var} for two different traders. To keep units sane we measure variance in bps² and use a small λ\lambda (in 1/bps²).

Risk-tolerant trader, λ=0.005\lambda = 0.005:

HorizonEEλVar\lambda\,\mathrm{Var}Score E+λVarE + \lambda\,\mathrm{Var}
1 hour240.005×36=0.180.005 \times 36 = 0.1824.18
1 day120.005×324=1.620.005 \times 324 = 1.6213.62
1 week60.005×1600=8.000.005 \times 1600 = 8.0014.00

Lowest score wins → the 1-day schedule (13.62) edges out the week (14.00) and crushes the hour (24.18). A patient trader leans slow but not maximally slow.

Risk-averse trader, λ=0.02\lambda = 0.02:

HorizonEEλVar\lambda\,\mathrm{Var}Score E+λVarE + \lambda\,\mathrm{Var}
1 hour240.02×36=0.720.02 \times 36 = 0.7224.72
1 day120.02×324=6.480.02 \times 324 = 6.4818.48
1 week60.02×1600=32.00.02 \times 1600 = 32.038.00

Now the 1-day schedule (18.48) still wins, the week is punished hardest (38.00), and the hour is in between. Quadruple λ\lambda again to 0.080.08 and the hour’s score becomes 24+0.08×36=26.8824 + 0.08\times36 = 26.88 while the day becomes 12+0.08×324=37.9212 + 0.08\times324 = 37.92 — the fast 1-hour plan finally takes over. Same three options, different optimal choice purely because of λ\lambda.

Tip:

Why variance, not std, in the objective

The penalty is λVar\lambda\cdot\mathrm{Var}, not λstd\lambda\cdot\text{std}. Squaring the risk makes the objective quadratic, which is what gives the optimal schedule its clean closed form and its smooth exponential shape. It also means doubling the timing-risk std quadruples its penalty — risk gets expensive fast.

If a fourth option had E = 14 bps and σ_c = 5 bps, would any trader ever pick the 1-hour plan over it?

No. That fourth option has lower expected cost (14 < 24) and lower risk (5 < 6) than the 1-hour plan — it dominates it on both axes. The 1-hour schedule would sit strictly inside the frontier, never on it, so for no value of λ does E+λVarE+\lambda\mathrm{Var} favor it over the fourth option. Dominated points are simply removed before you ever pick λ.

Alpha decay sets the urgency

The analogy. Two people hold melting ice-cream cones. One has gelato in July (melts in minutes); the other has a cone in a freezer aisle (basically stable). “Eat slowly to enjoy it” is fine advice for the freezer cone and ruinous for the July one. Your alpha signal is the ice cream, and its decay rate decides whether patience is a virtue or a leak.

The precise version. So far we balanced impact against timing risk. But if you’re trading on a signal with expected return — a forecast that the price will move your way — then waiting forfeits alpha as the edge decays. Model the signal’s value as decaying over time (often roughly exponentially, with half-life τ\tau). The un-captured alpha behaves like an extra, deterministic timing cost layered on top of variance:

minschedule  E[impact]trade slower → smaller  +  λVar[cost]trade slower → bigger  +  alpha foregonetrade slower → bigger\min_{\text{schedule}}\; \underbrace{E[\text{impact}]}_{\text{trade slower → smaller}} \;+\; \underbrace{\lambda\,\mathrm{Var}[\text{cost}]}_{\text{trade slower → bigger}} \;+\; \underbrace{\text{alpha foregone}}_{\text{trade slower → bigger}}

Two of the three terms now grow when you slow down, so a decaying signal pushes the optimum toward FAST execution — even for a risk-neutral trader who otherwise wouldn’t care about speed.

  • Fast-decaying alpha (stat-arb, microstructure signals, an edge that’s gone in minutes/hours): execute aggressively. A clever schedule that saves 3 bps of impact is worthless if it forfeits 15 bps of evaporating edge.
  • Slow-decaying alpha (a long-horizon value thesis good for months): the signal isn’t going anywhere, so you can work the order patiently and let impact savings dominate.

This is exactly why a stat-arb desk and a long-horizon value fund execute the identical order completely differently. Same stock, same shares, same frontier — but wildly different τ\tau, so wildly different optimal speed.

Warning:

The classic blunder: optimizing impact in a vacuum

Tuning a schedule to minimize market impact while ignoring alpha decay systematically makes you too slow. You’ll proudly report low impact cost in your TCA while quietly bleeding the very edge the trade existed to capture. Always carry the alpha-decay term in the objective.

A stat-arb signal with a 20-minute half-life and a value fund's 6-month thesis both need to liquidate the same 200k-share block. How should each execute?

Fill in the urgency rule.

Pick the right option for each blank, then check.

A signal that decays QUICKLY makes waiting expensive, so the optimal schedule shifts toward execution; a signal with SLOW decay can be to capture impact savings.

Putting it together

Optimal execution is a single decision — how fast? — answered by weighing three forces: market impact (cheaper slow), timing risk (cheaper fast), and alpha decay (cheaper fast). Almgren–Chriss draws the frontier of defensible speeds; your risk aversion λ\lambda and your signal’s half-life pick the point.

Big picture

Optimal execution at a glance

  • Optimal execution
    • Two base costs
      • Market impact — falls as you trade slower
      • Timing risk (Var) — rises as you trade slower
    • Almgren–Chriss frontier
      • Each speed → (E[cost], risk) pair
      • Frontier = non-dominated pairs
      • Optimal trajectory ≈ exponential decay, not linear
    • Risk aversion λ
      • min E[cost] + λ·Var[cost]
      • λ=0 → slowest; λ→∞ → instant
    • Alpha decay
      • Fast decay → trade fast (forfeited edge ≈ extra cost)
      • Slow decay → work patiently
Three forces set one number: the speed.

Lock in the execution frontier

Question 1 of 40 correct

On the Almgren–Chriss frontier, the bottom-right corner (lowest expected cost, highest risk) corresponds to which trader?

Check your answer to continue.

You can now reason about how fast to trade. The natural next question is how well did I actually do? — measuring realized slippage against benchmarks like arrival price, VWAP, and implementation shortfall, and deciding whether your impact and timing-risk estimates were any good. That’s the job of the next lesson: Transaction-Cost Analysis (TCA).

Mark lesson as complete