Are you looking to enhance your trading strategies with the power of Python and machine learning? PyBroker is a Python framework designed for developing algorithmic trading strategies, with a focus on strategies that use machine learning. With PyBroker, you can easily create and fine-tune trading rules, build powerful models, and gain valuable insights into your strategy’s performance.
- A super-fast backtesting engine built in NumPy and accelerated with Numba.
- Easy creation of trading rules and models for executing across multiple instruments.
- Integration of trading signals across multiple time intervals, including daily, weekly, and monthly.
- Access to historical data from Alpaca, Yahoo Finance, AKShare, or from your own data provider.
- Model training and backtesting using Walkforward Analysis, which simulates how the strategy would perform during actual trading.
- Reliable trading metrics that use randomized bootstrapping to provide more accurate results.
- Parameter optimization with Optuna to select the best strategy parameters.
- Caching of downloaded data, indicators, and models to speed up your development process.
- Parallelized computation and training for faster performance.
- Agent Skills that help AI agents write trading strategies and backtests using PyBroker.
PyBroker provides you with the tools to build, test, and evaluate algorithmic trading strategies backed by machine learning.
PyBroker supports Python 3.11+ on Windows, Mac, and Linux. You can install
PyBroker using pip:
pip install -U lib-pybrokerOr you can clone the Git repository with:
git clone https://github.com/edtechre/pybrokerHere's a glimpse of what backtesting with PyBroker looks like with these code snippets:
Rule-based Strategy:
from pybroker import Strategy, YFinance, highest
def exec_fn(ctx):
# Get the rolling 10 day high.
high_10d = ctx.indicator('high_10d')
# Buy on a new 10 day high.