# Cost profiles

> The four cost profiles and which ones a run can use, the default slippage and commission, what the report says about costs, and the costs no profile models.

Source: https://orbitalaip.com/docs/backtesting/cost-profiles

> [!IMPORTANT] Disclaimer
> Backtest results are hypothetical and do not predict future performance. Nothing here is investment advice: Orbital computes the rules you supplied and recommends nothing. Orbital is not a registered investment adviser or broker-dealer. Costs are as modelled by the chosen cost profile and may differ from live trading.

## Whose costs a result claims

A [cost profile](https://orbitalaip.com/docs/glossary#cost-profile) names the broker whose [commission](https://orbitalaip.com/docs/glossary#commission) a [backtest](https://orbitalaip.com/docs/glossary#backtest) assumes. You pick a broker, not a number. The run records the choice, so a result says whose costs it assumed rather than showing a bare zero.

The profile sets only the commission. [Slippage](https://orbitalaip.com/docs/glossary#slippage) is its own setting on every run, and short borrow applies when [margin](https://orbitalaip.com/docs/glossary#margin) is on.

To choose a profile:

1. **Open the Run dialog**
   
   Click **Run…** on the strategy's page.

2. **Open Costs and fills**
   
   Click **Change…** on the **Costs and fills** row. It shows **Slippage (bps)** and the **Whose trading costs** menu.

3. **Pick a profile**
   
   The menu lists Alpaca, Interactive Brokers and Frictionless; Custom rate is not offered.

See [Run a backtest](https://orbitalaip.com/docs/backtesting/run-a-backtest#costs-and-fills).

## The four profiles

| Profile | Commission it describes | Can a run use it |
| --- | --- | --- |
| Alpaca — US equities ($0 commission) | $0 on US equities. The default. | Yes |
| Interactive Brokers — Pro Tiered | Per share, with a per-order minimum and a cap at 1% of trade value, plus exchange and regulatory pass-throughs. | No. Offered and refused. |
| Frictionless — no broker (research only) | None, chosen on purpose. | Yes |
| Custom rate | A rate supplied with the run, in basis points of notional or dollars per share. | No. The dialog, chat and the Orbital AI connector cannot send a rate. |

Alpaca is the profile a run gets when nothing is chosen. It names a real broker that charges no commission on US equities, not a research setting.

**Interactive Brokers — Pro Tiered** is offered and refused: the engine charges one rate per run, with no per-order minimum or cap, and the Pro Tiered schedule needs both. Pick it and the row shows why, the note before the button reads **This run can’t start yet.**, and **Run backtest** stays disabled. Test under Alpaca instead. The profile only describes Interactive Brokers' commission; Orbital does not trade through Interactive Brokers.

**Frictionless — no broker (research only)** is a research setting, not an account you can open. It still charges slippage, and borrow on shorts, so its figures match an Alpaca run of the same settings. Set **Slippage (bps)** to 0 to remove the slippage as well. Alpaca and Frictionless charge the same commission, so a run under either belongs to the same [configuration](https://orbitalaip.com/docs/backtesting/versions#versions-and-configurations); only the label on the run differs.

## Slippage and borrow

**Slippage (bps)** is 5 by default and 0 is allowed. Only the Run dialog sets it; runs from chat and from Claude or ChatGPT use 5 bps. Slippage applies to market and stop fills, moving each fill price against you by that amount. Limit fills never slip; see [When trades happen](https://orbitalaip.com/docs/backtesting/when-trades-happen). Changing the slippage makes a new configuration of the same version, with its own trial count.

With **Margin account** on, a short position pays borrow at 3% a year while it is short. The report counts it beside commission and slippage.

## What the report says

Every result states its costs in three places.

- The settings line under the strategy's name shortens the profile to **Alpaca costs**, **No broker costs** or **Custom costs**, and prints the slippage as a percentage, such as **0.05% slippage**.

- **Settings of this run** on the **Report** tab prints **Costs** with the profile's full label and **Slippage** as the same percentage.

- **Run properties**, at the foot of the **Report** tab, opens to show **Slippage**, **Cost model** and **Costs modelled**, which says what was charged and what was not.

For a run on the defaults, **Costs modelled** reads:

```text title="Costs modelled"
Charged: commission $0 per trade; slippage 5 bps on market and stop fills (limits never slip). Not charged at all: bid-ask spread is not modelled at all — the simulation reads OHLCV bars, there is no quote data behind them, and the slippage figure above is a stand-in somebody chose rather than a measurement; market impact is not modelled — measured one-way impact runs 8–13 bps and dominates total trading cost, which is more than the entire slippage allowance above it.
```

With margin on, the charged part adds **short borrow at 3.0% APR**. In the Run dialog, the same sentence is the second line of the **Costs and fills** row.

**Overall statistics** on the **Overview** tab shows **Commission**, and **Run properties** splits **Commission paid**, **Borrow paid** and **Slippage cost** between long and short trades. Each trade's [net P&L](https://orbitalaip.com/docs/glossary#net-pnl) is its gross less commission, slippage and borrow, plus dividends. See [Run properties](https://orbitalaip.com/docs/backtesting/reading-results#run-properties).

For Claude and ChatGPT, [estimate_backtest](https://orbitalaip.com/docs/claude-and-chatgpt/tools/estimate_backtest) and [run_backtest](https://orbitalaip.com/docs/claude-and-chatgpt/tools/run_backtest) take a cost profile, and [get_backtest](https://orbitalaip.com/docs/claude-and-chatgpt/tools/get_backtest) returns the cost model as a short paragraph: the profile, what was charged and what was not.

## What no profile models

> [!WARNING] Zero commission is not zero cost
> Spread and market impact are missing from every profile, and at size they outweigh the costs that are charged.

See [What is not modelled](https://orbitalaip.com/docs/backtesting/backtest-vs-forward-test-vs-paper#what-is-not-modelled).

From Claude or ChatGPT

- "Backtest my RSI strategy under Interactive Brokers costs. If it is refused, tell me why."
- "What costs did my last backtest model, and what did it leave out?"
