
A simple policy for placing trades, measured on live broker fills
Of all the decisions in an investor's process, how an order is actually placed gets the least thought. The strategy may have taken weeks of deliberation; the trade that implements it takes one reflexive click on the market-order button. That asymmetry is worth pausing on—not because the click is catastrophic, but because it is a decision repeated dozens of times a year, for decades, and it quietly leaks money every time.
That leak has a name traders know and most investors never hear: the spread—and the reason it hides is simple. The headline fee, the commission, is the easy part: itemised on your statement, quoted up front, and trivial to compare between brokers. The all-in cost of a trade is the opposite. It is scattered across the gap you cross, the fees folded into the fill, the rate you convert currency at, and the impact of your own size—almost none of it itemised, and next to impossible to assemble into a single clear number. So we assembled it. We measured the largest hidden piece—the spread—on real broker fills, across asset types, for four different ways of placing the same order. The result is an interactive order-execution-costs tool; its harness, cost model, and data are all open-source, so you can reproduce every figure against your own account.
The short version: on wide-spread instruments, the choice of order type alone moved the cost of a trade by almost 8 basis points. Market orders also carry a nasty tail—roughly one trade in ten came in at 12.9 bps or worse, against just 0.4 bps for a patient limit order. Tiny on a typical trade; repeated on every rebalance for decades, it is anything but.
The cost nobody puts on the statement
A trade has two kinds of cost. The first is visible: the commission shows up on your statement as a line item, in your own currency, easy to read and easy to compare between brokers. Regulatory fees and, in some jurisdictions, transaction taxes sit alongside it. This is the cost investors shop on, and rightly—it compounds relentlessly.
The second is invisible, because it is buried in the price you transact at rather than itemised next to it. The largest component is the spread: the gap between the price at which the market will sell to you and buy from you. Place a plain market order and you cross that gap, paying roughly half of it on the way in and half on the way out. Nothing on your statement records it; it simply shows up as a slightly worse price than the one on screen when you decided to trade.
What a trade actually costs: the visible costs on your statement, and the invisible ones in the price
Commission is exhaustively documented. The spread is not—at least not anywhere a DIY investor can see it. So we built a harness to measure the invisible part directly.
How we measured it
The setup is deliberately simple. The harness submits real orders to Interactive Brokers at tiny notional, one order strategy at a time, and records exactly what happened to each one. It compares four ways of placing the same trade:
- Limit at mid—a limit order priced at the bid-ask midpoint, retried up to four times over a 60-second budget. Patient: it waits for the market to meet it.
- IB midprice algo—Interactive Brokers' hosted algorithm that works the order toward the midpoint.
- IB adaptive algo—IB's Adaptive algorithm, which uses marketable limits and picks venues actively.
- Plain market order—takes whatever the market offers, immediately, at the touch.
The metric is slippage versus the mid price at the instant the order was submitted (we snap the midpoint at T0). Positive means you paid worse than the mid—a cost. Negative means you filled better than the mid—price improvement. Because the harness alternates buys and sells across runs, first-order market drift cancels out of the median rather than masquerading as execution cost.
Two honest caveats up front. First, orders are placed at the smallest tradable size, so the commission, expressed in basis points, is wildly inflated and not comparable to real-size trading—which is why the cost story here is about slippage, not commission. Second, limit-style fills on a paper account are synthetic (the simulator fills them at the mid by construction), so the slippage figures below come from live fills—184 of them across eight instruments, gathered through mid-2026—not paper. The difference matters: measured live, a plain market order on tier-1 US instruments cost +0.13 bps at the median; paper modelling put it at +0.49 bps, overstating the cost roughly fourfold.
The cost is in the tail
Here is the headline, and it is not the one most people expect. Judged on the median, a plain market order is cheap—+0.19 bps across all live fills, a rounding error. If that were the whole story, the reflexive click would be perfectly defensible.
It is not the whole story. The cost of a market order does not live at the median; it lives in the tail. At the 90th percentile, market-order slippage blows out to 12.87 bps—roughly thirty times the 0.44 bps a patient limit order reaches at the same percentile. One trade in ten is the one that hurts, and a market order has no defence against it.
Slippage by order strategy—median and 90th percentile, from live broker fills (bps)
The patient strategies tell the opposite story. A limit order at the mid filled at a median of −0.085 bps—a hair of price improvement—with a short tail. The IB midprice algo did better still, at −0.53 bps. These strategies do not just lower the average cost; they cut off the expensive tail, because they never cross the spread in a panic. And patience is nearly free in time: every strategy filled in under two seconds at the median. You are not waiting minutes for a better price—you are waiting a heartbeat to avoid a bad one.
The full picture, asset type by asset type
Aggregate medians hide where the action is. Broken out by asset type, the matrix shows the same pattern with one crucial refinement: where the strategy choice matters.
Median slippage by asset type and order strategy, from live fills (bps). Teal = price improvement, coral = cost
Read down the "plain market" column and the damage concentrates in two cells: small-cap stocks (+6.83 bps) and volatility futures (+12.94 bps). Everywhere else—large-cap stocks, ETFs, index futures, spot FX—the market order costs only a fraction of a basis point, close enough to the patient strategies that the choice barely registers. On small-caps, switching from a market order to a limit at the mid moved the median from +6.83 bps to −1.09 bps: an 8-basis-point swing on a single decision. (The volatility-futures row is uniformly expensive across strategies because its spread is enormous no matter how you trade it; more on that next.)
There is a liberating corollary in that. The reflexive market-order click this article opened with is not, in itself, the problem—on a liquid instrument it is close to free, and once you count the attention it saves, often the right call outright. The mistake is using it indiscriminately, including on the handful of instruments whose spread is wide enough to bite. So use it without guilt where the spread is tight; save the patience for where it actually pays.
Spread is the whole story
Why does the strategy matter enormously for some instruments and not at all for others? One thing above all: the spread. The relationship is monotonic—the wider the spread, the more the order type matters and the more patience pays. In the eight instruments tested here it played out starkly, because they fell into two camps: a tight cluster, every one under about 1.5 bps, and a wide cluster above 20 bps, with an empty gap between.
Median bid–ask spread at order time, by instrument (bps, log scale)
Spot FX, ETFs, and index futures sit at a fraction of a basis point; a large-cap stock like Apple at around 1.4 bps. There is simply not enough spread there for the order type to matter—half of almost nothing is almost nothing. Then a gap, and the wide cluster: a volatility future near 26 bps, a small-cap stock above 42 bps, where crossing with a market order is the whole game and patience pays for itself many times over.
That tidy gap is partly an artefact of a small, hand-picked sample. A real portfolio holds plenty of names in between—mid-cap stocks, thematic ETFs, less-liquid futures—and they do not break the rule; they sit on the slope. The wider the spread, the more patience earns, gap or no gap. It only means the dividing line is forgiving: we cut it at 3 bps, but anywhere in the empty zone would serve as well.
This is the unlock. You do not need to agonise over every order. You need to know which side of the line your instrument is on.
A rule you can actually follow
The findings collapse into a short decision rule—one you set once and then follow mechanically, which is exactly the point. The less a decision is made fresh in the moment, the better the conditions under which it is made.
Choosing the order type by spread, with a fixed fallback chain
On a tight spread (≤ 3 bps), use a passive midpoint algo—IB's midprice or adaptive, or your broker's equivalent—and move on; the cost is negligible and the attention is better spent elsewhere. On a wide spread (> 3 bps), start patient: a limit at the mid first, falling back to that same algo if it does not fill, and finally to a market order that always executes. Spot FX is a special case you can hard-code—the spread is so small (around 0.1 bps) that a market order is simply correct.
The fallback chain matters as much as the first choice. Patient orders sometimes do not fill—our limit-at-mid orders timed out about one time in twelve—and an investor improvising after an unfilled order is back to deciding in the heat of the moment, which is the failure the rule exists to prevent. Decide the chain in advance, and a missed fill becomes the next step in a plan rather than a fresh judgement call.
An even simpler shortcut
You can always measure the spread—it is one click in any trading platform. But most of the time you do not need to: the spread tracks one thing, how liquid an instrument is, and that you already know from what you are trading. So here is the same rule, made even easier—without the measuring.
A liquidity shortcut: what tight and wide look like in practice
The translation is roughly this. Household names that millions trade—large-cap stocks, broad index ETFs, major index futures, major-currency spot FX—sit on the tight side: just cross. Anything smaller, narrower, or quieter—small- and mid-cap stocks, niche or thematic ETFs, thinly traded or volatility futures, emerging-market names, or anything dealt outside its home-market hours—sits on the wide side: be patient. The one instrument worth actually measuring is the borderline or unfamiliar one, where a glance does not settle it.
What this does not measure—and how to check it yourself
Honesty about the limits is part of the method. Three caveats travel with every number above. The tiny order size means we capture the spread cleanly but not market impact—the extra slippage from pushing real size through the book; at meaningful notional you should add an impact estimate on top. Per-cell sample sizes are small, so we rank on bucket-level medians, which are stable, rather than treating any single instrument's winner as gospel. And the slippage figures are live, but live data is expensive to gather, so coverage is tier-one rather than exhaustive.
We also run this live, on our own account at real size, and the direction holds: wide-spread instruments cost on the order of 12 basis points at the median while tight-spread trades stayed near half a basis point—and the tail ran larger than the tiny-order tests suggested, exactly as the size caveat predicts.
None of this is asking for your trust. The entire harness—the order strategies, the cost model, the bucket definitions, and the matrix data—is open-source under the MIT licence on GitHub. Point it at your own Interactive Brokers account, run a few sweeps, and you will get a matrix calibrated to the instruments you actually trade and the conditions you actually face. That is the right way to use this study: not as a universal table of constants, but as a method you can re-run.
Why it is worth the bother
The numbers here are small. A basis point saved on a single ETF rebalance will not change anyone's year. But that is precisely the case for systematising it rather than ignoring it. The edge is small, free, and—unlike a market view—entirely within your control, and it recurs on every order for as long as you invest. Small advantages applied consistently compound exactly as small losses otherwise would.
It is also the easiest kind of discipline to adopt, because once the rule is written it asks nothing of you in the moment: no forecast, no nerve, just the order type your own spread band already chose. The study above is backed by an open-source order-execution-costs tool you can run against your own account, and the rule itself is broker-agnostic—costing nothing to adopt by hand. Match the order to the spread, write down the fallback, and let the saved basis points compound quietly in the background.
Disclaimer
Continue reading
Get started now
