astroquanta

loading run 04:12 · 0 / 48

astroquanta · blog · costs

Charge the fills before you draw the curve

Spread, commission and impact, in that order, on every fill, before any conclusion. The log line “edge under 4 bps against a 7 bp round trip” explained.

· 6 min · costs

3 / 4

Every gross equity curve is a claim that the strategy trades for free. Nobody believes it, so the usual fix is to draw the curve, admire it, and subtract a flat number of basis points at the end to be conservative. That has the order backwards. Costs aren’t a haircut on a conclusion. They are part of the data the conclusion is drawn from, and a strategy charged after the fact has already been selected on its gross numbers, which is a different strategy from the one you will trade.

Here is the order the agent uses, and why each step sits where it does.

Step one: the spread, paid on the way in and the way out

The bid ask spread is the one cost every fill pays without exception. You buy at the offer and sell at the bid, and half the spread is gone each way. Nothing about your skill or your size changes this. It is the entry fee.

It goes first because it is the floor. Whatever else a specification does, it must clear the spread of the names it trades at the frequency it trades them. A signal that turns over daily in names with a 6 bp spread has spent 6 bps a round trip before it has done anything. If its gross edge per round trip is 4 bps, it is finished, and no clever execution modelling later brings it back.

The agent uses the spread of the actual names on the actual dates, point in time, not a universe average. A large cap that was illiquid in 2008 pays 2008’s spread in 2008.

running tally · 1 of 3 charged

  1. spread → paid on the way in and the way out1 / 3

Step two: commission, small and known

Commission is the easy one. A known rate, small for an institutional desk, independent of what the market is doing. It goes second because it is exact. Add it to every fill and move on.

It is charged separately rather than folded into a flat cost for auditability. When the log says a specification died at costs, the desk should see which component killed it. A strategy that dies to commission needs a cheaper broker. One that dies to impact needs to be smaller. Different problem, different fix.

running tally · 2 of 3 charged

  1. spread → paid on the way in and the way out1 / 3
  2. commission → small and known2 / 3

Step three: impact, which grows with the square root of your size

Impact is the cost you cause. When you buy, the price moves against you, and the more you buy relative to what the market trades that day, the further it moves. This is the component a flat assumption gets most wrong, because it isn’t flat. It depends on how much you trade against how much is available.

The shape of that dependence has been measured. Toth, Lemperiere, Deremble, de Lataillade, Kockelkoren and Bouchaud at Capital Fund Management, in Physical Review X in 2011, documented what is now called the square root law: the price impact of a large order grows with the square root of its size relative to daily volume. Not linearly. Double your order and impact rises by about 41 percent, not 100. That sounds like good news until you notice the other direction. Halve your order and impact falls by only 29 percent. Small orders pay proportionally more than you would guess, and large ones never get cheap.

Impact goes third because it needs the first two settled. Once spread and commission have set the floor, impact decides how much of the remaining edge survives at a given size, and it is the same model that later states the capacity. Charging it here, per fill, scaled to each fill’s share of that day’s volume, is what makes the capacity number at the last gate consistent with the cost number at this one. Not two estimates. One model read twice.

running tally · 3 of 3 charged

  1. spread → paid on the way in and the way out1 / 3
  2. commission → small and known2 / 3
  3. impact → grows with the square root of your size3 / 3
  4. against a 7 bp round tripCHARGED

Why per fill and not a flat number

A flat cost assumption, say 10 bps a round trip on every strategy, does two wrong things at once. It over charges the patient strategy that trades quarterly in liquid names and under charges the fast one that trades daily in thin ones. The patient one dies when it should have lived. The fast one lives when it should have died, and then dies in production, which is a more expensive place to die.

Per fill costing charges every trade in every specification the spread of its name on its date, the commission, and the impact of its size against that day’s volume. The curve you see afterwards is already net. There is no second step where someone decides how conservative to be.

Reading the log line

The canonical trial log has a row that reads “killed 17, costs: edge under 4 bps against a 7 bp round trip”. Here is what it says in full.

Thirty one specifications reached the costs gate. For each one the agent computed the gross edge per round trip, the average earned between opening and closing a position before any cost. Then it computed the round trip cost from the three components above, at the specification’s actual turnover, in its actual names. For 17 of the 31 the cost was about 7 bps and the gross edge was under 4 bps. Those 17 were losing money on every fill and had looked like winners only because nobody had charged them.

Fourteen cleared. Each one carries a net Sharpe from this point on, and it is the net Sharpe that the capacity gate and the haircut work from.

costs gatecountdetail
reached the gate31
killed17gross edge under 4 bps against a 7 bp round trip
cleared14net Sharpe carried forward
Illustrative output of the canonical run.

The horizon changes everything

One more thing the order reveals. Short horizon signals pay the round trip more often. A 1 day signal has to earn its 7 bps every day; a 63 day signal earns it once a quarter. On the simulator page, move the horizon from 1 day to 63 days with the same universe and watch the costs row shrink. That isn’t the model being generous. It is arithmetic about how often you pay the toll.

Charge the fills first. Then draw the curve. Whatever survives is at least a strategy you could trade.

“Double the order and impact rises about 41 percent. Halve it and impact falls only 29 percent. Small orders pay more than you would guess, and large ones never get cheap.”

Next step: Research is $7,500 a month for five seats, with spread, commission and impact charged on every fill in every sweep the pod runs, and the net figure on every result.

Purchase Research

Illustrative output. Backtested, modelled and simulated results are hypothetical. They do not represent actual trading, they carry the benefit of hindsight, and they may differ materially from any result achieved in the market. Past performance, real or simulated, does not indicate future results.

No output of the Services is a recommendation, an offer, a solicitation, or advice about any security, strategy or account. Every investment decision is made by the customer and the customer's own investment professionals.