Skip to content

Bertsimas–Lo execution model

A dynamic-programming model for minimum expected execution cost: derive equal slices in the basic permanent-impact case and see why the result depends on price timing and information.

The Bertsimas–Lo execution model chooses how to divide a fixed stock order across a finite number of trading periods to minimise expected purchase cost. Its practical contribution is to treat optimal execution as a sequence of decisions: today's trade changes both the remaining order and the prices faced later. Bertsimas and Lo's 1998 paper solves this problem with stochastic dynamic programming.

Equal slices emerge from one particularly simple specification. That result is useful precisely because its assumptions can be written down and tested; it does not establish that a time-weighted schedule is generally optimal.

The price paid includes this trade's impact

Consider a buy programme for XX shares completed in TT equal-duration periods. Write StS_t for shares bought in period tt, with

St≥0,∑t=1TSt=X.S_t\ge0,\qquad \sum_{t=1}^{T}S_t=X.

Use the paper's basic price law, Eq. (2.3):

Pt=Pt−1+θSt+εt,θ>0.P_t=P_{t-1}+\theta S_t+\varepsilon_t,\qquad \theta>0.
Here PtP_t is the execution price paid for every share in that period, after the order's own linear market impact. It also becomes the next period's starting price, so this impact is permanent within the model. Prices and shocks have units USD per share; θ\theta has units USD per squared share, making θSt\theta S_t a price increment.

At the start of period tt, choose StS_t using information Ft−1\mathcal F_{t-1} already available, before observing εt\varepsilon_t. Assume independent, integrable, zero-mean shocks, independent of that information, so E[εt∣Ft−1]=0\mathbb E[\varepsilon_t\mid\mathcal F_{t-1}]=0. Trades cannot anticipate future shocks. The objective is

min⁡{St}E[∑t=1TPtSt].\min_{\{S_t\}}\mathbb E\left[\sum_{t=1}^{T}P_tS_t\right].

This is a risk-neutral cash-cost objective. There is no separate variance penalty, spread, fee, participation cap or partial-fill process here. Completion is required on every path, and quantities are divisible. The paper initially omits the no-sales constraint; we impose nonnegative buys, which its basic solution satisfies anyway.

A 100-share order makes the convention visible

Take fictional inputs P0=100P_0=100, X=100X=100, T=2T=2 and θ=0.01\theta=0.01. Set shocks to zero for the displayed price ledger. These deterministic schedules have the same expected costs with the stated zero-mean shocks.

Buys in periods 1 and 2 (shares)Period-1 price (USD/share)Period-2 price (USD/share)Total cash paid (USD)Cost above P0XP_0X (USD)
50, then 50100.50101.0010,07575
100, then 0101.00101.00; no purchase10,100100
40, then 60100.40101.0010,07676

For example, 50(100.50)+50(101.00)=10,07550(100.50)+50(101.00)=10{,}075. The second 50-share child inherits the first child's impact. Charging both children against an unchanged price of 100 would produce a different model.

Fictional two-period buy of 100 shares at initial price USD 100 with impact coefficient USD 0.01 per squared share. Total cost is USD 10,075 at a 50/50 split, USD 10,076 at 40/60, and USD 10,100 at 100/0. The cost curve has its minimum at 50 shares in period one.
Fictional two-period buy of 100 shares at initial price USD 100 with impact coefficient USD 0.01 per squared share. Total cost is USD 10,075 at a 50/50 split, USD 10,076 at 40/60, and USD 10,100 at 100/0. The cost curve has its minimum at 50 shares in period one.
Original hypothetical calculation under the basic Bertsimas–Lo post-impact execution-price convention; shocks are set to zero to display prices. The plotted costs also equal expected costs under the stated zero-conditional-mean shocks.

Why equal slices win here

Let Wt=X−∑k<tSkW_t=X-\sum_{k<t}S_k be the shares still to buy before choosing StS_t. Expanding the price recursion and collecting terms gives the following identity for expected cost:

E[∑t=1TPtSt]=P0X+θ2(X2+∑t=1TE[St2]).\mathbb E\left[\sum_{t=1}^{T}P_tS_t\right] =P_0X+\frac{\theta}{2}\left(X^2+\sum_{t=1}^{T}\mathbb E[S_t^2]\right).

The impact algebra uses ∑tSt∑j≤tSj=(X2+∑tSt2)/2\sum_tS_t\sum_{j\le t}S_j=(X^2+\sum_tS_t^2)/2. For the shocks, reorder their total contribution as ∑jεjWj\sum_j\varepsilon_jW_j. Remaining quantity WjW_j is known before shock jj, so each term has zero expectation. This argument also covers adaptive orders; later trade sizes need not be independent of earlier shocks.

On every completed path, ∑tSt2≥X2/T\sum_tS_t^2\ge X^2/T, with equality only when all slices equal X/TX/T. Thus

St∗=XT,E[C∗]=P0X+θX22(1+1T).S_t^*=\frac XT,\qquad \mathbb E[C^*]=P_0X+\frac{\theta X^2}{2}\left(1+\frac1T\right).

For the two-period example, write the first purchase as ss and the second as 100−s100-s. Total expected cash cost is 10,075+0.01(s−50)210{,}075+0.01(s-50)^2. Moving ten shares away from the equal split adds exactly USD 1; executing all 100 in one period adds USD 25.

Notice the nonzero term θX2/2\theta X^2/2. Increasing the number of slices at a fixed coefficient reduces the extra discrete-slice cost, but does not erase the accumulated permanent price change. This is a statement inside the model, not a calibration rule for ever-shorter real trading intervals. Permanent impact alone does not imply equal slicing: this result also uses the post-trade price charged to the entire child order.

What dynamic programming adds

The state is the previous price pp and remaining quantity ww. The Bellman equation compares today's cash payment with the best achievable cost afterwards:
Vt(p,w)=min⁡0≤s≤wE[Pts+Vt+1(Pt,w−s)∣Ft−1].V_t(p,w)=\min_{0\le s\le w}\mathbb E\left[P_ts+V_{t+1}(P_t,w-s)\mid\mathcal F_{t-1}\right].

At the final period, all ww shares must be bought, giving VT(p,w)=pw+θw2V_T(p,w)=pw+\theta w^2. Working backwards yields s∗=w/ns^*=w/n when n=T−t+1n=T-t+1 periods remain. The initial equal schedule therefore remains optimal after every intermediate state in this basic model.

In the paper's information extension (§2.4), a serially correlated state variable also affects price. The optimal trade becomes the equal-remaining-quantity component plus an information adjustment. Predictable future price changes can make waiting costly or attractive. More general impact, constraints and multiple assets also belong to the framework; the elementary equal-slice formula does not cover all these cases.

The Almgren–Chriss model explicitly trades expected execution cost against price uncertainty, with temporary and permanent impact. That cost–risk objective, described in its publisher abstract, differs from the expected-cost-only problem above. One should not insert a risk-aversion parameter into the equal-slice result while keeping its optimality claim unchanged.
For operational schedules, TWAP, VWAP and Participation Algorithms explains child orders, residuals and deadline policies. Market Impact separates a modelled causal effect from observed price movement. Both have public previews; full lessons require membership.

Sources

  • Bertsimas, D. and Lo, A. W. (1998), Optimal control of execution costs, Journal of Financial Markets 1, 1–50. §§2.1–2.3, Eqs. (2.1)–(2.17), specify the basic problem and solution; §2.4 adds information. The 100-share ledger and cost-curve figure here are original illustrations.
  • Almgren, R. and Chriss, N., Optimal execution of portfolio transactions, Journal of Risk, publisher abstract: the expected-cost versus volatility-risk distinction.
Last updated
  • optimal execution
  • dynamic programming
  • market impact
  • execution costs
← Back to the glossaryBack to top ↑