bt is a flexible backtesting framework for Python that uses a tree-based strategy composition model.
Instead of writing monolithic scripts, you build strategies as reusable building blocks:
Strategy trees: combine, stack, and reweight sub-strategies
100+ built-in indicators and signals
Multi-asset, multi-currency support
Transaction cost modeling
Detailed performance analytics (tearsheets, drawdown analysis)
Integration with pandas, numpy, scipy
If you've ever struggled to backtest a portfolio of strategies — not just a single instrument — this is the tool.