# Backtesting.py ## Docs - [Backtest](https://mintlify.wiki/kernc/backtesting.py/api/backtest.md): Core class for backtesting a trading strategy on historical OHLCV data. - [Composable strategies](https://mintlify.wiki/kernc/backtesting.py/api/lib/composable-strategies.md): Ready-made base strategy classes and Backtest subclasses from backtesting.lib for signal-driven, trailing stop-loss, fractional, and multi-instrument backtesting. - [Utilities](https://mintlify.wiki/kernc/backtesting.py/api/lib/utilities.md): Helper functions and constants from backtesting.lib for signal detection, statistical analysis, and data generation. - [Order](https://mintlify.wiki/kernc/backtesting.py/api/order.md): Represents a pending order created by Strategy.buy() or Strategy.sell(). - [Position](https://mintlify.wiki/kernc/backtesting.py/api/position.md): Represents the aggregate current position across all active trades. - [Strategy](https://mintlify.wiki/kernc/backtesting.py/api/strategy.md): Abstract base class for defining trading strategies in backtesting.py. - [Trade](https://mintlify.wiki/kernc/backtesting.py/api/trade.md): Represents an active or closed trade resulting from a filled Order. - [Changelog](https://mintlify.wiki/kernc/backtesting.py/changelog.md): Release history for backtesting.py — what's new, improved, and fixed in each version. - [Backtest](https://mintlify.wiki/kernc/backtesting.py/concepts/backtest.md): Configure and run simulations with the Backtest class, interpret the statistics it returns, and optimize strategy parameters. - [Data](https://mintlify.wiki/kernc/backtesting.py/concepts/data.md): Understand the OHLCV data format, how to load and access price data in strategies, and how bar-by-bar revelation works during a backtest. - [Orders, trades, and positions](https://mintlify.wiki/kernc/backtesting.py/concepts/orders-trades-positions.md): Understand the Order, Trade, and Position objects — their properties, lifecycle, and how to use them to manage risk and track results inside a strategy. - [Strategy](https://mintlify.wiki/kernc/backtesting.py/concepts/strategy.md): Learn how to define trading strategies by subclassing Strategy, declaring indicators in init(), and making trading decisions bar-by-bar in next(). - [FAQ](https://mintlify.wiki/kernc/backtesting.py/faq.md): Answers to the most common questions about backtesting.py — data loading, commissions, orders, optimization, and more. - [Fractional Share Trading](https://mintlify.wiki/kernc/backtesting.py/guides/fractional-trading.md): Backtest strategies that trade fractional quantities — essential for crypto assets and high-priced stocks — using FractionalBacktest. - [Declaring Indicators](https://mintlify.wiki/kernc/backtesting.py/guides/indicators.md): Learn how to declare and configure technical indicators inside your backtesting.py strategies using self.I(). - [Trading with Machine Learning](https://mintlify.wiki/kernc/backtesting.py/guides/machine-learning.md): Integrate scikit-learn models and other ML frameworks into backtesting.py strategies using precomputed predictions and SignalStrategy. - [Multi-Asset Backtesting](https://mintlify.wiki/kernc/backtesting.py/guides/multi-asset.md): Run and optimize the same strategy across multiple instruments simultaneously using MultiBacktest. - [Multiple Time Frames](https://mintlify.wiki/kernc/backtesting.py/guides/multiple-timeframes.md): Apply indicators across different time frames without introducing look-ahead bias using resample_apply(). - [Parameter Optimization](https://mintlify.wiki/kernc/backtesting.py/guides/optimization.md): Optimize your strategy parameters using grid search or model-based optimization, and visualize results with heatmaps. - [Installation](https://mintlify.wiki/kernc/backtesting.py/installation.md): Install backtesting.py and its dependencies, and verify your environment is ready to run backtests. - [Introduction](https://mintlify.wiki/kernc/backtesting.py/introduction.md): Backtesting.py is a Python framework for backtesting trading strategies on historical candlestick data. - [Official tutorials](https://mintlify.wiki/kernc/backtesting.py/official-tutorials.md) - [Quickstart](https://mintlify.wiki/kernc/backtesting.py/quickstart.md): Run your first backtest in under five minutes using a simple moving average crossover strategy on Google stock data.