October 5, 2026 · research

The Backtest Found 12% Annual Turnover. The Account Traded 38%.

The Backtest Found 12% Annual Turnover. The Account Traded 38%.

One portfolio backtest reported 12% annual turnover. Its paper account traded 38%. The target rebalance was 5% of NAV. Individual orders averaged 0.7% of NAV. Nothing had malfunctioned: the backtest counted portfolio changes, while the account counted the orders needed to get there.

That difference matters because fees, market impact and operational load attach to executed notional. If you want a cost estimate you can compare with paper trading, define turnover at the order level and account for what happened between target and fill.

What does turnover mean in a backtest?

There isn’t one universal convention. A common portfolio definition sums the absolute changes in asset weights. Some researchers divide that total by two, since buying one asset and selling another can represent one portfolio rotation. Others report traded notional divided by NAV, with no halving.

Those conventions can all be internally consistent. The trap is comparing one with another as if they measured the same thing. A model that says “12% turnover” is hard to interpret until you know the numerator, denominator, and whether buys and sells are counted together.

MeasureExample calculationWhat it tells you
Absolute weight changeSum of |new weight − old weight|How much the target portfolio changed
One-way turnoverAbsolute weight change ÷ 2Approximate fraction of NAV rotated
Executed notionalSum of filled order value ÷ NAVHow much the account actually traded

Consider a $100,000 portfolio shifting $5,000 from Asset A to Asset B. Absolute weight change is 10%: a five-point reduction and a five-point increase. One-way turnover is 5%. Executed notional is $10,000, or 10% of NAV, because the account sells $5,000 and buys $5,000.

That last number is what a simple fee model needs if it charges on both sides. Apply 10 basis points per side and the rebalance costs $10 before spread or impact. Apply the same rate to the halved turnover and you’ve cut the estimate in half.

Why can account turnover be higher?

Targets describe where the strategy wants to end up. Orders describe how it gets there. The account may need to trade more because prices moved after the signal, an earlier order only partly filled, or minimum lot sizes pushed positions away from their exact target.

Here’s a small example. A strategy targets equal weights in three assets, then trades only once a day. During the day, one holding rises 8% while the others are flat. The portfolio weights drift. At rebalance, the account sells some of the winner and buys the underweight assets. A backtest that compares yesterday’s target weights with today’s target weights can miss those trades entirely.

Repeated small corrections add up, too. If an order is split over several intervals and each interval recalculates the residual, the account might trade 0.7% of NAV four times to approach a 2% target change. Was that one 2% adjustment or 2.8% of executed notional? For fee accounting, it’s the latter. For analysis of the decision, you may want both figures.

How should I measure turnover against paper trading?

Keep the target change, submitted orders and actual fills as separate quantities. Then the difference between the backtest and the paper account becomes explainable instead of mysterious.

  1. Target turnover: Sum absolute changes in desired position value, and report whether you divide by two.
  2. Submitted turnover: Sum the notional of new orders sent, including replacements if they create additional market exposure.
  3. Filled turnover: Sum absolute filled notional, divided by a clearly stated NAV measure.
  4. Unfilled residual: Record the target amount still outstanding and its age. It may drive another order later.

Use the same currency and valuation rules throughout. For a multi-asset portfolio, value each fill at its execution price in the account’s reporting currency; don’t mix contract counts with dollar notional. Decide whether a NAV snapshot is taken before or after fees, and keep that convention fixed across periods.

For costs, use executed notional. For diagnosing strategy churn, compare target and submitted turnover as well. One number can’t answer both questions.

The surprising number was the 38%

In that paper run, the backtest’s 12% described scheduled target changes. The account’s 38% counted filled buys and sells, including drift corrections and partial-order follow-ups. The strategy hadn’t suddenly become three times as active. The reports were counting different events.

And this is where a backtest’s “average cost per rebalance” can quietly fail. Costs accrue on the path the account takes, not just on the difference between two idealized portfolios. Matching those definitions won’t guarantee a paper run will match every fill, but it will tell you what the gap actually measures.

turnoverportfolio accountingbacktestingpaper trading
← All posts