第 12 章 · 03 开源量化工具链
本节摘要:本节讲开源量化工具链全景。前 11 章每个环节(数据、因子、ML、组合优化、回测、交易)都有对应的开源工具,本节把它们串成一条完整的工具链。重点介绍几个明星项目:qlib(微软出品的 AI 量化平台,数据+模型+回测一体,内置 LightGBM/AlphaNet/TFT 等模型)、vnpy(国人开发的交易框架,回测+实盘,期货/股票/外汇)、FinRL(强化学习量化,把交易建模为 RL 问题)、Riskfolio-Lib 与 PyPortfolioOpt(组合优化库,对应第 9 章)、TA-Lib(技术指标库,对应第 3 章)、gplearn/geppy(遗传规划因子挖掘,对应第 8 章)。仓库资料/因子挖掘.md 与 资料/投资组合优化与风控.md 给出了相关链接。本节按「数据→因子→模型→组合→回测→交易」的流程,介绍每个环节的工具,以及如何把它们组合成自己的工具链。
内容来源:仓库 资料/因子挖掘.md、资料/投资组合优化与风控.md(工具链接清单),结合开源项目常识,知识结构化整理。
⚠️ 学习提示:工具链不是「越全越好」——每个工具都有学习成本,初学者容易陷入「装了一堆工具却没跑通一个策略」的困境。建议先精通一个全流程工具(如 qlib),再按需引入专用工具。
学习目标
阅读完本节,你应当能够:
- 画出量化研究的全流程,并标注每环节的工具。
- 说清 qlib、vnpy、FinRL 各自的定位与特点。
- 列举组合优化库(Riskfolio-Lib、PyPortfolioOpt)与第 9 章的对应。
- 列举因子挖掘工具(gplearn、geppy、TA-Lib)与第 3/8 章的对应。
- 设计一套适合自己的工具链。
一、量化研究的全流程与工具对应
量化研究可拆成六个环节,每个环节都有开源工具:
| 环节 |
任务 |
代表工具 |
对应章节 |
| 数据 |
行情/财务/另类 |
AKShare、Tushare、聚宽 |
第 12 章第 01 节 |
| 因子/特征 |
技术指标、因子挖掘 |
TA-Lib、gplearn、geppy |
第 3、8 章 |
| 模型 |
ML/DL/RL 预测 |
qlib、FinRL、scikit-learn、PyTorch |
第 4~6 章 |
| 组合优化 |
权重分配、风控 |
Riskfolio-Lib、PyPortfolioOpt |
第 9 章 |
| 回测 |
策略模拟 |
vectorbt、backtrader、zipline |
第 12 章第 02 节 |
| 交易 |
实盘下单 |
vnpy、easytrader |
实盘 |
下面挑几个明星工具深入。
二、qlib:AI 量化平台
qlib 是微软亚洲研究院出品的开源 AI 量化平台,是目前最完整的「数据+模型+回测」一体化工具。
核心特点
- 数据层:内置 A 股、美股等数据下载与统一格式(Daily Features),处理好了复权、 survivorship 等坑。
- 模型层:内置多个 SOTA 模型——LightGBM、AlphaNet(第 5 章)、TFT(Transformer 时序)、TRA、HourNet 等,一行配置即可跑。
- 回测层:内置 topk_dropout 等策略回测,与模型无缝对接。
- 工作流:用 YAML 配置文件定义「数据→模型→回测」全流程,可复现、可分享。
适合场景
- 想快速尝试 SOTA AI 选股模型(不必从零搭 PyTorch)。
- 想要标准化的「数据→因子→模型→回测」pipeline。
- 研究 ML/DL 因子,需可复现的实验管理。
局限
- 主要面向「选股」场景,CTA、套利支持弱。
- 实盘对接需自己写适配层。
- 学习曲线较陡(要理解其配置体系)。
💡 为什么推荐 qlib:它是目前唯一把「AI 选股研究的全流程」工业级开源的工具。华泰 AI 系列的很多模型(AlphaNet 等)在 qlib 里有对应实现,跑一遍就能复现研报结论。对学第 4~6 章的读者,qlib 是最佳实践平台。
三、vnpy:交易与回测一体
vnpy 是国人开发的交易框架,主打实盘,兼顾回测。
核心特点
- 多市场:支持期货、股票、外汇、数字货币的实盘与回测。
- CTP 网关:对接国内期货 CTP 接口,实盘下单。
- 事件驱动:用事件引擎处理 tick、订单、成交,贴近实盘。
- 模块化:CTA 策略、价差、期权等应用模块化,按需加载。
适合场景
- CTA / 期货策略(第 11 章)的回测与实盘。
- 需要从回测平滑过渡到实盘(同一套策略代码)。
- 国内期货/股票实盘交易。
局限
- 主要面向交易,选股研究支持弱。
- 股票实盘对接不如期货成熟(A 股接口分散)。
- 文档以中文为主,海外社区小。
四、FinRL:强化学习量化
FinRL 是把**强化学习(RL)**应用于量化的开源库,对应第 6 章前沿 AI。
核心特点
- RL 建模:把交易建模为 MDP(马尔可夫决策过程)——状态(市场信息)、动作(买卖)、奖励(收益)。
- 多算法:内置 DQN、DDPG、PPO、SAC 等主流 RL 算法。
- 多市场:支持股票、期货、加密货币。
- 学习导向:文档与教程丰富,适合学 RL 在金融的应用。
适合场景
- 研究 RL 在交易/组合管理的应用。
- 想用 RL 做动态仓位调整、执行优化。
局限
- RL 在金融的应用仍在探索,效果不如监督学习稳定。
- RL 训练难调(奖励设计、样本效率、稳定性),易过拟合。
- 不适合作为「主力生产工具」,更像前沿研究平台。
五、组合优化库:Riskfolio-Lib 与 PyPortfolioOpt
这两个库对应第 9 章投资组合优化与风控,把第 9 章的理论变成可调用 API。
Riskfolio-Lib
- 功能最全的组合优化库:均值-方差、Black-Litterman、风险平价、风险预算、最坏情况优化等。
- 支持因子模型(Barra 风格)、层次聚类、Black-Litterman 观点矩阵。
- 适合严肃的组合优化研究,第 9 章所有方法都能用它实现。
PyPortfolioOpt
- 更轻量、API 友好的组合优化库。
- 支持均值-方差、BL、风险平价、层次风险平价(HRP)。
- 适合快速原型与教学。
学第 9 章时,用这两个库可以把公式变成代码,加深理解。
六、因子挖掘与技术指标工具
对应第 3 章技术指标与第 8 章因子挖掘新范式。
TA-Lib(技术指标库)
- 仓库 资料/因子挖掘.md 收录。
- 包含 150+ 经典技术指标(MACD、KDJ、RSI、布林带……),C 实现,速度快。
- 是技术指标(第 3 章)的标准工具,广发 125 指标(第 3 章素材)大多可在 TA-Lib 找到对应。
遗传规划因子挖掘(gplearn、geppy、gpquant)
- 仓库 资料/因子挖掘.md 收录 GPlearn、Deap、geppy、gpquant、FactorMining 等。
- 用遗传规划(GP)自动「演化」出因子公式,对应第 8 章因子挖掘。
- 东方金工 DFQ、华泰 GPU 加速 GP 等研报(资料/因子挖掘.md 收录)是这类方法的工业实践。
神经网络因子挖掘
- 用神经网络端到端学习因子(AlphaNet,第 5 章)。
- 湖南大学金融科技协会的「使用神经网络挖掘选股 End-to-End 因子」综述(资料/因子挖掘.md 收录)。
基于 LLM 的因子挖掘
- 华泰「GPT 因子工厂:多智能体与因子挖掘」(资料/因子挖掘.md 收录)。
- 用大语言模型生成因子思路,是因子挖掘的新前沿。
七、其他常用工具
- scikit-learn:传统 ML(第 4 章),GLM/SVM/树/Boosting。
- PyTorch / TensorFlow:深度学习(第 5、6 章)。
- statsmodels:统计建模、回归、时间序列。
- arch:GARCH 等波动率模型。
- PyAlgoTrade / pyalgotrade:轻量事件驱动回测。
- bt:基于 Pandas 的灵活回测库。
- empyrical:绩效指标计算(夏普、最大回撤等),与 zipline 同源。
- pyfolio:组合绩效分析报告,Quantopian 出品。
八、构建自己的工具链
不要贪多,建议按以下顺序构建:
- 数据:先用 AKShare/Tushare 把 A 股数据拉下来。
- 指标:用 TA-Lib 算技术指标,跑通 main.py(第 3 章)。
- 全流程:上 qlib,跑通一个 LightGBM 选股模型,理解「数据→因子→模型→回测」闭环。
- 组合:用 PyPortfolioOpt 做组合优化(第 9 章)。
- 回测:用 vectorbt 扫参数,backtrader 精验证(第 12 章第 02 节)。
- 实盘:用 vnpy 对接实盘(期货先,股票后)。
- 前沿:按需引入 FinRL(RL)、gplearn(GP 因子挖掘)。
💡 核心心法:工具链的目标是「让你专注策略本身,而非基础设施」。但前期投资学习工具是值得的——一旦工具链搭好,迭代策略的速度会大幅提升。先把一条线(数据→模型→回测)跑通,再横向扩展。
九、工具链与本教程的对应
| 教程章节 |
推荐工具 |
| 第 2 章因子 |
qlib(内置因子库) |
| 第 3 章技术指标 |
TA-Lib + main.py |
| 第 4 章传统 ML |
qlib + scikit-learn |
| 第 5/6 章深度学习 |
qlib(AlphaNet/TFT)+ PyTorch |
| 第 7 章高频 |
自写 + vnpy |
| 第 8 章因子挖掘 |
gplearn/geppy |
| 第 9 章组合优化 |
Riskfolio-Lib / PyPortfolioOpt |
| 第 10 章情绪/NLP |
HuggingFace Transformers(BERT) |
| 第 11 章 CTA |
vnpy + vectorbt |
| 第 12 章工具 |
本章工具链 |
本节要点回顾
- 全流程六环节:数据、因子、模型、组合、回测、交易;每环节有开源工具。
- qlib:微软 AI 量化平台,数据+模型+回测一体,内置 SOTA 模型(LightGBM/AlphaNet/TFT);学第 4~6 章的最佳实践平台。
- vnpy:国人交易框架,回测+实盘一体,主打期货,CTA(第 11 章)首选。
- FinRL:RL 量化,把交易建模为 MDP,内置 DQN/PPO/SAC;前沿研究平台,效果不如监督学习稳定。
- 组合优化库:Riskfolio-Lib(全)、PyPortfolioOpt(轻);实现第 9 章 MVO/BL/风险平价/风险预算。
- 因子挖掘:TA-Lib(技术指标)、gplearn/geppy/gpquant(遗传规划,第 8 章)、LLM 因子工厂(新前沿)。
- 其他:scikit-learn、PyTorch、statsmodels、arch、empyrical、pyfolio。
- 构建顺序:数据→指标→qlib 全流程→组合→回测→实盘→前沿;先跑通一条线再横向扩展。
- 章节对应:每章都有推荐工具,配合学。
下一节,我们看仓库自带的 arXiv Radar 子站——它是怎么用 scripts/ 的爬虫自动追踪 AI+Finance 前沿论文的,这是本仓库的特色功能。