# Crypto backtest cost-model worksheet

> Blank research template. It records assumptions; it does not recommend a trade, confirm a venue fill, or establish future performance. Keep private account identifiers and credentials out of this file.

## 1. Freeze the research record

- Strategy name and immutable version or fingerprint:
- Dataset name, source, timezone, interval, coverage and fingerprint:
- Test window and untouched evaluation window, if any:
- Benchmark and outcome measures selected before reviewing results:
- Researcher and preparation date (UTC):

## 2. Name the instrument and accounting convention

- Venue, jurisdiction/account type and exact market or contract:
- Instrument: spot / linear perpetual / inverse / other (describe):
- Contract multiplier, quote currency, settlement currency and size step:
- Reference price used to measure each fill:
- Entry and exit timing rule, including when a signal becomes knowable:
- Order instruction and modeled fill rule:
- Position/notional basis used for costs:
- Which components are already included in the fill-price model?

## 3. Preserve source-backed assumptions

| Component | Publisher / venue document | Exact URL | Checked (UTC date) | Market / account tier | Rate or rule | Unit and conversion |
|---|---|---|---|---|---|---|
| Entry fee | | | | | | |
| Exit fee | | | | | | |
| Spread / reference quote | | | | | | |
| Additional slippage / impact | | | | | | |
| Funding / borrow / carry | | | | | | |
| Other or excluded cost | | | | | | |

Write rates with their original units. Distinguish a percentage such as 0.05% from its decimal form 0.0005. A rate-on-notional fee can be estimated as executed notional multiplied by the decimal rate only when the instrument's schedule defines that basis. If the fee basis, account tier or contract rule is unknown, record it as unknown or state the explicit assumption.

## 4. Record executions separately

| UTC time | Side / entry or exit | Quantity filled | Fill price | Fee-bearing notional | Fee rate and unit | Fee amount | Source / note |
|---|---|---:|---:|---:|---|---:|---|
| | | | | | | | |
| | | | | | | | |

Record partial, rejected, canceled and unfilled orders separately when the research question depends on whether an order could execute. Do not infer a fill merely because a candle touched a price.

## 5. Separate spread from additional slippage

- Reference (arrival midpoint / best bid-ask / last trade / other):
- Quoted bid, ask and timestamp, if observed:
- Modeled entry and exit prices:
- Spread cost already embedded in those prices? yes / no / unknown:
- Additional adverse movement beyond the chosen reference:
- Method used to avoid counting one price difference twice:
- Missing/stale quote data and how it is handled:

If the fill model already moves a midpoint reference to the bid or ask, do not subtract that same spread again as a separate cost. Label modeled price movement and separately charged fee lines so another reader can reproduce each one.

## 6. Align carry charges with eligible events

| Settlement UTC time | Position open at event? | Side | Rate and unit | Payer/sign convention | Notional price basis | Payment / receipt | Source or missing-data note |
|---|---|---|---|---|---|---:|---|
| | | | | | | | |

Record only settlements for which the position is eligible under the contract. Use the venue's specified interval, sign convention and price basis. Keep a missing rate unknown; do not silently substitute zero.

## 7. Declare baseline and higher-cost cases before comparison

| Component | Baseline input | Higher-cost input | Unit | Source / rationale | Already inside modeled fill? |
|---|---:|---:|---|---|---|
| Entry fee | | | | | |
| Exit fee | | | | | |
| Spread | | | | | |
| Additional slippage / impact | | | | | |
| Funding / carry | | | | | |
| Other | | | | | |

Replay the complete strategy for each case. Preserve the same strategy and dataset versions unless a change is the declared test. A cost change can alter quantity, fills, exits and later equity; subtracting one charge from a selected trade is not a substitute for a full replay.

## 8. Reconcile and report each replay

| Case | Gross result | Fees | Spread | Additional slippage | Funding / carry | Other | Net result | Drawdown | Trades | Turnover / exposure | Data or execution caveat |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| Baseline | | | | | | | | | | | |
| Higher cost | | | | | | | | | | | |

## 9. Review before interpreting

- [ ] Rates, percentage/decimal conversions, contract units and fee-bearing notionals reconcile.
- [ ] Entry and exit sides are both included; partial and unfilled orders remain visible where relevant.
- [ ] Spread is not duplicated inside slippage or fill prices.
- [ ] Funding is aligned to eligible UTC settlement events and missing values remain explicit.
- [ ] Quantity, tick/lot rounding, margin, liquidation and gap behavior match the research model's stated limits.
- [ ] Baseline and higher-cost cases were declared before interpreting outcomes.
- [ ] The full strategy was replayed for each case; failed and inconclusive results are retained.
- [ ] Synthetic, imported, public-observation, simulated and actual execution evidence are labeled separately.

## Decision and unresolved evidence

- What changed across the cost cases?
- Which costs remain unknown or unbounded?
- What observation would resolve the most important uncertainty?
- Decision: reject / revise the model / collect evidence / continue a reserved evaluation:
- Review date:

For product-model limits, see [SuperQuant research methodology](https://quant.stonkbuilder.com/research-methodology). The template contains no current venue rates; verify live documentation for the exact account and contract.
