第 1 章 · 04 因子与 Alpha Zoo


文档摘要

第 1 章 · 04 因子与 Alpha Zoo 本节摘要:因子(factor / alpha)是 Vibe-Trading 里最容易让非金融读者困惑的概念。本节先把它讲透:因子本质上是一个「排序公式」——每天给很多标的各打一个分,然后看分数高的一组未来表现是否更好。接着带你认识项目内置的 Alpha Zoo:456 个 alpha 分成 (学术风格)、 (公式化)、 (国泰君安短周期)、 (Qlib 特征)四类,覆盖动量、反转、成交量、波动率、流动性、价值等 theme。最后教你用 CLI 浏览因子而非读 456 个源码文件,并理解 这套研究阶段的筛选口径——记住, 只是「值得继续研究」,绝不是「可以买入」。

第 1 章 · 04 因子与 Alpha Zoo

本节摘要:因子(factor / alpha)是 Vibe-Trading 里最容易让非金融读者困惑的概念。本节先把它讲透:因子本质上是一个「排序公式」——每天给很多标的各打一个分,然后看分数高的一组未来表现是否更好。接着带你认识项目内置的 Alpha Zoo:456 个 alpha 分成 academic(学术风格)、alpha101(公式化)、gtja191(国泰君安短周期)、qlib158(Qlib 特征)四类,覆盖动量、反转、成交量、波动率、流动性、价值等 theme。最后教你用 CLI 浏览因子而非读 456 个源码文件,并理解 alive / reversed / dead 这套研究阶段的筛选口径——记住,alive 只是「值得继续研究」,绝不是「可以买入」。

内容来源:原项目中文入门教程(第 3 章「因子和 Alpha Zoo」)改写,补充源码目录核对。

学习目标

阅读完本节,你应当能够:

  1. 用一句话说清因子是什么(排序公式),以及它不是什么(不是策略、不是下单规则、不是收益保证)。
  2. 列举 Alpha Zoo 的四类因子及其数量与适用场景。
  3. 说清常见的因子 theme(动量、反转、成交量、波动率、流动性、价值)各自研究什么。
  4. 用 CLI 命令(alpha list / alpha show / alpha bench)浏览和测试因子,而不是读源码。
  5. 解释 alive / reversed / dead 的分类口径,并理解它只是研究阶段的初筛。
  6. 解释为什么一个因子从「分数高」到「能赚钱」之间还有很长的路

一、因子是什么:一个排序公式

因子(factor,在 Vibe-Trading 里也叫 alpha)可以理解成一个**「排序公式」**:每天给很多股票各打一个分,然后看分数高的一组未来表现是否更好。

举一个最朴素的例子:过去 20 天涨得多的股票,未来是不是继续涨得更多? 如果是,那「20 日收益率」就是一个有效的因子(动量因子)。每天你给所有股票按 20 日收益率排序,得分高的就进入「值得关注」的名单。

一个因子的输出,通常是一张「标的 × 日期 → 分数」的表:

日期 AAPL MSFT GOOG ... 2024-01-01 0.82 0.45 0.11 ... 2024-01-02 0.79 0.50 0.15 ... ...

分数本身没有绝对含义,只有相对排序有意义。0.82 不代表「该买入 82%」,它只意味着在这天里 AAPL 的分数高于 MSFT 和 GOOG。

💡 关键认知:因子只回答「哪个标的分数更高」,不回答「买多少、什么时候买、能不能成交、成本多高」。从「分数高」到「能赚钱」之间,还隔着策略、仓位、成本、风控、回测好几道关,这是第 2 章的重点。

二、因子不是什么:三个常见误区

新手对因子最容易产生三种误解,必须先破除。

误区一:因子分数高 = 该买入。 错。分数高只代表「按这个公式,它排名靠前」。一个反转因子的分数高,可能恰恰代表它最近涨太多、该卖了。分数的方向(高好还是低好)要靠 IC 验证,不是想当然。

误区二:因子 = 策略。 错。策略(strategy)是把信号变成完整的交易规则:买什么、买多少、什么时候卖、最多持仓多少、如何止损。因子只是策略的一个输入——策略可能用多个因子合成信号,再叠加仓位上限、调仓频率、成本约束、风控。

误区三:好的因子 = 稳赚。 错。即使一个因子历史 IC 很高,放到真实交易里,也会被滑点、佣金、容量限制、市场风格切换侵蚀。因子是「研究起点」,不是「收益保证」。

⚠️ 任何因子分析结果均不构成投资建议alive 的因子只是「值得继续研究」,不是「可以买入」。

三、Alpha Zoo:456 个因子的四类分类

Vibe-Trading 把因子集中放在 agent/src/factors/zoo/ 下,这就是俗称的 Alpha Zoo。当前仓库一共有 456 个 alpha,分成四类:

Zoo 数量 适合怎么理解
academic 10 学术风格因子,例如动量、反转、52 周高点、非流动性等,适合入门理解。
alpha101 101 公式化 alpha,很多公式混合价格、成交量、排名、滚动相关。
gtja191 191 国泰君安短周期交易型因子,A 股语境更强。
qlib158 154 Qlib Alpha158 特征,常作为机器学习模型的输入特征。

加上一个 fundamental(基本面因子)目录,Alpha Zoo 实际覆盖的范围比纯量价因子更广。

💡 从哪类开始读:建议从 academic 入手——只有 10 个,且每个都对应一个清晰的经济学直觉(动量、反转、非流动性等),适合建立对「因子到底在算什么」的感觉。alpha101gtja191 公式复杂,适合已经理解基础后再深入。qlib158 主要服务于机器学习流程,如果你不做 ML,可以先跳过。

四、常见 theme:因子在研究什么

每个因子背后都有一个「研究假设」——它相信某种市场现象包含可利用的信息。下面这些 theme 是最常见的研究方向:

  • momentum(动量):最近强的标的是否继续强。代表因子:过去 N 日收益率。
  • reversal(反转):最近跌多或涨多后是否反向修复。代表因子:短期反转、过度反应。
  • volume(成交量):成交量变化是否包含资金行为信息。代表因子:量价背离、放量异常。
  • volatility(波动率):波动率是否能解释之后的收益或风险。代表因子:已实现波动率、波动率突变。
  • liquidity / microstructure(流动性 / 微观结构):流动性、盘口、成交结构相关信号。代表因子:非流动性、买卖价差代理。
  • value / quality(价值 / 质量):估值或质量风格,通常更偏中长期,需要基本面字段。代表因子:市盈率、ROE。

💡 怎么看 theme:同一个 theme 可能在多个 zoo 里都有对应因子。比如「动量」在 academic 里有一个简洁版本,在 alpha101 里可能有十几个变体。研究时不必全部用上,挑一两个理解透彻的比贪多更好。

五、用 CLI 浏览因子,而不是读源码

456 个因子如果逐个读源码,会非常低效。Vibe-Trading 提供了 CLI 命令,让你先浏览、再深入:

# 列出某个 zoo 下的所有因子 vibe-trading alpha list --zoo academic # 查看某个因子的公式与 metadata vibe-trading alpha show academic_mkt_rf # 把因子放到一个 universe 上测试,看 IC/IR vibe-trading alpha bench --zoo academic --universe sp500 --period 2020-2025 --top 10

这三条命令对应研究因子的三个动作:

  1. list:看有哪些因子可选(先建立全貌)。
  2. show:看某个因子的公式、需要哪些数据列、min_warmup_bars 是多少(理解它在算什么)。
  3. bench:把因子放到真实 universe 上跑,看 IC、IR、t 统计(验证它有没有用)。

💡 为什么不直接读源码:源码是「实现细节」,CLI 是「研究视角」。研究阶段你关心的是「这个因子研究什么、表现如何」,而不是「它用哪个 pandas 函数算的」。等你需要修改或自创因子时,再回到源码不迟。

六、alive / reversed / dead:研究阶段的初筛口径

alpha bench 跑完之后,项目会给因子一个分类标签,帮你快速判断「这个因子在这个 universe、这段时间里表现如何」:

分类 含义 内置口径(默认)
alive IC 显著为正 IC 均值 > 0.02,且 IC 为正的比例 ≥ 55%,且 t 统计显著
reversed IC 显著为负 IC 显著为负(说明分数高的反而之后跌,要反向用)
dead 不显著 其他情况(因子在这个 universe/时段没有稳定信号)

这里有三个关键认知:

第一,alive 不是「可以买入」。 它只是研究阶段的第一道筛选——告诉你「这个因子在这个 universe、这段时间里,分数和未来收益有正相关」。从「有正相关」到「能赚钱」还要经过策略化、成本扣除、风控、样本外验证、实盘模拟好几道关。

第二,分类依赖 universe 和时段。 同一个因子在 A 股可能是 alive,在美股可能是 dead;在 2015-2020 可能 alive,在 2021-2025 可能 reversed。换一个 universe 或时段,结论可能完全不同。

第三,reversed 也有用。 IC 显著为负不代表因子没用——它说明你只要反过来用(卖出分数高的、买入分数低的),同样是一个有效信号。dead 才是真正「这个 universe 下没信号」。

⚠️ 所有因子分析结果均不构成投资建议。历史 IC 高不代表未来有效,市场风格切换可能让一个 alive 因子突然变 dead

七、从一个因子到一个策略:还有多远

把本节和第 2 章衔接起来,你会更清楚因子在整个研究流程里的位置:

因子(本节) 策略(第 2 章) 回测(第 2 章) │ │ │ 打分 → 选前 N 只 仓位上限、调仓频率、 扣手续费、滑点、 止损、多因子合成 涨跌停、T+1 │ │ │ 研究起点 可执行规则 历史模拟

一个典型的多因子策略可能是:「在一个股票池里,用动量、质量、波动率三个因子合成分数,买前 20 只,每月调仓一次,单只最多 5% 仓位」。这里因子只是原料,策略和回测才是把它变成可评估规则的关键。

💡 本节的定位:本节只讲「因子是什么、怎么浏览、怎么初筛」。怎么把因子变成策略、怎么回测、怎么验证,是第 2 章的内容。不要在没读懂策略与回测之前,就把任何 alive 因子当作交易依据。

本节要点回顾

  1. 因子是排序公式:每天给标的打分,看分数高的一组未来表现是否更好;分数只有相对排序意义。
  2. 三个误区:分数高 ≠ 该买入;因子 ≠ 策略;好因子 ≠ 稳赚。
  3. Alpha Zoo 四类:academic(10,入门)、alpha101(101,公式化)、gtja191(191,A 股短周期)、qlib158(154,ML 特征)。
  4. 常见 theme:动量、反转、成交量、波动率、流动性、价值/质量。
  5. CLI 三板斧:alpha list 浏览、alpha show 看公式、alpha bench 测 IC/IR——别读源码。
  6. alive / reversed / dead:alive 是 IC 显著为正,reversed 是显著为负(反向可用),dead 是不显著;口径依赖 universe 和时段。
  7. alive ≠ 可以买入:这只是研究阶段的第一道筛选,从「分数高」到「能赚钱」还隔着策略、成本、风控、回测好几道关。

⚠️ 本节所有因子分析结果均不构成投资建议。历史 IC 高不代表未来有效,实盘前必须经过策略化、成本扣除、样本外验证和模拟盘测试。

至此第 1 章结束。你已经跑通了第一个研究任务、建立了六层结构的全景图、翻译了核心术语、认识了因子与 Alpha Zoo。下一章我们将进入研究工作流与回测——拆解一条标准研究工作流的五步(Plan → Ground → Execute → Validate → Deliver),看一句话提示是如何变成可复查的证据的。


发布者: 作者: HKUDS 转发
评论区 (0)
U