师兄最近找我,想做一个"能跑回测、能自定义因子"的量化交易系统。
作为一个刚用一周时间徒手搭了 TideWatch(AI 投研 MCP Server)的人,我本能的反应是——"这活儿我能接"。但冷静调研了一圈之后,我的结论是:不需要从零搭,现有的免费工具已经够用了。
这篇文章把调研过程和结论整理出来。如果你也在犹豫要不要"自建量化平台",希望能帮你省掉我花的这些时间。
量化系统的 5 个台阶
量化交易系统不是一个东西,而是一组自动化程度递增的工具。我把它分成 5 级:
| Level | 名称 | 代表工具 | 自动化 | 成本 |
|---|---|---|---|---|
| 0 | 手动看盘 | 同花顺 / 东财 APP | 0% | ¥0 |
| 1 | 数据分析 | Python + pandas + baostock | 20% | ¥0 |
| 2 | 回测研究 | 聚宽 / backtrader | 40% | ¥0 |
| 3 | 模拟交易 | miniQMT 模拟 / 聚宽模拟盘 | 60% | ¥0-1万 |
| 4 | 全自动实盘 | QMT / PTrade / vnpy | 90% | ¥10万+ |
大多数人——包括师兄——需要的是 Level 2。而 Level 2 到 Level 3 之间,是真正的分水岭:从"研究"到"交易",从"免费"到"花钱"。
关键认知:先在 Level 2 验证策略有 alpha,再考虑往上走。一个在 Level 2 年化 20% 的策略,比一个 Level 4 的空壳系统有价值一万倍。
Level 2 的选择:云平台 vs 本地框架
在"能跑回测 + 自定义因子"这个需求上,有两条路线。
路线一:云平台(开箱即用)
| 平台 | 特色 | 免费 | 零代码 | 推荐度 |
|---|---|---|---|---|
| 聚宽 | 社区强、数据全、AI 友好 | ✅ | ❌ | ⭐⭐⭐⭐⭐ |
| 优矿 | 通联数据底层 | ✅ | ❌ | ⭐⭐⭐ |
| 米筐 | 开源了回测引擎 rqalpha | ✅ | ❌ | ⭐⭐⭐ |
| 果仁网 | 拖拽选因子 | ✅ | ✅ | ⭐⭐(灵活性低) |
| BigQuant | AI/ML 模型内置 | ✅ | 部分 | ⭐⭐⭐ |
我的推荐是聚宽,理由很简单:
- AI 对聚宽 API 非常熟悉。用 Claude 或 GPT 说一句"帮我在聚宽上写一个双均线策略",它能直接给出可运行的完整代码。对于不太会写代码的人,这等于零门槛。
- 数据全且免费。A 股日K、分钟K、财务数据、行业分类、指数成分——全都有,而自建平台要自己对接 baostock/AKShare/TuShare,光数据层就要花好几天。
- 一键回测 + 模拟盘。策略写好点"回测"就跑,收益曲线、Sharpe、最大回撤一目了然。
路线二:本地框架(最大灵活性)
如果你需要策略保密、需要极致性能、或者单纯喜欢"掌控一切":
| 框架 | 定位 | 回测 | 实盘 | 推荐度 |
|---|---|---|---|---|
| backtrader | 纯回测 | ⭐⭐⭐⭐⭐ | ❌ | 回测首选 |
| vnpy | 回测+实盘一体 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 要实盘选它 |
| rqalpha | 米筐开源引擎 | ⭐⭐⭐⭐ | ❌ | 架构清晰 |
backtrader 是纯回测最强的选择——API 设计优雅,内置 100+ 技术指标(集成 TA-Lib),参数优化开箱即用。一个双均线策略的完整回测只需要 20 行代码:
import backtrader as bt
class DualMA(bt.Strategy):
params = (('fast', 5), ('slow', 20))
def __init__(self):
self.crossover = bt.ind.CrossOver(
bt.ind.SMA(period=self.p.fast),
bt.ind.SMA(period=self.p.slow))
def next(self):
if self.crossover > 0:
self.buy()
elif self.crossover < 0:
self.sell()
cerebro = bt.Cerebro()
cerebro.addstrategy(DualMA)
cerebro.run()
cerebro.plot()
但它也有硬伤:原作者已停止更新(社区 fork 活着),而且不支持实盘——回测完想实盘,还得迁移到 vnpy 或 miniQMT。
vnpy 走的是另一条路:回测、模拟、实盘一体化。它对接了 CTP(期货)、XTP(中泰证券)等 20+ 交易接口,是国内量化社区最活跃的开源项目。但学习曲线也最陡。
数据从哪来?
策略再好,没有数据就是空中楼阁。好消息是 A 股免费数据源已经相当完善了:
| 数据源 | 日K | 分钟K | 财务 | 资金流向 | 反爬 | 推荐 |
|---|---|---|---|---|---|---|
| baostock | ✅ | ✅ | ✅ | ❌ | 无 | ⭐⭐⭐⭐⭐ |
| AKShare | ✅ | ✅ | ✅ | ✅ | 中等 | ⭐⭐⭐⭐ |
| TuShare Pro | ✅ | ✅ | ✅ | ✅ | 需积分 | ⭐⭐⭐ |
我在 TideWatch 里用的就是 baostock(日K线)+ AKShare(资金流向和新闻),零成本、零反爬、跑了一周没出过一次问题。
关于实盘:Level 3-4 的门槛
如果你的策略在回测中表现好,想走向实盘,需要了解券商量化接口:
| 接口 | 资金门槛 | 特点 |
|---|---|---|
| miniQMT | ¥10万 | 最主流选择,Python SDK,VSCode 里就能开发 |
| PTrade | ¥10-50万 | 恒生电子出品,策略托管在券商机房,速度快 |
| vnpy CTP | 期货账户 | 期货市场首选 |
支持 miniQMT 的券商:国金证券、华鑫证券、湘财证券等。开户流程不复杂,但需要先入金 10 万。
期望管理:关于"稍微盈利"
这一节我觉得比前面所有技术细节都重要。
回测 ≠ 实盘
回测中容易忽略的现实摩擦:
- 滑点:你想 10 块买,实际成交 10.05。年化吃掉 2-5%
- 涨停买不进:策略说"买!",但涨停封板根本买不到
- 过拟合:参数完美匹配历史数据,但未来大概率失效
- 幸存者偏差:退市的股票没出现在回测数据里
合理的收益预期
| 策略类型 | 年化预期 | 最大回撤 | 难度 |
|---|---|---|---|
| 沪深300 指数基金 | 8-10% | 30-40% | 零 |
| ETF 轮动 | 10-20% | 15-25% | 低 |
| 多因子选股 | 15-25% | 20-35% | 中 |
| 统计套利 | 10-15% | 5-10% | 高 |
一个诚实的基准:能持续 3 年跑赢沪深300、Sharpe 比率 > 1.0,就已经是前 10% 的水平了。
时间成本
| 阶段 | 时间 | 产出 |
|---|---|---|
| 学习平台 | 1-2 周 | 跑通第一个策略 |
| 策略研发 | 1-3 个月 | 2-3 个候选策略 |
| 模拟盘验证 | 1-3 个月 | 回测 vs 模拟的偏离度数据 |
| 小资金实盘 | 3-6 个月 | 真实交易数据 |
从"学会用聚宽"到"有信心上实盘",保守估计 6 个月。
我的结论
师兄问我能不能帮他搭一个量化系统。我的回答是:
不需要搭。注册一个聚宽账号,让 AI 帮你写策略。
原因很简单:
- 平台是手段不是目的——先验证策略有没有 alpha
- 聚宽免费版已经覆盖 Level 2 的全部需求
- AI(Claude / GPT)对聚宽 API 非常熟悉,不会写代码也不是障碍
- 当策略成熟需要实盘时,再迁移到 miniQMT 或 vnpy 完全来得及
量化交易最贵的不是平台,是策略研发的时间和认知。把时间花在理解市场、构建因子、验证想法上,比花在造轮子上,回报率高得多。
先有万钟粟,后有黄金屋。 策略是粮食,平台只是仓库。

