分享用过/在用的量化交易工具(GitHub 项目清单)
我是自己写策略、自己跑回测、自己接实盘的量化玩家。中间换过框架,推翻过架构,数据源也迁移过几次。钱没少花,服务器也烧过不少。策略起起伏伏的,有阶段性顺风,也有连续回撤。 分享一些工具,都是我自己用过,或者现在还在用的 GitHub 项目,优缺点都会说。
一、数据获取
很多人一上来就研究策略,其实数据层才是地基。我早期就踩过坑:数据源不稳定,回测和实盘对不上。
1️⃣ AkShare
GitHub:
https://github.com/akfamily/akshare
优点:
- 数据覆盖广
- 社区活跃
- 上手简单
缺点:
- 有些接口偶尔抽风
- 部分数据要自己做校验
我主要用来做:
- 行业轮动
- 宏观指标辅助
- A 股基础行情补充
不完美,但够用。
2️⃣ TuShare
GitHub:
https://github.com/waditu/tushare
优点:
- 财务数据体系完整
- Pro 数据质量还可以
缺点:
- 免费额度有限
- 部分字段更新延迟
做多因子基本绕不开。
3️⃣ yfinance
GitHub:
https://github.com/ranaroussi/yfinance
优点:
- 简单直接
- 美股、ETF 足够用
缺点:
- 精度有限
- 偶尔接口变动
低频策略完全够用。
4️⃣ AllTick
GitHub:
https://github.com/alltick/alltick-realtime-forex-crypto-stock-tick-finance-websocket-api
优点:
- 股票、期货、外汇、加密都支持
- 实时 + 历史统一接口
- 多语言 SDK
缺点:
- 商业接口,要算成本
- 不适合纯练手阶段
如果是做多资产统一架构,这种标准化行情源会省很多事。
二、回测框架
1️⃣ Backtrader
GitHub:
https://github.com/mementum/backtrader
优点:
- 事件驱动
- 多资产支持
- 文档齐全
缺点:
- 速度一般
- 代码风格偏老
现在看可能有点老了,但不影响使用。
中低频策略、CTA 都没问题。
2️⃣ VectorBT
GitHub:
https://github.com/polakowo/vectorbt
优点:
- 向量化
- 批量参数扫描极快
缺点:
- 不适合复杂撮合逻辑
- 更偏研究用途
策略其实很简单,均线、动量、突破这些古老又朴素的方法,用它跑参数很舒服。
3️⃣ vn.py
GitHub:
https://github.com/vnpy/vnpy
优点:
- 国内实盘稳定
- CTP 成熟
缺点:
- 学习曲线不低
- 工程结构偏重
长期是能稳定跑的,但短期一定会被接口细节折腾。
4️⃣ QuantConnect Lean
GitHub:
https://github.com/QuantConnect/Lean
优点:
- 工程级架构
- 多资产支持完整
缺点:
- 偏重
- 个人部署成本高
适合团队或者长期做机构化方向。
三、因子研究与绩效分析
Alphalens
GitHub:
https://github.com/quantopian/alphalens
功能:
- IC 分析
- 分层收益
- 因子衰减
第一次用会觉得复杂,但做多因子很有帮助。
Empyrical
GitHub:
https://github.com/quantopian/empyrical
功能:
- Sharpe
- 最大回撤
- Sortino
- Calmar
我直接把它封成绩效模块。
四、组合优化
PyPortfolioOpt
GitHub:
https://github.com/robertmartin8/PyPortfolioOpt
支持:
- 均值方差
- Black-Litterman
- 风险平价
长期可以优化风险结构。
短期市场风格一切换,参数假设可能直接失效。我也经历过刚调好权重就集体回撤。
工具本身不会帮你赚钱,它只是把你的逻辑放大。 这些开源项目也并非完美,有些结构不够优雅,有些要自己补坑。但当成一套工程工具箱,挺不错的。
如果只是想试试量化,这套足够从 0 跑到实盘。
如果打算长期做,打磨数据层和执行层,比频繁换框架重要得多。