About this project

Backtesting.py is an open-source Python library designed for backtesting trading strategies. It provides a simple, well-documented API that allows users to define strategies using a class-based approach with init() and next() methods. The library supports any financial instrument with OHLC(V) candlestick data and is indicator-library-agnostic, meaning users can bring their own indicators. Key features include: - Blazing fast execution for running backtests - A built-in optimizer based on SAMBO for parameter optimization - A library of composable base strategies and related utilities - Detailed trade results provided as simple Series/DataFrame objects - Interactive visualizations of backtest results The library is installed via pip and includes example strategies such as SMA crossover. It provides comprehensive statistics including return, volatility, Sharpe ratio, Sortino ratio, Calmar ratio, alpha, beta, drawdown metrics, win rate, profit factor, expectancy, SQN, and Kelly Criterion. The project includes documentation, a project website, and a list of alternative Python backtesting frameworks.