什么是 Backtrader?
Backtrader 是一个用 Python 编写的开源量化交易与回测框架,支持策略开发、历史数据回测、实时交易(通过 broker 集成)等功能。 它设计简洁、高度模块化,适合从初学者到专业量化开发者的各类用户。
核心特性
- 支持多资产、多时间周期回测
- 内置技术指标(如 SMA、RSI、MACD 等)
- 可自定义交易策略逻辑
- 支持实盘交易(通过 IB、OANDA 等接口)
- 可视化回测结果(集成 Matplotlib)
快速开始
安装 Backtrader:
pip install backtrader
一个简单的双均线策略示例:
import backtrader as bt
class MyStrategy(bt.Strategy):
def __init__(self):
self.sma_short = bt.indicators.SMA(period=10)
self.sma_long = bt.indicators.SMA(period=30)
def next(self):
if not self.position:
if self.sma_short > self.sma_long:
self.buy()
else:
if self.sma_short < self.sma_long:
self.sell()
cerebro = bt.Cerebro()
cerebro.addstrategy(MyStrategy)
data = bt.feeds.YahooFinanceData(dataname='AAPL', fromdate=datetime(2020,1,1), todate=datetime(2023,12,31))
cerebro.adddata(data)
cerebro.run()
cerebro.plot()
学习资源
78TP文档:https://www.backtrader.com/docu/
GitHub 仓库:https://github.com/mementum/backtrader