Backtesting

A backtest runs your strategy on historical market data and shows how it would have traded, with every trade and its costs. You see the exact price in platform tokens before every run.

Set up a backtest

On the Backtest page, or by asking Jarvis, choose:

  • the strategy and its version;
  • the exchange and the market to test as;
  • the symbols, the timeframe and the date range;
  • the starting capital, the position sizing, and the fees and slippage.

Your plan limits the symbols, the timeframes, the date range and how many backtests you run per day and at once. See the plan comparison.

Price

The price depends on the timeframe, the length of the date range, the number of symbols and the size of the strategy. You see the exact price before every run. When an identical backtest has already run, you get its result at once, free of charge. When you cancel a backtest, the part that has finished is charged. What happens to the tokens of a failed run is on Tokens & AI usage.

Prices, fees and rules

Prices come from the platform's historical market data. Fees, order sizes, leverage limits and liquidation rules come from the exchange you test as. Each result names both. Fees and slippage can be set higher than the defaults, never below the lowest values listed below, and every market fill also pays half the spread.

Queue and data

Backtests wait in a queue; up to 10 backtests of yours can wait at once. You can cancel a backtest at any time.

Sometimes the market data of a range has gaps. The data gap rules below decide whether the backtest runs; the result tells you which gaps it met.

Results

A result shows the key metrics, the equity curve, the monthly returns and every trade on the chart, with its entry and exit reasons, fees, slippage and funding. A proof box lists the data source, the date range, the fee values and the versions used: the same inputs give the same result.

  • Pin a result to keep its trades and equity curve. Without a pin they are removed after 180 days. You can pin up to 50 results.
  • Share a result with a public link, and remove the link at any time.
  • Export the trades as CSV when your plan includes it.
  • Compare up to 4 results side by side by asking Jarvis.
  • Run as paper bot from Jarvis's answer to try the strategy on live prices.

Past results do not guarantee future returns.

Why did my backtest stop early?

Its equity fell to the ruin level: 1% of the starting capital. The test then stops and closes all positions.

Market data (candles)

  • Quote assetUSDT
  • Data gap policySkip short gaps
  • Most filled candles2%
  • Most missing minutes (tolerate)3%

Backtests

  • Queued backtests per user10 backtests
  • Pinned results per user50 results
  • Allowed timeframes1m, 3m, 5m, 10m, 15m, 30m, 45m, 1h, 2h, 4h, 6h, 12h, 1D, 1W, 1M
  • Smallest timeframe1m
  • Ruin level1%
  • Default half spread0.01%
  • Default slippage (spot)0.05%
  • Default slippage (perpetuals)0.03%
  • Lowest slippage0.01%
  • Lowest fee rate0.02%
  • Profit factor cap999
  • Sortino ratio cap999
  • Charge for a cached resultFree
  • Charge the finished part on cancelYes
  • Trades and equity retention180 days
  • Hide shared results from search enginesYes
  • Results per comparison4 results
  • Results disclaimerPast results do not guarantee future returns.

What you can do here: Backtests

  • Show the backtest optionsJarvis can do this for you
  • Estimate the price of a backtestJarvis can do this for you
  • Run a backtestJarvis can do this for you
  • List backtestsJarvis can do this for you
  • Show backtestJarvis can do this for you
  • List the trades of backtestJarvis can do this for you
  • Compare backtestsJarvis can do this for you
  • Cancel backtestJarvis can do this for you

Where to find it in the app

  • BacktestSet up and run a backtest: strategy, symbols, timeframe, range, capital, sizing, fees; see the price first.Sidebar › Backtest (on a phone: Tab bar › Backtest)
  • Backtest resultOne backtest's result: metrics, equity, trades with their evidence, the costs used; share it.Sidebar › Backtest › Backtest result (on a phone: Tab bar › Backtest › Backtest result)