backtrader
Python Backtesting library for trading strategies
...Its Cerebro engine coordinates strategies, data feeds, brokers, indicators, analyzers, and execution. Developers can combine multiple strategies, instruments, and timeframes while resampling or replaying market data. The framework includes a large indicator library, custom indicator support, analyzers, position sizing, commissions, and trading calendars. Its broker simulation supports market, limit, stop, trailing, OCO, and bracket-style orders along with slippage and volume filling. Backtrader can also work with live data and brokerage integrations and provides integrated charting for strategy analysis.