Naming the components of a transaction cost estimate

The first thing to ask of an AI transaction cost estimate is not whether the number is right. It is whether the number is named. A total cost figure that bundles spread, fees, market impact, opportunity cost and timing risk into one dollar amount tells you almost nothing you can act on. You cannot reduce a cost you cannot see.

A readable cost estimate separates at least five components before it gives a total:

  • Spread and half-spread — the quoted cost of crossing the book, before any size is moved.
  • Exchange and access fees — venue-specific, and often asymmetric between maker and taker.
  • Temporary market impact — the price move attributable to your own order that decays as you stop trading.
  • Permanent market impact — the residual price move that does not decay, often modelled as information leakage.
  • Opportunity cost and timing risk — the cost of waiting, and the variance of the price while you wait.

An AI model that reports only a total is doing the easy part. The hard part — and the part worth reading — is which component the model actually tried to reduce, and what it assumed about the others to get there.

This is why two models can report the same total cost for the same order and still be completely different instruments. One may have assumed linear impact and ignored timing risk; the other may have used a square-root rule and priced waiting explicitly. The total matches; the model does not.

Editorial work here reads the breakdown. If a model will not name its components, that is itself a finding.