BulletTrade 是一个专业的量化交易系统 Python 包,提供完整的回测和实盘交易解决方案。
简体中文 | 完整文档
- 🔄 聚宽兼容:
from jqdata import * - 📊 多数据源:JQData、MiniQMT、TuShare、本地缓存、远程 QMT server,以及 Beta 版 RQData/easy_tdx 均可切换。
- ⚡ 回测 & 报告:分钟/日线回测、真实价格撮合、HTML/PDF 报告一键生成。
- 💼 实盘接入:本地 QMT、远程 QMT server、模拟券商按需选择。
- 🧩 可扩展:数据/券商接口基于抽象基类,便于自定义实现。
如果只是运行量价策略,例如 ETF 策略,通常不需要额外购买数据,也可以在本地完成回测和运行。涉及财务数据、小市值等策略时,可以按自己的数据条件选择聚宽、TuShare 或自定义数据源,社区里也有不少用户改成 TuShare 等数据源后正常使用。
建议按下面顺序阅读:
- 安装 Python 和运行环境:先把本地 Python、虚拟环境和依赖准备好。
- 新手入门总览:如果需要实盘,先看这里判断应该选择方案 A 还是方案 B。
- 方案 A:BulletTrade 本地独立运行:策略直接在本地 BulletTrade 里运行,并连接本地 QMT 执行交易。
- 方案 B:聚宽模拟盘运行策略:策略在聚宽模拟盘运行,BulletTrade 负责接收信号并在本地 QMT 执行交易。
- 文档首页: 站点 https://bullettrade.cn/docs/
- 环境准备:安装 Python:两个方案共用的前置步骤,先装 Python,再创建虚拟环境。
- 新手入门总览:先看 BulletTrade 目前支持的两种方案、结构图和选型方法,再进入对应文档。
- 方案 A:独立运行:策略在 BulletTrade 独立运行,连接本地 QMT。
- 方案 B:聚宽侧模拟盘运行:策略在聚宽侧模拟盘运行,BulletTrade 负责接收信号并在本地 QMT 执行。
- 方案 B 子文档:
- 聚宽策略修改方案对比:比较显式调用 helper 和接管聚宽函数两种改法。
- 策略修改方案 1:显式调用 helper:下单处显式改成
bt.order_target_value(...)等函数。 - 策略修改方案 2:接管聚宽函数:模拟盘接管账户状态和下单函数,尽量减少策略代码改动。
- 快速上手:三步跑通回测/实盘,聚宽策略无改直接复用。
- 配置总览:回测/本地实盘/远程实盘/聚宽接入的环境变量一览。
- 回测引擎:真实价格成交、分红送股处理、聚宽代码示例与 CLI 回测。
- 实盘引擎:本地 QMT 独立实盘与远程实盘流程。
- 交易支撑:聚宽模拟盘接入、远程 QMT 服务与 helper 用法。
- QMT 服务配置:bullet-trade server 的完整说明。
- 数据源指南:聚宽、MiniQMT、Tushare、RQData/easy_tdx Beta 以及自定义 Provider 配置。
- API 文档:策略可用 API、类模型与工具函数。
- 邀请贡献: 贡献与联系方式。
如需交流或反馈,低佣开通QMT等,可扫码添加微信,并在 Issue/PR 中提出建议:

