What are transaction costs? Why fees change backtest results
Understand fees, spreads, slippage and turnover, and learn how to interpret results after costs.
Separate the burdens created by trading
Transaction costs are the expenses and adverse price effects incurred through trading. Fees are explicit charges; the spread is the difference between buying and selling prices; slippage is the difference between an assumed and an actual execution price; market impact is the effect of an order on market prices. Their calculation methods differ.
A report that includes fees may still leave other burdens unmodelled. Check what is included and excluded first. See costs and turnover for the terminology.
Gross return and return after costs
A small gross return can become negative after costs. In an artificial example, a gross return of 0.2% and total round-trip costs of 0.3%, both measured against the same notional amount, give an approximate net return of −0.1%. This explains arithmetic; it is not a statistic from the public course or actual investing.
The approximation subtracts quantities with the same denominator. Actual purchase and sale notionals, charge timing and compounding can differ. “Round-trip costs of 0.3%” means the total for both sides, not another 0.3% deducted separately on each side.
Turnover accumulates costs
At the same fee rate, trading a larger amount incurs larger fees. A rule that repeatedly seeks small price movements does not bear the same costs as a rule that trades less frequently. Even an unchanged monthly list of holdings can generate trades when quantities change substantially.
Turnover conventions may count one side or the gross value of both purchases and sales. Do not label the public results screen's two-sided gross turnover as one-way turnover. Filled-order counts cannot replace traded amounts either: equal counts can involve very different order sizes.
Keep conditions aligned in the public moving-average example
The public GUI course includes fee sensitivity for a 20/60 moving-average example using fixed input. It is a published teaching reference. Before comparing rates, check the strategy, input and period, and verify that the compared reports are bound to that example.
The 0.1% and 0.2% cases do not simply subtract a fee difference from an existing portfolio path. The 0.2% case reruns the same strategy and market data with quantities recalculated. Differences can therefore arise through quantities and cash constraints as well as fees. The comparison described here belongs to this public reference example.
Read sensitivity from a fixed report
Open a completed report in the results screen and verify that the sensitivity panel references it. Read filled and skipped orders, cumulative fees and maximum drawdown alongside terminal portfolio value. Do not turn the comparison into retrospective selection of the best-looking curve.
The public course does not include slippage, market impact, dividends or board-lot constraints. Deducting fees already reflected in portfolio value would count them twice. See reading reports for the workflow and maximum drawdown for the risk measure.
Public sources and research limitations
The workflow and display sources are the public GUI research course and public evidence summary. Reviewed October 6, 2026. The images record a GUI run from public-candidate source; they do not establish installed-distribution acceptance.
Reference results are research-only, with historical information availability unverified. Do not infer future profits from teaching examples or reference results; check their assumptions and limitations. Read the disclaimer.
Continue this topic
Applies to: main source candidate (unpublished) · Public source docs/en_US/GUI_RESEARCH_COURSES.md
Reviewed · KabuForge