Skip to content
python.financial
Tools tested

Tools measured in this benchmark

Open a tool page for its code examples, strengths, and limits. Exact versions are listed in the technical details.

Warm runtime by parameter count

Median wall-clock time to simulate every setting and extract its result. Lower is faster. Runtime uses a logarithmic scale.

What this means

Batch-oriented APIs scale more gently

VectorBT has the lowest median at four settings. VectorBT PRO has the lowest median at 16 and 64 settings. The repeated event-engine calls grow close to linearly in this workload.

Technical details

See exactly how the result was produced

Exact values

Parameter settingsBacktesting.pyBacktraderPyBrokerVectorBTVectorBT PRO
427.36 ms347.30 ms86.75 ms6.97 ms10.57 ms
16103.96 ms1,437.69 ms344.69 ms13.30 ms13.13 ms
64450.21 ms5,699.69 ms1,478.36 ms41.35 ms23.43 ms

Environment

  • Apple M3, 8 logical cores, 24 GB RAM
  • macOS 26.5.2, arm64
  • CPython 3.11.8
  • Backtesting.py 0.6.6, Backtrader 1.9.78.123
  • PyBroker 2.0.1, VectorBT 1.1.0
  • VectorBT PRO 2026.9.5

Procedure

  • 2,000 synthetic minute bars per setting
  • 4, 16, and 64 holding-period settings
  • 2 warmups and 5 measured repetitions
  • One share, next-open fills, zero fees and slippage
  • Every setting checked for matching fills and final equity

Scope

This measures simulation after signals exist. Event-oriented APIs are called once per setting, while vectorized APIs receive the complete signal matrix in one call. Indicator generation, optimizer features, and parallel execution are outside this release.

Peak RSS was not measured consistently, so this release does not include a memory chart. The result describes this precomputed-signal grid, not built-in optimization tools or strategy research speed in general.

Reproduce and inspect

The downloadable files preserve the measured values, available result detail, environment record, and checksums.

See the editorial process for the publication standard.

Downloads

Download the data

Download the chart values, detailed results, release details, or file checksums separately.

Choose which optional services may run. You can change these settings at any time.