Virtual Trading vs Demo Trading vs Live Trading: Why Results Differ

How virtual trading, demo and live trading differ in fills, slippage, fees, funding and behaviour, why virtual trading results flatter, and how to read a virtual trading record.

League Basics · Updated 2026-10-10

Three ways to run the same strategy

A trading strategy can be run in three settings that look similar on a chart but behave very differently underneath. Virtual trading simulates orders against real market prices without sending anything to an exchange. Demo trading sends orders to an exchange's practice environment, usually with play money and a separate order book. Live trading sends real orders with real money to the real market.

Each step adds friction that the previous one leaves out. That is why a performance number should never be read without its mode label, and why results from different modes should never be blended into one figure. The public virtual trading league runs every strategy in virtual trading only and labels it that way for exactly this reason.

Fills and slippage

The biggest gap is in how orders are filled. A virtual trading engine looks at the market price and records a fill. It does not wait in the queue behind other orders, it does not eat through several price levels of the order book, and it does not move the price against itself. A live market order does all of those things. The difference between the price you expected and the price you got is called slippage, and it grows with order size, with thin markets and with fast moves, which are often exactly the moments a strategy wants to trade.

Limit orders have the opposite problem. A virtual trading engine may assume a limit order filled when the price merely touched it, while in a live market the order may be only partly filled or not filled at all because others were ahead in the queue. Strategies that rely on many small limit fills, such as grid bots, are especially sensitive to this.

Demo environments sit in between. They use a real exchange interface, so order types, rejections and rate limits are more realistic, but the order book is often thinner or partly simulated, so fill quality can still differ from live trading in either direction.

Fees and funding

Every trade pays a fee. In the league, each virtual fill is charged a fee of 0.04% of the value traded. Real fees depend on the exchange, the account tier and whether the order adds or removes liquidity, so always check the exchange's own current fee schedule rather than assuming a number.

Perpetual futures add funding. When the funding rate is positive, longs pay shorts at each settlement; when it is negative, shorts pay longs. For a strategy that holds positions for days, funding can be as large as the fees. As of 7 October 2026, the recorded 30-day annualized BTC funding rate was about 5.0% on Binance and about 4.5% on Bybit; these figures change at every settlement.

Latency, outages and behaviour

Live systems also face delays between a signal and an order, temporary exchange outages, rejected orders, API rate limits and maintenance windows. A virtual trading engine that reprices every 15 minutes is a useful measuring tool, but it does not reproduce the second-by-second timing of a live bot.

Then there is the person running the bot. Watching a virtual trading account drop 10% is uncomfortable; watching real savings drop 10% leads many people to switch the bot off, change its settings or double down at the worst moment. A virtual trading record measures the rules; a live record measures the rules plus the discipline of whoever is in charge.

Worked example: how cost assumptions change a result

Small per-trade costs compound. Imagine a strategy that makes 100 round trips, each with a gross edge of +0.15% before costs. At the league's virtual trading fee of 0.04% per fill, a round trip costs 0.08%, leaving +0.07% per trip. Compounded over 100 trips that is 1.0007 to the power of 100, about +7.25%.

Now add a modest 0.05% of slippage on each side, a plausible amount in a live market. The cost per round trip becomes 0.04% + 0.05% on entry plus the same on exit, or 0.18%, leaving −0.03% per trip. Compounded over 100 trips, 0.9997 to the power of 100 is about −2.96%. The rules are identical; only the cost assumption changed, and a profitable virtual trading strategy became a losing live one.

The grid example in the grid bot profit calculator shows the same effect on a single grid. In a 50,000–70,000 range with 20 arithmetic grids, the top grid buys at 69,000 and sells at 70,000, a price ratio of 1.014493. Profit per grid is (sell ÷ buy) × (1 − fee)² − 1. With a 0.04% fee that is 1.014493 × 0.9996² − 1 = 1.368%. With the calculator's example fee of 0.1% it falls to 1.246%. With 0.04% fee plus 0.05% slippage, an effective 0.09% per side, it is 1.267%.

Funding works the same way. The funding fee calculator's example, a 10,000 USDT long paying 0.01% every 8 hours for 30 days, adds up to 90 settlements and 90 USDT, which is 4.5% of the 2,000 USDT margin of a 5x position. A virtual trading record that ignores funding misses all of that.

How to read a virtual trading record

First, check the mode label and the measurement window. The league annualizes Sharpe from daily returns and only calculates it once there are at least seven daily returns. It also ranks a strategy only after at least 28 days of virtual trading and one fill; before that it shows no figures, only "Preparing (n/28 days)". A blank or zero value on a record a few days old is a missing value, not a neutral result.

Second, look for enough activity. A strategy with three trades has told you very little, however good its return looks. Third, ask what was charged: the league's 0.04% per fill is stated, but slippage and funding should be treated as extra costs you would face live. Fourth, look at the drawdown alongside the return and check the data confidence score; a stale or paused record deserves less trust.

Common mistakes

The most common mistake is treating a virtual trading return as an estimate of a live return. It is better read as an upper bound. Another is comparing a virtual trading record from one place with a live record from another as if they were the same kind of number. A third is judging a bot on a few days or weeks, which mostly measures the market conditions of those weeks. A fourth is forgetting that high-frequency strategies are the most exposed to fees and slippage, because the same small cost is paid many times.

Risk note

Virtual trading is a safe way to study how a set of rules behaves, and that is its value. It is not evidence that the same rules will make money with real orders. Nothing here is investment advice. Live trading can lose money, leveraged trading can lose more than the margin you expected to risk, and fees, slippage and funding apply to every real trade.

See it in the data

Related guides

Metrics explained with real backtests

Research explanations are educational, not investment recommendations. Development implements rules defined by the customer; work scope and payment are confirmed separately.