最近我正式成为了 WorldQuant BRAIN 的顾问(Consultant)。
按理说,onboarding 之后的第一件事,应该是去试试那些新解锁的数据集和 Region。但我没有。我做的第一件事,是打开 Simulate 的 Settings,像往常一样从上往下看——然后停在了 Neutralization 那一栏。
下拉框变长了。
以前只有四个选项:MARKET、SECTOR、INDUSTRY、SUBINDUSTRY,清一色的”分组”。现在多出了 STATISTICAL、RAM、CROWDING、FAST、SLOW、SLOW_AND_FAST——整整六个”风险因子”选项。
选项翻倍是小事。真正让我愣住的是那一刻的念头:
多出来的这些选项,本质上是一种”话语权”——你有权决定你的 Alpha 暴露在哪些风险上,也有权声明你不想碰哪些风险。
普通用户手里只有”分组”一把尺子,顾问多了一把”风险因子”的尺子。这篇文章,就想把两把尺子的区别,以及我因此想明白的一件事,好好记录下来。
一、中性化到底在做什么:先回到本质
很多教程把中性化讲得很玄。其实它的数学很简单:在每个分组内,把你的 Alpha 权重调整到总和为零。
- 多头权重之和 = 空头权重之和
- 分组内多空完全对冲
- 你的收益,只来自组内个股的相对强弱
比如你选 INDUSTRY,意味着在每个行业内部做多空配对。你赚的是”行业里谁更强”的钱,而不是”哪个行业会涨”的钱。
但这里有个容易被忽略的认知转变:中性化不是”消除风险”,而是”选择风险”。
你选 INDUSTRY,行业风险并没有消失,只是被从你的 Alpha 里剔除了。你在用一个非常明确的方式声明:行业涨跌这笔钱,我不赚。
这句话,是整篇文章的钥匙。
(顺便说一句,天文观测里有个很像的操作叫”背景扣除”——想拍出暗弱的星系,第一步不是增强信号,而是先把天空的亮光减掉。减掉的不只是噪音,更是所有人一眼就能看到的那部分。中性化做的事,和它一模一样。)
二、两把尺子:分组类与风险因子类
中性化的所有选项,可以分成两大类:
| 类别 | 机制 | 普通用户 | 顾问 |
|---|---|---|---|
| 分组类 | 按”股票属于谁”分组 | ✅ | ✅ |
| 风险因子类 | 按”Alpha 暴露了什么”剥离 | ❌ | ✅ |
分组类(MARKET / SECTOR / INDUSTRY / SUBINDUSTRY)的逻辑是”把股票按分类分组,在组内做对冲”。四个选项的区别,只是分组粗细。
风险因子类(STATISTICAL / RAM / CROWDING / FAST / SLOW / SLOW_AND_FAST)是完全不同的机制:它不按股票分组,而是把你的 Alpha 对一组已知的风险因子做回归,取残差。
如果说分组类问的是”股票属于谁“,那风险因子类问的就是”你的 Alpha 在偷偷吃哪种风格的钱“。
为什么平台要把这把尺子留给顾问?答案其实写在顾问的职责里:普通用户只需要”回测好看”,但顾问要提交的,是与现有 Alpha 低相关的新信号。而低相关从哪来?——把信号里那些人人都吃得到的风格溢价剥掉,剩下的,才是别人还没发现的部分。
风险因子中性化不是装饰,它本来就是”找独特信号”这个工种的核心工具。
三、分组类:按”股票属于谁”中性化
MARKET — 全市场一个组
- 分组:所有股票视为一组
- 效果:消除整个市场的涨跌影响,只保留个股相对全市场的超额
- 适合:纯量价因子(动量、反转、波动率),你只关心全市场范围内的相对强弱
- 注意:会保留行业暴露——如果你的因子有行业偏好,这里会留下行业 Beta
SECTOR — 大类行业
- 分组:按 GICS 一级行业(金融、科技、消费……)
- 特点:分组较粗,中性化力度较弱
- 适合:因子在不同大类板块存在系统性差异的逻辑(比如期权波动率策略)
INDUSTRY — 细分行业
- 分组:更细的行业分类
- 适合:基本面因子(PE、ROE、盈利增长)、分析师预期因子。这些指标的估值中枢在不同行业间差异巨大——不剔除行业偏差,你选出来的”便宜”很可能是”行业的便宜”,而不是”个股的便宜”
- 黄金搭档:
group_rank(-pe, industry)这种”行业内排名”的写法,天然和 INDUSTRY 中性化配套
SUBINDUSTRY — 最细分组(默认基线)
- 分组:比 INDUSTRY 更精细的子行业分类
- 特点:BRAIN 的默认选项,也是大多数高质量 Alpha 的起点
- 经验:不确定时,从它开始;
group_rank+ts_rank配合 SUBINDUSTRY,是通往高 Sharpe 的常见路径
这一类选择的本质,是在回答一个问题:你愿意让分组粗到什么程度? 分组越细,行业风险剔除得越干净,但组内股票越少,误伤的概率也越高。这有点像炖汤撇浮沫——撇得越勤,汤越清,但也可能把好味道一起撇掉。
四、风险因子类:按”你在暴露什么”中性化(顾问专属)
风险因子类中性化有一个共同的机制:把你的 Alpha 对一组”风险因子”做回归,取残差作为最终信号。它不依赖股票的分类标签,而是直接刻画收益背后的系统性驱动。它们也有一个共同的精神:
这些风格的钱,是市场公认的”公共因子溢价”,谁都能赚到,所以它们不构成你的 Alpha。我要的,是剥掉它们之后剩下的、别人拿不走的信号。
下面六个选项,我先把官方定义贴出来,再用大白话翻译一遍。
STATISTICAL — 统计风险模型
- 官方定义:Includes risk factors which use techniques to identify patterns in historical returns, neutralize risks, and enhance Alpha stability with diverse, data-driven insights.
- 白话:用统计方法从历史收益里”自动找规律”的一组数据驱动风险因子。它不像 FAST/SLOW 那样带有明确的经济学标签,而是更通用的”模式识别”。
- 适合:你没有特别要避开的风格,只想让信号更稳、更干净的时候——风险因子类里的”通用款”。
RAM — 反转与动量(Reversion And Momentum)
- 官方定义:Includes risk factors that capture the impact of short-term mean reversion and long-term momentum trends in stock prices.
- 白话:同时覆盖”短期均值回归”和”长期动量趋势”两类因子,把你 Alpha 里这两个方向的暴露一起剥掉。
- 适合:你的信号既沾了短期反转、又带了长期动量的钱时,一次剥掉两边。
CROWDING — 拥挤度
- 官方定义:Includes risk factors of excessive investor concentration in similar positions, which can lead to reduced profitability by heightened impact during concentrated unwinding.
- 白话:剥离”太多资金扎堆在同一类持仓”的风险——这种拥挤一旦集中解仓,冲击成本会明显侵蚀收益。
- 适合:你发现自己的策略总爱买热门股、又担心踩踏风险时。
FAST — 快速因子
- 官方定义:Includes market, industry factors and higher turnover style factors, such as reversion alpha.
- 白话:注意,它不只是”剥快因子”——它内置了市场 + 行业因子,再叠加快周转的风格因子(比如反转)。
- 含义:选
FAST,相当于同时做了市场/行业中性 + 快速风格中性。
SLOW — 慢速因子
- 官方定义:Includes market and industry factors as well as other common lower turnover style factors.
- 白话:同样是市场 + 行业因子,再加低周转的常见风格因子。
- 含义:选
SLOW,相当于市场/行业中性 + 慢速风格中性。
SLOW_AND_FAST — 快慢结合
- 官方定义:Combines both slow and fast factors.
- 白话:快、慢两套因子一起剥。
- 含义:这是风险因子类里剥得最”狠”的一个——市场、行业、快因子、慢因子全覆盖。剥得越多,剩下的信号越微弱,需要足够强的逻辑来支撑。
五、一张速查表
| 你的因子类型 | 推荐中性化 | 理由 |
|---|---|---|
| 基本面(PE、ROE、净利润增速) | INDUSTRY / SUBINDUSTRY |
行业估值中枢差异大,必须剔除 |
| 分析师预期(EPS 修正、评级变化) | INDUSTRY / SUBINDUSTRY |
分析师预期存在行业系统性偏误 |
| 量价因子(动量、反转、波动率、换手) | MARKET |
只需要全市场相对排序 |
| 期权 / 波动率类 | SECTOR / MARKET |
波动率在大类板块间差异明显,先粗分再中性 |
| 信号同时暴露于反转与动量 | RAM |
一次剥掉短期反转 + 长期动量 |
| 没有明确的风格偏好,只想让信号更稳 | STATISTICAL |
数据驱动地中和历史收益里的模式 |
| 追求”纯 Alpha”,不依赖任何已知风格 | SLOW_AND_FAST |
市场 + 行业 + 快慢因子全覆盖 |
| 避免热门股踩踏 | CROWDING |
专门剔除拥挤度暴露 |
六、感悟:中性化是你逻辑里的”不选什么”
还记得之前文章里聊到的那句话吗:
顶级顾问的复杂表达式不是炫技,而是层层递进的逻辑过滤器。
当时我理解的”过滤器”,主要指表达式内部的嵌套:先筛选、再修正、再组合,一层层把噪音过滤掉。成为顾问之后我才意识到,这个”过滤器”其实还有表达式之外的一层——中性化。
一个完整的 Alpha 逻辑,应该由两部分组成:
$$
\text{Alpha} = \underbrace{\text{表达式}}{\text{我选什么}} \quad \times \quad \underbrace{\text{中性化}}{\text{我不选什么}}
$$
- 表达式决定”选什么”:我要买行业内被低估、且近期有资金流入的股票
- 中性化决定”不选什么”:行业整体涨跌我不赌,市场风格溢价我不吃
用一条完整的逻辑链串起来:
- 先有金融逻辑:找”行业内被低估、近期有资金流入”的股票
- 表达式实现第一层筛选:
group_rank(-pe, industry) * ts_rank(volume, 20) - 中性化做最后一环:
- 选
INDUSTRY——因为逻辑已经说了”行业内”,中性化把行业内其他系统性影响再剥一次,让信号只聚焦于行业内个股的相对强弱 - 选
MARKET——如果逻辑是全市场动量,你不想剔除行业,只想剔除大盘
- 选
所以中性化不是拍脑袋选的,它就是你逻辑表达式的一部分,是那个”剔除噪音”的隐式嵌套。
这也是为什么顶级顾问的 Alpha 看起来总是很”干净”:表达式内部,层层嵌套的算子在做”选什么”的过滤;表达式之外,中性化补上了”不选什么”的最后一层。两条线合起来,才是完整的逻辑。
七、常见误区与实用建议
误区
- “中性化越多越好”:剥得越狠,剩下的信号越弱。过度中性化会把好信号一起洗掉。
- “默认 SUBINDUSTRY 就行”:它是好起点,但只是起点。默认值是给”还没想清楚”的人用的——成为顾问之后,你没有理由不去主动选择。
- “中性化只影响风险,不影响收益”:错。它直接改变你赚的是什么钱。选错中性化,你的 Alpha 可能从头到尾都在赚行业 Beta 的钱而不自知。
建议
- 同一个表达式,换着中性化跑一遍:
MARKET、INDUSTRY、SUBINDUSTRY各跑一次,对比 Sharpe 和回撤的变化,比读十篇教程都直观。 - 按数据来源定方向:财务数据 → 行业中性;量价数据 → 先试
MARKET。 - 风险因子类慎用,但要会用:这是顾问身份带来的最大红利——“低相关 Alpha”的底气,很大程度来自你能主动剥离风格暴露。
- 注意换手:某些中性化会推高换手,记得配合
Decay和Truncation控制成本。