Backtesting6 min read
How to Model Broker Commissions in a Backtest
Build a dated broker commission worksheet, model per-contract and per-share fees, apply minimums correctly, and reconcile backtest costs to statements.
By TerraTrade Team

What this model covers#
A backtest can use accurate prices and still overstate results if its commission model is wrong. The practical answer to how to calculate commissions for a backtest is to capture the broker’s actual fee rules by product and date, apply those rules at the unit they specify, then check the output against account records. A single flat “cost per trade” can miss per-contract or per-share charges, minimums, caps, changing rates, and the difference between one side and a round trip.
This guide covers commission and explicitly identified commission-related charges only. It does not estimate spread, slippage, fill behavior, or market impact; those require separate models. Futures fees, for example, may include broker and exchange charges, and brokers may present a flat fee or a flat-plus-per-contract structure. Record components separately when the schedule does so. Getting Started with your Broker - CME Group
Create a separate worksheet row for each combination of product, venue, account, or schedule period whose terms differ. That makes it possible to assign the right fee rule to each historical trade instead of silently applying today’s schedule to every date. If a broker’s schedule uses volume tiers, record both the tier thresholds and when the tier is assessed; published futures pricing, for example, can distinguish pricing structures and volume levels. Commissions Futures | Interactive Brokers LLC
| Worksheet field | What to record |
|---|---|
| Broker and account | Broker, account type, and pricing plan. |
| Product and venue | Product or symbol, asset class, and venue where the schedule distinguishes them. |
| Fee component | Broker commission, exchange, clearing, regulatory, or other separately listed charge. |
| Fee basis | Per contract, per share, per order, per execution, or another stated unit. |
| Rate and currency | Amount charged per unit; record currency and any applicable conversion rule. |
| Minimum and maximum | Amount or formula, plus whether it applies per order, execution, side, or another unit. |
| Side / round-trip convention | Whether quoted charges apply to a buy, sell, each executed side, or an entry-and-exit round trip. Preserve the source wording. |
| Tier and exceptions | Volume measure, thresholds, assessment period, product exclusions, and routing or other conditions. |
| Effective dates | Start and end dates for the terms. Keep a copy of the dated schedule or account document. |
| Rounding and evidence | Documented rounding rule, source and date captured, plus any unresolved question to confirm. |
Translate schedule terms into backtest costs#
Calculate fees at the schedule’s charging unit. The basic formula for a per-contract, per-side schedule is:
Commission = filled contracts × rate per contract per side × charged sides
For per-share pricing, substitute filled shares for contracts. If the schedule says a rate applies once to an executed order, calculate at the order level instead; do not assume that “order,” “execution,” “side,” and “trade” are interchangeable. Likewise, do not double a rate already quoted as a round-trip amount.
Use this as a translation guide, not a substitute for the broker’s definitions. In particular, distinguish an advertised broker commission from the total of separately itemized charges. A futures broker may include broker and exchange fees in the overall cost discussion, while a published schedule can identify additional exchange or regulatory amounts depending on pricing structure. Getting Started with your Broker - CME Group Commissions Futures | Interactive Brokers LLC
| Backtest event | Schedule rule to apply | Modeling note |
|---|---|---|
| Entry and exit each charged per contract | Filled quantity × per-contract rate for each charged side | Add both sides only when the schedule charges both. |
| Per-share order fee with a minimum | Apply the rate and minimum using the schedule’s order unit | A partial fill may not be a separate order; use actual order structure if available. |
| Several fills within one order | Follow the stated execution or order convention | Do not multiply minimums by fills unless the terms require it. |
| Different dated rates or tiers | Select the applicable product/account rule for that date and tier | Keep historical schedule changes visible rather than overwriting them. |
| Separately listed exchange or regulatory charge | Model as its own component when included in scope | Do not mislabel a broker-only rate as an all-in total. |
A repeatable procedure keeps the commission assumptions auditable and makes later schedule changes easier to handle.
- Gather the applicable dated schedule, account type, product, and any statement or confirmation that itemizes the charge.
- Create separate worksheet rows wherever product, venue, account, tier, or effective dates change the terms.
- Label the fee basis and the unit for every minimum or cap. Copy the broker’s side and round-trip wording rather than paraphrasing it loosely.
- Map backtest trades to filled quantity and, where known, order or execution structure. Apply each fee component at the level specified.
- Select historical schedules by effective date. If a volume tier depends on information the test cannot reproduce, document the approximation instead of presenting it as exact.
- Recompute sample charges and compare them with statements at the broker’s displayed precision. Investigate discrepancies before running the full test.
- Save the worksheet, source documents, calculation logic, and unresolved assumptions alongside the backtest version.
Reconcile against sample statements#
Treat reconciliation as a required test of the fee model, not a final cosmetic check. Choose dated statement entries or confirmations that cover each relevant product and schedule period. For each entry, capture the symbol, quantity, side, order or execution identifiers when shown, and each commission-related line. Recompute the amount using the worksheet’s rate, basis, minimum, cap, side convention, and applicable tier.
Compare the recomputed value with the displayed charge at the broker’s precision. If they differ, check the effective date, product rate, tier, whether the minimum applied per order or execution, whether a separate exchange or regulatory line was included, and rounding. The SEC advises investors to review confirmations and account statements and seek a breakdown when fees are unclear. Investor Bulletin: How Fees and Expenses Affect Your Investment Portfolio
Record the resolution and retain the supporting document. If you cannot explain a difference, mark the affected model assumption as unresolved and avoid describing that run as reconciled.
What a commission model can—and cannot—show#
A good commission model is traceable, date-aware, and specific to the broker’s stated charging unit. It can still be an approximation if historical schedules are unavailable, account tiers depend on activity outside the backtest, or the data does not preserve order-level details. Record those limitations. Keep commission results separate from spread, slippage, execution quality, and market impact so that a precise fee calculation is not mistaken for a complete trading-cost model.
Frequently asked questions#
Should I multiply the commission by two for a round trip?
Only if the broker’s terms define the quoted charge as a round-trip amount. Otherwise, determine whether it applies per side, order, or execution, and count charges according to that convention.
Does a minimum apply to every partial fill?
Use the unit stated by the schedule. A minimum can be per order or another unit; do not assume it applies once per trade or once per fill without confirming the terms. Pricing Disclosures - Stocks & ETFs | TradeStation
Which commission rate should I use for older trades?
Use the historical effective schedule when available. If rates or tiers changed, record and apply the relevant period rather than silently applying a current rate to all trades.
Should exchange and regulatory charges be included?
Keep components separate when the broker identifies them separately, then include the components you intend to model. Do not call a broker-only commission rate an all-in trading cost. Getting Started with your Broker - CME Group Commissions Futures | Interactive Brokers LLC
A dated worksheet plus a statement reconciliation gives your backtest a documented commission assumption that can be reviewed and revised.
Sources#
- Getting Started with your Broker - CME Group — cmegroup.com
- Investor Bulletin: How Fees and Expenses Affect Your Investment Portfolio — sec.gov
- https://www.sec.gov/about/divisions-offices/division-trading-markets/broker-dealers/staff-bulletin-standards-conduct-broker-dealers-investment-advisers-account-recommendations-retail — sec.gov
- https://www.cmegroup.com/education/interactive/fxproductguide/evencolumns.pdf — cmegroup.com
- https://www.cmegroup.com/articles/2026/what-is-the-true-cost-of-trading-in-fx-markets.html — cmegroup.com
- https://www.sec.gov/files/investor/alerts/bulletin-formadv.htm — sec.gov
- https://www.cmegroup.com/education/glossary — cmegroup.com
- https://www.sec.gov/files/investor.shtml — sec.gov
- https://www.cmegroup.com/market-regulation/files/kcbt-rulebook.pdf — cmegroup.com
- Commissions Futures | Interactive Brokers LLC — interactivebrokers.com
- Pricing Disclosures - Stocks & ETFs | TradeStation — tradestation.com
- INTERACTIVE BROKERS LLC — interactivebrokers.com
- https://www.interactivebrokers.com/download/newMark/PDFs/commissionsFutures.pdf — interactivebrokers.com
- https://www.tradestation.com/pricing/ — tradestation.com
- https://www.tradestation.com/trading-products/stocks/ — tradestation.com
- https://investors.interactivebrokers.com/en/trading/products-futures.php?menu=B — investors.interactivebrokers.com
KEEP READING

Market Insights7 min read
How to Match Economic Release Times to Your Chart’s Time Zone
Convert an official U.S. release timestamp to your chart’s time zone with a reusable worksheet for dates, UTC offsets, daylight saving, and ambiguity checks.
Read post
Backtesting8 min read
When a Backtest Bar Hits Both Stop and Target
Learn how to flag bars that touch both stop and target, document backtest fill assumptions, and audit their effect on results.
Read post
Backtesting7 min read
A Backtest Experiment Log for Every Strategy Trial
Use a backtest experiment log template to record hypotheses, parameter changes, metrics, decisions, and unsuccessful trials in a traceable search history.
Read post