/Sign in

Paper trading

Run a saved strategy version on live prices, in a paper or a testnet account.

Contents

Backtest vs. paper trading

Backtest

Prices
A stretch of past history
How it runs
The whole range at once
What it is for
Whether the idea worked in history

Paper trading

Prices
Prices as they arrive after you start
How it runs
One step after each bar closes, until you stop it
What it is for
How the strategy does on prices it has never seen

Open a paper account

An account runs one saved strategy version.

Two ways in: "Open a paper account" on a version card on the strategy page, or "New paper account" on the "Paper" page. There are two modes:

paper

Pure simulation, filled like the backtest: at the next bar's open, with the same fees and slippage, paying funding on perpetuals. Enter the starting capital (100,000 USDT by default)

testnet

Real orders with a Binance testnet key, on test funds, not real money; fills are whatever the exchange gives. You can set the capital to trade; without it, positions are sized on the exchange account's whole equity

Why fills happen at the next bar's open: a signal is only known when a bar closes, so the earliest fill is at the next bar's open. Backtests work the same way, which is what makes a paper account comparable with its backtest.

Binance strategies run on bars from 1 minute to daily, and testnet accounts do not take 1-minute bars; a US strategy runs as a paper account on its daily version only, see US accounts. A new account is stopped; click "Start" on its page. A running account is charged points once a day, as its page shows. How many accounts you can have at once depends on your tier; the Paper page shows the count beside the button, such as "2 of 3 accounts". A stopped account still takes a place until it is archived; contest accounts take none.

"New paper account" on the Paper page: choose the strategy and version (the account name defaults to the strategy's); choose paper or testnet as the mode, and starting cash for paper

Start, stop, switch version

  • Start / stop: after "Start" the account steps forward from the next bar; "Stop" halts it, the positions stay on the book and are carried on at the next start. Bars missed while stopped are not run.
  • Switch version: while running, it happens at the next bar: the old version's positions are closed (a paper account at that bar's open, a testnet account with market orders on the exchange at the actual fills) and the new version starts from the cash left; while stopped, nothing is closed and the new version takes over the current positions at the next start.
  • Settings: the name and drawdown alert can change any time; fees and slippage (and the capital to trade on testnet) only while stopped.
  • Archive: the account stops and leaves the list, and its history can still be viewed. A testnet account must have no positions left on the exchange before it can be archived, and archiving deletes its key.

Contest accounts are run by the contest platform; here you can only view them.

US accounts

A US strategy version opens a paper account only, and only its daily version; there is no US testnet.

  • One step per session: every morning (06:00 UTC, 14:00 Singapore time) the platform buys the previous session's daily bar, then the account steps on it; when the vendor is late the purchase is retried hourly until 12:00 UTC and that day's step waits. Weekends and holidays have no bar and no step.
  • T+1 fills: a signal is known after the session closes and fills at the next session's open, plus slippage, as in the backtest. The account page shows "T+1" and "next session …".
  • Whole shares, long only, no leverage, no funding, as in the backtest.
  • A margin-account version: a short opens at the next session's open; the borrow fee comes off the cash every day (a weekend's on Monday's bar), the account page's "Borrow fee to date" line says how much; the maintenance margin is checked at every close, a shortfall sends one "maintenance margin call" notification and the next open reduces the positions by the rule (fill reason "margin call"); a short's quantity in the positions table is negative; the account stops when the equity reaches zero (liquidated).
  • Points are charged once a day at the daily size; the account counts toward the number of accounts you can run at once.

The account page

The status has three layers:

  • You asked for: started or stopped, as you set it.
  • Engine: not started, starting, healthy, error or exited; the state on the platform's side.
  • Data: arrived or waiting. It shows waiting right after starting, or after several data errors or timeouts in a row.
The account page: the three status layers ("You asked for", "Engine", "Data") at the top

The account page also shows:

  • Performance: NAV (latest equity ÷ starting capital), total return, max drawdown, current drawdown (how far below the high), open P&L, and annualized figures such as annualized return and Sharpe. They are worked out the same way as in backtests.
  • Equity curve: each start or version switch begins a new segment, marked on the curve.
  • Details: "Positions", "Fills" (with the reason: signal, stop-loss, take-profit, trailing stop, left the pool, delisted, version switch, flatten), "Steps" (one row per step, saying whether it went fine or what went wrong; each retry of the same bar gets its own row), "Log".

What each step in "Steps" can show:

ok

What it means: The step finished

What to do: —

data error

What it means: Fetching data failed; after several in a row the account goes to "waiting"

What to do: Usually wait for the data to come back

strategy error

What it means: The strategy code failed on this bar; nothing is ordered on this bar and positions stay as they are. The account is marked as error and retries this bar again and again without moving on

What to do: Fix the strategy, save a new version, then switch to it on the account page (do not stop the account first)

timed out

What it means: The step did not finish in time

What to do: Make the strategy's computation lighter

liquidated

What it means: Equity fell below 0; the account stops by itself

What to do: Lower leverage or add a stop loss, and open again with a new version

points exhausted

What it means: The day's points could not be charged; the account stops by itself

What to do: Ask an admin for more points, then start again

platform fault

What it means: Something failed on the platform's side, not in the strategy

What to do: Wait; it retries on the next round

When an account stops, the reason is shown; testnet accounts can also stop for the drawdown stop, outside fills on the exchange account, orders rejected by the exchange, or positions drifting too far from target.

Testnet accounts

  • Choose "testnet" as the mode when creating the account; then on its page, under "Venue key", click "Add key" and enter the "API key" and "API secret" (the label is optional). A perpetual account's key needs futures trading permission, a spot account's needs spot trading.
  • Testnet accounts trade at 1× leverage only.
  • The key is stored encrypted and not shown again; you can replace or delete it, and an account without a key cannot start.
  • The account page adds the exchange account's balance and equity, the orders sent to the exchange and their status, and deposits and withdrawals on the exchange (not counted in NAV or drawdown).
  • Stop and flatten: closes this account's positions on the exchange with market orders (positions that are not this account's are left alone), then stops the account.

Alerts

You are alerted when: drawdown passes your alert line (20% by default), the strategy errors, exchange data is late, the account is liquidated, it stops for lack of points, a symbol is delisted, or a step is slow; testnet accounts also alert on a refused key, positions drifting from target, orders refused by the exchange, outside fills or positions, the daily loss limit, the drawdown stop and so on.

Each kind of alert comes at most once a day (UTC) per account. Alerts go to "Notifications" at the top right, and to your Telegram if you have bound it.