Bulk Backtesting
When you have multiple strategies and want to find out which one performs best under the same market conditions, running them one at a time is tedious. Bulk backtesting lets you run the same configuration (pair, date range, initial capital) against multiple strategies in a single action.
What Bulk Backtesting Does
Bulk backtesting takes a list of strategies and enqueues an individual backtest task for each one, all sharing the same parameters:
- Same trading pair (e.g., BTC/USD)
- Same date range (e.g., Sept 1 to Oct 1)
- Same initial capital (e.g., $1,000)
Each strategy runs independently through the backtest engine, producing its own full result set (PnL, win rate, action log, charts). When all runs complete, you can compare them side by side on the Backtests page.
flowchart TD
A["Select strategies<br/>Strategy A, B, C"] --> B["Set shared config<br/>Pair, dates, capital"]
B --> C["Enqueue bulk task"]
C --> D["Task worker creates<br/>individual backtest tasks"]
D --> E["Strategy A<br/>backtest"]
D --> F["Strategy B<br/>backtest"]
D --> G["Strategy C<br/>backtest"]
E --> H["Results page:<br/>compare all runs"]
F --> H
G --> H
How to Run a Bulk Backtest
1. Navigate to the Strategies Page
Open the Strategies page from the sidebar. You will see a list of all saved strategies.
2. Select Multiple Strategies
Use the checkboxes next to each strategy to select the ones you want to test. You can select as many as you like.
3. Click "Bulk Backtest"
With strategies selected, click the Bulk Backtest button. A configuration form appears.
4. Configure the Shared Parameters
Fill in the same fields you would for a single backtest:
| Parameter | Description |
|---|---|
| Pair | The trading pair all strategies will be tested against. |
| Start date | Beginning of the test period. |
| End date | End of the test period. |
| Initial capital | Starting USD balance (same for all strategies). |
5. Submit
Click Start. Botmarley enqueues a BulkBacktest task, which in turn creates one BacktestRun task per selected strategy. You can monitor progress on the Tasks page.
Comparing Results
Once all backtests complete, navigate to the Backtests page. All runs from the bulk job will appear in the table. To compare effectively:
- Sort by Final Result (%) to rank strategies by profitability.
- Filter by pair if you have mixed results from different bulk runs.
- Look at win rate alongside PnL -- a high PnL with a low win rate means the strategy relies on a few big winners.
- Check total trades -- strategies with very different trade counts are hard to compare directly. A strategy with 3 trades and +10% is less reliable than one with 50 trades and +8%.
When comparing strategies, pay attention to consistency across different time periods. If Strategy A beats Strategy B on Sept data but loses on Oct data, neither has a clear edge. Run bulk backtests against multiple date ranges to build a fuller picture.
Use Cases
Strategy Selection
You have five strategy ideas. Run all five against the same 3-month period. Eliminate the ones that lose money or have unacceptable drawdowns. Shortlist the top performers for paper trading.
Parameter Optimization
Create multiple copies of the same strategy with different parameter values (e.g., RSI period 10, 14, 20). Bulk backtest all variants to find the parameter set that performs best for your target pair and timeframe.
Pair Comparison
If you want to test one strategy against multiple pairs, create the backtest runs individually (bulk backtesting uses a single pair). Then compare results across pairs on the Backtests page using the pair filter.