Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A useful crypto backtest must simulate the prices and costs at which orders could plausibly execute—not just the prices at which signals appeared. Specify the venue and account, charge fees on each simulated fill, model spread and slippage, delay fills until after the strategy could have received and acted on data, and stress-test the assumptions. The result is conditional on those assumptions; it is not a forecast or proof that the strategy will earn the same returns live.

Define the market and the information your strategy can use

Start by fixing the setup the backtest is meant to represent. A result for one venue, product, account schedule, and order type does not automatically apply to another.

  • Venue and market: Name the exchange and specify spot, margin, or the particular derivative and instrument.
  • Account and charges: Identify the account tier and applicable discounts or instrument-specific charges. Include funding or borrow costs when they apply to the strategy; the amounts need to be verified for the venue, product, and period being modeled.
  • Orders and sizing: Record order type, position-sizing rule, and the size submitted. Marketable orders, resting limit orders, and partially filled orders require different fill assumptions.
  • Data and timing: State the data interval and when each observation becomes available to the strategy. A candle’s closing value cannot be used to make a decision that supposedly occurred before that candle closed.

These choices define the experiment. If they change between the strategy being tested and the intended live setup, the backtest no longer describes the same execution problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Charge the correct fee on every fill

Apply fees to each simulated execution, not once to a completed trade or as a broad deduction from final returns. Use the maker or taker treatment implied by the modeled order and fill, along with any applicable discounts and instrument-specific commission components.

Fees are venue-, product-, and account-specific. Binance’s Spot account commission API documentation, for example, describes an endpoint for account commission rates and response fields for standard, special, and tax commissions. That is a Binance-specific illustration, not a universal rate table. Check the intended venue’s current documentation and the account’s schedule, and make clear which schedule and historical period the backtest assumes.

Store fee assumptions with the fill records so you can report commissions separately from spread, slippage, and other costs. If a fill’s fee treatment cannot be established from the available data or rules, label the assumption rather than silently treating every order as the same kind of fill.

Model the price an order could execute at

A signal price is not necessarily an executable price. A marketable buy consumes available ask-side liquidity; a marketable sell consumes bid-side liquidity. If you have synchronized historical quotes or order-book data, use the relevant side and account for the size available at each level. A single displayed snapshot can help estimate whether a given size was executable at those levels, but it cannot establish your queue position or prove that a historical order would have filled.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

With only bar data, the backtest cannot reconstruct a precise spread crossing, queue position, or sub-bar path. Make that limitation explicit. Use conservative spread and slippage scenarios instead of presenting a bar close as evidence that the full position could have traded there. QuantConnect’s documentation warns that its default backtest does not model slippage impact and describes configurable or custom slippage and fill models. Those are platform-specific capabilities and cautions, not proof that a simple model reproduces crypto execution.

Keep the execution effects distinct

  • Spread crossing: The difference between a reference price, such as a midpoint, and the executable bid or ask. A marketable order generally pays this cost when it crosses the spread.
  • Slippage: The difference between the expected execution price and the actual or modeled fill price. It can reflect changing market conditions, connection or trading-engine delay, and the order’s interaction with available liquidity.
  • Market impact: The price movement attributable to the order consuming or changing available liquidity. A fill model may need to represent it, especially when the modeled order is large relative to displayed depth.

A model should not count the same spread or price movement twice. Document which effects are already reflected in the execution price and which are added separately as costs.

Make latency delay the earliest possible fill

Latency is not a fee to subtract from returns; it changes which market state an order can encounter. Represent the path from signal to execution with timestamps, at minimum:

Rank #3
4X Trading Journal for Day Traders | Trade Log Book for Stocks, Forex, Options, Crypto | 12 Week Plan with 80 Trades | Trading Accessories | Neuroscience Based with Guided Trading Plan | Traders Gift
  • BUILT FOR YOUR MARKET, FUTURES, STOCKS, FOREX, OPTIONS & CRYPTO: 4X is a mindset and process journal, not a strategy tool tied to one instrument. The plan, the trade log, the deep dive and the weekly review work the same whether you trade ES, EURUSD, SPY or BTC. Traders use it across all five markets every day.
  • THE 2026 EDITION, REBUILT FROM TRADER FEEDBACK: Same trusted system, better in every way. An extra daily page for more room to log the session. Weekly reviews now grouped with each week's trades, so no more flipping back and forth. Crisp, darker print that's easy on the eyes after hours on a screen. A Quick-Start QR that scans straight to step-by-step instructions.
  • NOT A NOTEBOOK, A COMPLETE 12-WEEK SYSTEM: Start with a one-time 9-part Trading Plan (your market, setups, risk rules and discipline checklist). Then twelve identical weeks: five Daily Logs, five Deep Dive trade pages, and a two-page Weekly Review. 189 guided pages, roughly 80 trades. Guided prompts walk you through every step. You never stare at a blank page.
  • RATE YOUR EXECUTION, NOT YOUR RESULT: Your platform tracks the P&L. Nothing tracks the why. Log energy, sleep and mindset before the open; grade every trade A to F on whether you followed your plan, not on whether it won; then face the pattern every weekend with START / STOP / IMPROVE / CONTINUE. That review habit is the edge. You're 42% more likely to hit a goal you've written down.
  • BUILT TO LAST, ARRIVES GIFT-READY: Vegan-leather hardcover, 100gsm bleed-resistant paper, two ribbon markers and an elastic closure band. Bound to lay flat so you're not fighting the spine while you write. 189 pages, 5.75" x 8.5", carries in a bag. Ships in a premium gift box: the gift every trader in your life actually wants.
  1. Signal: When the required market observation occurred and when it became available to the strategy.
  2. Decision: When the strategy finished processing the data and chose an order.
  3. Transmission: When the order left the strategy’s system.
  4. Exchange receipt: When the venue could act on the order.
  5. Fill: When, and at what price and size, an execution occurred.

Make the order eligible to fill only after the modeled delay has elapsed, and use market data at or after that point. Never select a price from before the order could have reached the venue, or use information the strategy could not yet have received. There is no supported universal end-to-end latency figure for an unspecified venue, strategy, network, and infrastructure. Measure the intended setup where possible, then test a range of plausible delays rather than treating one assumed number as universal.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Binance’s API documentation describes timestamp units and REST request timeout behavior; its market-stream documentation notes that REST responses may be delayed in volatile conditions and points to user data streams for order state. These are implementation details for the relevant Binance APIs, not a general latency benchmark. For any venue, distinguish market-data delivery, order submission, exchange acknowledgment, and fill reporting instead of collapsing them into one timestamp.

Choose data resolution that supports the fill claim

Use data no coarser than the execution claim requires. Bars may be adequate for some slower strategies when the assumptions are conservative, but they cannot establish the exact intrabar order of events, queue position, or executable depth. Quote and order-book data can support more detailed price and size assumptions, but only if timestamps and updates are handled correctly.

For example, Binance’s Spot Testnet depth-stream documentation describes the snapshot and update sequencing needed to maintain a local order book. That testnet documentation explains a data-engineering requirement; it is not a production market-data source or validation that a reconstructed historical book would have filled a simulated order. Binance’s Coin-M Futures stream documentation also concerns that specific product and connection behavior should not be generalized to every Binance market.

Check that data is synchronized to the strategy’s decision clock and that the simulation does not read future observations. QuantConnect warns that stale backtest fills can differ from live prices and that custom datasets can contain look-ahead bias. Treat those as platform-specific warnings that illustrate risks to check in any implementation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Build a cost ledger and stress the assumptions

Keep gross performance and each source of execution cost visible. At a minimum, report gross and net performance, commissions, spread and slippage assumptions, turnover, and drawdown. If relevant to the product and strategy, account separately for funding, borrow charges, partial fills, rejections, and unfilled orders. Do not hide missing or uncertain execution effects inside one unexplained cost adjustment.

Compare scenarios on the same instruments, dates, starting capital, and strategy rules. Change the execution assumptions—not the strategy at the same time—so it is possible to see what drove a result.

Assumption to vary What to compare What the data can support
Fee model Account- and product-specific commissions, including applicable order treatment and discounts, versus a documented alternative assumption. Use the venue’s applicable fee information for the intended account and period; do not treat one venue’s example as a market-wide rate.
Market data Bars versus quote or order-book data, where available and appropriate. Coarse bars do not support precise queue or depth-based fill claims.
Order and fill model Marketable versus resting orders; full versus partial, rejected, or unfilled outcomes where relevant. Order-book depth can inform displayed liquidity but does not establish historical queue position or actual fills.
Execution costs Wider spreads, worse slippage, and market-impact assumptions. Keep spread crossing, slippage, and impact distinct to avoid omitting or double-counting costs.
Latency Different measured or otherwise justified delays between data availability, decision, order receipt, and fill eligibility. No universal end-to-end delay is established for an unspecified infrastructure setup.

Keep any calibration period separate from out-of-sample evaluation. If cost assumptions are repeatedly tuned against the same period used to judge the strategy, the reported result can reflect the tuning rather than a robust execution edge.

Validate the model against observed orders

Before relying on the simulation, compare it with paper-trading or live observations from the intended setup. Log the signal, order, acknowledgment, fill, fee, and relevant timestamps. Compare modeled and observed fill prices, delays, fill rates, and costs over the sample you actually observed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This is a check on whether the assumptions resemble execution in that observed sample, not a guarantee of future fills. QuantConnect notes that modeled fees, slippage, and fills can differ from live execution, and that stale fills or omitted market impact can contribute to discrepancies. Any platform-specific model should be checked against the venue and infrastructure it is intended to represent.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.