How Backtesting Works
Backtesting is the process of evaluating a trading strategy against historical market data to understand how it would have performed in the past. Arconomy makes it easy to launch a backtest from anywhere in the platform, configure the execution parameters to match your trading style, and review the results to refine your approach.
What Is Backtesting?
At its core, backtesting answers a simple question: if I had been running this strategy during a specific historical period, what would the outcome have been? Instead of risking real capital on an untested idea, backtesting lets you simulate trades across days, weeks, or months of market data before committing to live execution.
Backtesting serves several critical purposes in the strategy development process:
- Validation — Confirm that your trading logic produces a positive edge before committing capital.
- Refinement — Identify weaknesses in your entry, exit, or risk management rules and iterate on them.
- Comparison — Evaluate multiple strategy versions or configurations side by side to determine which performs best.
- Confidence — Develop conviction in your approach by seeing it perform across different market conditions and time periods.
Where to Start a Backtest
Arconomy provides several entry points for launching a backtest, so you can start one from whichever screen you are working on. Look for the lab flask icon — this indicates that a backtest can be initiated from that location.
- Strategy List — From the main strategy list, click the lab flask icon next to any strategy to open the backtest configuration screen. This is the quickest way to run a backtest when you already know which strategy you want to test.
- Strategy Designer — While building or editing a strategy on the canvas, you can launch a backtest directly from the designer. This lets you test changes immediately without leaving the editor.
- Results Screen — After reviewing previous backtest results, you can start a new backtest from the results screen. This is useful when you want to re-run a test with different configuration settings.
- Previous Backtest — You can also relaunch a backtest based on a previous run, carrying forward its configuration as a starting point for the new test.
Regardless of where you start, the backtest configuration screen is the same. It walks you through selecting a strategy version, setting up your account parameters, choosing a data source, and defining how the strategy should be executed across the selected time period.
The Backtest Process
When you run a backtest on Arconomy, the engine performs the following sequence:
- Load your strategy — The engine loads the selected strategy version along with its configured rules and parameters.
- Initialise the account — The simulated trading account is set up with the initial balance and leverage you specified in the configuration.
- Retrieve market data — Historical data for the selected instruments and date range is loaded from the data source you chose (Time Series or Strategy data).
- Execute the strategy — The engine runs your strategy against the data, evaluating rules and simulating trades according to your execution iteration settings. If you configured multiple iterations, each one runs independently.
- Compile results — Every trade, position change, and portfolio value is logged. The engine compiles a detailed performance report once all iterations are complete.
Single Execution vs Iterative Execution
One of the most important decisions when configuring a backtest is choosing how the strategy should be executed across the selected time period. Arconomy offers two execution modes:
Execute Once
Executing a backtest once runs your strategy once as a single continuous process across the entire date range. This is the most straightforward approach and is well suited for longer timeframes that hold positions for days or weeks. It is also the mode to choose when you want to deeply analyse the execution of a strategy over a specific time period - for example to understand the logic that resulted in a trade openind or closing. When executing a single backtest the Analyse Mode option is displayed, letting you choose the level of detail captured during the run. See Analysis Modes for a full description of each option.
Execute Every
In iterative execution mode, the date range is split into repeating intervals — such as every day, every week, or every month — and the strategy runs independently in each interval. Each iteration begins with a fresh state, as if the strategy were being started for the first time.
This mode is particularly valuable for strategies that operate on a cycle, for example daily or weekly. For a day trading strategy, an iterative execution run lets you see how the strategy performs each day in the selected period. You can also apply day-of-week filters (for example, only test on Mondays and Wednesdays) and time-of-day windows (for example, only trade between 8:00 AM and 12:00 PM) to target specific sessions.
Iterative execution is covered in detail on the Strategy Execution Iterations page.
Parallel Execution
When running an iterative backtest with many intervals, Arconomy can execute iterations in parallel to deliver results faster. Rather than processing each interval sequentially, the engine distributes the work across multiple threads so you spend less time waiting and more time analysing results.
Limitations of Backtesting
Past performance does not guarantee future results. Backtesting is a valuable tool for strategy development, but it has inherent limitations that every trader should understand before deploying capital.
No backtesting engine can perfectly replicate live market conditions. Be aware of the following:
- Execution differences — In live markets, fills may occur at slightly different prices than the backtest assumes due to slippage and changing liquidity conditions.
- Market impact — Your orders can influence the market, especially in less liquid instruments. Backtesting does not account for the price impact of your own trades.
- Liquidity gaps — During high-volatility events, liquidity can disappear entirely. The backtest may assume fills at prices that would not have been available in reality.
- Data quality — Historical datasets may contain gaps or stale quotes. While Arconomy applies data quality processes, no historical dataset is perfect.
- Overfitting — Tuning parameters too aggressively against historical data can produce strategies that look great in backtests but fail in live trading.
Treat backtest results as one input in your decision-making process, not as a prediction of future performance. Combine backtesting with paper trading on a demo account and sound risk management practices.
Was this helpful? Let us know