Alpha Zoo:452 个因子武装你的策略库
一行命令,跑完整个因子动物园的横截面评分:
vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20
什么是 Alpha Zoo?
Alpha Zoo(因子动物园)是 Vibe-Trading 内置的量化因子库。它收集了来自学术界和业界经典研报的 452 个横截面 alpha 因子,并在此基础上构建了一套完整的因子研究工具链:浏览、评分、对比、分类、代码导出。
它的核心理念是:你不必从零创造因子,但你需要知道哪些因子在你的市场里有效。
四大量子动物园
| Zoo | 数量 | 来源 | 许可 |
|---|---|---|---|
| qlib158 | 154 | 微软 Qlib Alpha158(Apache-2.0) | Apache-2.0 |
| alpha101 | 101 | Kakushadze (2015) 论文 arXiv:1601.00991 | 公式属数学内容 |
| gtja191 | 191 | 国泰君安《191 个短周期交易型 alpha 因子》 | 公式属数学内容 |
| academic | 6 | Fama-French 5 + Carhart 动量 | 公开学术文献 |
每个因子都以纯函数的形式实现,附带完整的公式文档和中文注释。因子之间不存在 lookahead 风险——在算子层就已经禁用。
Qlib158(154 个)
源自微软 Qlib 的 Alpha158 因子集。这些因子主要基于价格和成交量数据计算,覆盖趋势、反转、波动率、流动性等常见量化维度。由于来自 Apache-2.0 开源项目,代码风格与 Qlib 保持高度一致,适合熟悉 Qlib 的用户直接上手。
Alpha101(101 个)
来自 Zura Kakushadze 在 2015 年发表的经典论文《101 Formulaic Alphas》。这是全球被引用最广泛的 alpha 因子集合之一,涵盖了从简单移动平均到复杂横截面排名的各种公式化策略。Vibe-Trading 的实现忠实于论文公式,并标记为"公式属于数学内容"以避免版权争议。
GTJA191(191 个)
来自国泰君安证券 2014 年的研报《191 个短周期交易型 alpha 因子》。这是四个 zoo 中数量最多的一个,也是对 A 股市场最具针对性的因子集合。所有因子都附带中文名称和中文 docstring,方便国内量化研究者快速理解和使用。
Academic(6 个)
包括 Fama-French 五因子(市场、规模、价值、盈利、投资)和 Carhart 动量因子。这些是金融学术界的"标准参照系",适合作为基准对比和回归分析的控制变量。
核心工具链
因子浏览
vibe-trading alpha list # 列出全部因子
vibe-trading alpha show <id> # 查看单个因子的公式与源码支持按 zoo 筛选、关键词搜索、按类别分组。每个因子的展示页面包含:
- 因子编号与名称
- 公式逻辑与计算说明
- 完整 Python 源码
- 所属 zoo 与引用来源
因子评分(Bench)
# 对整个 zoo 评分
vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025 --top 20
# 严格模式:加入随机控制 + OOS 切分
vibe-trading alpha bench --strict --zoo qlib158 --universe hs300 --period 2020-2025评分输出包含:
- IC(信息系数):因子值与未来收益的截面相关性
- IR(信息比率):IC 均值 / IC 标准差
- Alive / Reversed / Dead:因子有效性的三态分类
- Rank IC:秩相关系数,减少极端值影响
- IC Positive Ratio:IC 大于零的比例
因子对比(Compare)
vibe-trading alpha compare <id1> <id2> ... --sort ir这一功能让你把手选的几个因子放在同一 universe 和同一时间区间上做头对头比较。仅评估指定因子,不会把整个 zoo 跑一遍。结果以排名表展示,标出每个因子与榜首的差距。
四端支持:CLI / Web UI Compare 视图 / REST API(POST /alpha/compare + SSE)/ Agent Tool。
Alpha 对比展示
在 Web UI 中,你可以在因子目录中勾选多个因子,点击 Compare 按钮即可生成流式更新的排名对比表。对比结果支持导出。
安全机制
Alpha Zoo 的因子实现有严格的安全保护:
- AST 纯度门禁:自动检查因子函数是否包含副作用、网络调用或非纯操作
- 300 行 lookahead 哨兵测试:确保因子不会使用未来数据
- pytest-socket 网络阻断:在测试期间禁止网络访问,确保因子不依赖外部数据
- 每 zoo 独立 LICENSE.md:明确因子代码的授权边界
实战提示
1. 选哪个 Zoo 开始?
- 如果你主要做 A 股:从 GTJA191 开始
- 如果你做 美股:从 Alpha101 或 Qlib158 开始
- 如果你想做学术研究:加上 Academic 作为基准
2. 怎么组合因子?
Vibe-Trading 支持 Multi-Factor Skill,可以将多个 alpha 因子加权组合形成复合因子。你可以用 multi-factor skill 实现等权、IC 加权、IR 加权等组合方式。
3. 怎么验证因子有效性?
除了标准的 Rank IC 指标,建议使用严格模式 bench(--strict),它会在同 universe 上加入随机控制 + 训练/测试 OOS 切分,帮助你识别"只是跟随市场 beta"的伪因子。
4. 从因子到策略
Alpha Zoo 的因子本身是横截面信号。你需要结合 strategy-generate skill 将因子信号转化为可交易的策略逻辑(如选股排序、阈值开仓、行业中性化),再用回测引擎验证完整策略表现。
检验标准
读完本文后,你应该能回答:
- 四个 Zoo 分别来自哪里?它们各自的主要特点是什么?
- 如何用 CLI 完成一个因子的评分和对比?
- Vibe-Trading 如何保证因子实现的安全性和纯洁性?
- 从因子到完整交易策略,一般需要经过哪些步骤?
