Backtesting.py
Small, readable backtesting library with interactive charts and a built-in optimizer.
GitHub statistics as of 2026-11-10. Status: active = commits in the last 90 days, slowing = in the last year, inactive = older, archived = read-only.
Overview
Backtesting.py keeps the API short: subclass Strategy, write init() and next(), and call Backtest.run(). Results come with an interactive Bokeh chart and a table of standard statistics, and optimize() searches parameters. It tests one instrument at a time.
Best for: Beginners and quick single-instrument experiments.
Strengths
- Easiest API of the libraries here
- Good charts out of the box
- Built-in parameter optimization and heatmaps
Limitations
- One instrument per backtest; no portfolio of assets
- AGPL-3.0 license matters if you build a product on it
- Fewer order types than event-driven engines
Comparisons
Alternatives in Backtesting libraries
All frameworks · Descriptions are our own summary and may lag behind each project's documentation. Check the project's license before using it in a product. Nothing here is investment advice.