Backtrader 是一个开源的 Python 量化回测框架,支持多数据源、多策略、多周期回测与实盘交易。纯 Python 实现,无外部依赖,架构清晰且易于扩展。官方文档地址为 https://www.backtrader.com/docu/ 。
安装方式:pip install backtrader;如需绘图,可执行 pip install backtrader[plotting] 或安装 matplotlib。
核心概念:Backtrader 使用面向对象的事件驱动架构。Cerebro 是策略引擎,负责协调数据、策略和经纪商;Strategy 是策略类,用于编写交易逻辑;Data Feed 是数据源,支持 CSV、Pandas 和在线数据;Broker 是经纪商模拟,管理资金和订单;Indicator 是技术指标,内置 100+ 常用指标;Analyzer 是分析器,计算策略绩效指标;Observer 是观察器,记录策略运行时状态。
使用方式:用户需先准备数据,可通过 PandasData、GenericCSVData 或 YahooFinanceCSVData 等加载。策略中在 init 中定义指标,在 next 中编写交易逻辑,通过 self.data.close[0] 访问当前值、[-1] 访问前一个值。Cerebro 可设置初始资金、手续费、滑点、交易数量等,并添加分析器以获取夏普比率、最大回撤、收益率和交易统计等结果。参数优化可使用 optstrategy 进行网格搜索,支持多核并行。绘图需安装 matplotlib 后调用 cerebro.plot()。
适用场景:Backtrader 是纯本地框架,不依赖在线服务,适合离线量化策略研究、回测验证、参数优化和教学演示。数据需用户自行准备,可配合 AKShare、Tushare 等数据源使用。
限制:资料中未提供关于收费、价格、平台兼容性或实盘交易具体对接方式的详细信息,暂未提供。