The quoted spread is not the cost of a trade.
It is one input to a cost estimate, and often not the largest one. An unattended agent also pays commissions and venue fees, experiences price movement while an order is working, and may move the market with its own size. A cost model that treats the displayed spread as a fixed charge will misprice fills, compare strategies badly and hide execution drift.
Start with one benchmark, not three overlapping charges
For a marketable order, compare the fill with the midpoint when the agent decided to trade or when it sent the order. The difference is implementation shortfall: it captures crossing the spread, movement during latency, and market impact. Add commissions and fees separately. Do not then add the full spread again if the shortfall was already measured against the midpoint.
For a simple illustration, suppose an agent buys at an arrival midpoint of 100.00 and fills at 100.04. That is 4 basis points of price shortfall. If the round-trip commission and fees are another 2 basis points, the measured cost is 6 basis points, before any later exit cost. Adding a quoted 4-basis-point spread on top would count some of the price cost twice.
Choose a benchmark that answers a specific question, then keep every cost component on the same basis.
Use arrival midpoint to assess execution against the market at decision time. Use decision-time midpoint to include delays between signal and order submission.
For passive orders, also record the midpoint when the order became eligible. A passive order may pay no spread on a fill, but a fill can signal adverse selection: the market may move against it immediately afterwards.
Use ranges that match the instrument and order size
The figures below are typical market ranges for small orders in liquid instruments during ordinary trading conditions. They are planning inputs, not guarantees. Venue, account tier, order size relative to depth, time of day and volatility can move costs well outside them.
| Market | Typical quoted spread | Typical commission and fees | Typical slippage per side |
|---|---|---|---|
| US large-cap equities | 0.5-3 basis points | $0-$0.005 per share, plus applicable fees | 0.5-5 basis points |
| Major FX pairs | 0.1-1.0 pips | $4-$7 per $100,000 round trip | 0.1-1.0 pips |
| Liquid crypto pairs | 1-10 basis points | 2-10 basis points per side | 2-30 basis points |
Read the units carefully. A per-share fee is not directly comparable with a percentage of notional. Convert each component to a common measure, such as basis points of traded notional, while retaining the original units for reconciliation. For FX, pip value changes with the pair and account currency. For crypto, maker and taker rates can differ, and some venues apply tiered fees.
- Record spread at the relevant timestamp, not as a daily average.
- Store commission, exchange fees, rebates and regulatory charges as separate fields.
- Label each estimate with instrument, venue, order size and market condition.
Slippage depends on how an order interacts with the book
Slippage is not a constant percentage to attach to every trade. A market order consumes available levels. A limit order controls its worst acceptable price but may not fill, may fill in parts, or may be filled just before the market moves against it. A limit price therefore caps one kind of price risk, not total execution cost.
For each order, log the submitted quantity, limit or protection price, decision and send timestamps, acknowledgement, every partial fill, cancellation, and the market data used to make the decision. Then calculate costs from fills and compare them with a consistent benchmark.
Also measure unfilled quantity. A rejected or unfilled order can create opportunity cost if the price moves away before the agent retries.
A useful agent-side sequence is:
- Estimate expected cost for marketable and passive alternatives, including fees and likely non-fill cost.
- Set a maximum price deviation and a maximum participation rate based on visible or estimated volume.
- Send the order, reconcile acknowledgements and fills, and cancel or reprice only under explicit rules.
- Compare realised shortfall and fees with the estimate, split by instrument, venue, order type and time of day.
Participation rate matters because an order that is small relative to average daily volume can still be large relative to the liquidity available at that moment. A practical system should test several size buckets and market regimes, rather than extrapolate from tiny test orders.
Do not let backtests turn estimates into facts
Most historical data does not show the full order book, queue position, routing decision or exact fill opportunity. A bar-based backtest can model a limit order as filled because the bar touched its price, even if the order would have been behind other liquidity.
It can also miss the cost of moving through multiple price levels. Treat simulated fills as assumptions and stress them.
Run at least a base, adverse and severe cost case. Vary spread, latency, fill probability and impact independently where the data supports it. Increase costs during known high-volatility periods, around market opens and closes, and when the order is large relative to recent traded volume. Do not apply a single blanket multiplier if different components respond differently.
Keep a live execution ledger that lets the agent compare expected and realised costs. Alert on persistent differences, not a single poor fill. A rolling median and upper percentile by instrument and order type can distinguish ordinary noise from a change in fee schedule, market quality or routing behaviour. Paper trading can test these calculations and order-state handling before live capital is involved. Agentic Trading Index offers agentic paper trading from $9.99 a month through its trading agent platform.
- Separate decision-to-send delay from send-to-fill movement.
- Compare passive fills with subsequent price movement to detect adverse selection.
- Reconcile broker-reported fees against the ledger rather than assuming a rate.
Optimise for net outcome, not the lowest visible fee
A cheaper commission schedule can still produce higher total cost if routing, spreads or fills are worse. Likewise, a passive order with no taker fee may be expensive if it misses the trade or receives adverse fills. Evaluate venue and order-type choices using realised net cost, fill probability and the strategy's cost of waiting.
For an agent, this requires explicit decision rules. Set an execution budget in basis points or currency, define when to cross the spread, and specify when to wait, reprice or abandon the order. Bound retries so a stale signal does not keep chasing the market. Feed measured costs back into the strategy only after checking that the difference is persistent and not a small sample.
Model costs per order and per completed round trip, and include financing, borrow, funding or conversion charges where relevant. These are not spread, commission or slippage, but leaving them out can make a profitable-looking strategy unprofitable. This advice does not apply unchanged to forced liquidations, auctions, options exercise or other venue-specific processes, which need their own execution and cost model.
Frequently Asked Questions
How should a trading agent calculate execution cost?
Compare each fill with a consistent benchmark, such as the midpoint at decision or order time, then add commissions and venue fees separately. Include non-fills and partial fills when measuring the cost of completing the intended trade.
Does slippage include the spread?
It depends on the benchmark. Slippage measured against the arrival midpoint usually includes the spread crossed, plus price movement and market impact. Adding the full spread again would double-count part of the cost.
How can a limit order still have execution costs?
A limit order can remain unfilled, fill only partially or receive an adverse fill just before prices move against it. Include missed-trade opportunity cost and subsequent price movement when assessing its performance.
What is a realistic slippage assumption for a trading agent?
There is no single assumption that fits every market. Use typical ranges for the instrument and order size, then calibrate with recorded fills across venues, order types and market conditions.
How often should an agent review its execution cost model?
Track expected and realised costs continuously, and review persistent differences by instrument, venue and order type. Recheck assumptions after fee changes, routing changes or a sustained shift in market conditions.