3、因子暴露与组合构建:如何计算个股的因子暴露,基于因子得分的加权方法

好,咱们进入正题。这一节要聊的,是Smart Beta策略里最核心的实操环节——怎么算个股的因子暴露,以及拿到暴露分数后,怎么把它变成真正的持仓权重。

说实话,我早年刚接触量化时,觉得因子选股就是算个分、排个序、买前几名。后来发现,暴露计算和加权方式才是决定策略收益来源的关键。你因子选得再好,加权方法不对,照样跑偏。

3.1 个股因子暴露:从原始数据到标准化分数

因子暴露,说白了就是某只股票在某个因子上的“含量”。比如价值因子,你拿市盈率(PE)的倒数来度量,那低PE的股票暴露值就高。

但这里有个坑:不同因子的量纲完全不同。PE的倒数可能是0.01到0.1,换手率可能是0.5%到5%,动量因子可能是-20%到+50%。你没法直接拿原始值去比较或加权。

所以,标准化是必须的。我个人习惯用两种方法:

3.1.1 Z-Score标准化

这是最常用的方法。对每个因子,计算全市场股票的均值和标准差,然后:

Z_score = (原始值 - 均值) / 标准差

这样处理后,所有因子暴露都变成均值为0、标准差为1的分布。正值表示高于平均水平,负值表示低于平均水平。

我的经验:Z-Score对极端值敏感。我曾经在A股做小市值因子时,遇到一只ST股,市值极小,Z-Score直接飙到8以上。如果不做缩尾处理(Winsorize),这只股票会严重扭曲组合。所以我一般先做1%和99%分位数的缩尾,再做Z-Score。

3.1.2 百分位排名法

另一种常见做法是把原始值转为0到1之间的百分位排名。比如市盈率最低的1%股票,得分0.01;最高的1%,得分0.99。

Percentile = (排名 - 1) / (总股票数 - 1)

这种方法的好处是不受极端值影响,而且分布均匀。但缺点是丢失了原始数据的距离信息——两个股票可能排名差1位,但实际因子值差很远。

核心结论:我个人在Smart Beta组合中,更倾向用Z-Score。因为它保留了因子暴露的“强度”信息,这对后续的因子倾斜加权很重要。百分位法更适合做排序选股,而不是暴露加权。

3.2 多因子合成:如何把多个因子暴露合并成一个综合得分

实际策略很少只用单一因子。我们通常会选3-5个因子,比如价值、质量、低波、动量。那问题来了:怎么把多个因子暴露合成一个综合得分?

这里我见过三种做法:

  1. 等权合成:每个因子暴露直接取平均。简单粗暴,但有效。
  2. IC加权:根据每个因子历史IC(信息系数)的大小来赋权。IC高的因子权重更大。
  3. 优化加权:用优化器求解,使得合成后的因子暴露与目标因子(比如未来收益)相关性最大。

嗯,这里要注意:等权合成虽然简单,但往往最稳健。我做过回测对比,IC加权在样本外经常失效,因为因子的IC会随时间变化。优化加权更是容易过拟合。

所以我的建议是:先用等权合成跑起来,等你有足够长的样本外数据,再考虑动态调整。

3.3 基于因子得分的加权方法:三种主流方案

拿到综合因子得分后,下一步就是确定每只股票的权重。这里我重点讲三种方法:等权、市值加权、因子倾斜加权。

3.3.1 等权加权

最简单的方法:选入组合的股票,每只分配相同的权重。

权重_i = 1 / N

其中N是组合中股票的数量。

优点:完全避免了对权重的任何主观判断,分散化效果最好。你想想看,如果你选股能力很强,等权能让每只股票都平等地贡献收益。

缺点:没有利用因子暴露的强度信息。高分股票和低分股票权重一样,这其实浪费了信息。

避坑指南:我曾经在2018年做过一个回测,用等权加权做小市值因子。结果因为小盘股数量太多,交易成本吃掉了一半收益。等权加权在股票数量超过100只时,换手率会很高,一定要考虑交易成本。

3.3.2 市值加权

按股票的流通市值分配权重。市值大的股票权重高,市值小的权重低。

权重_i = 市值_i / 总市值

优点:容量大,流动性好,交易成本低。大机构用这种方法最合适。

缺点:因子暴露被稀释了。你想想看,如果一只高分股票市值很小,它在组合里的权重就微乎其微,因子暴露几乎没起作用。说白了,市值加权会让组合偏向大盘股,偏离因子暴露的初衷。

我个人很少用纯市值加权做Smart Beta。除非是超大资金体量,不得不考虑流动性。

3.3.3 因子倾斜加权(我最推荐的方法)

这是Smart Beta的精髓。权重不仅取决于市值,还取决于因子得分。具体公式:

权重_i = (市值_i × 因子得分_i^γ) / Σ(市值_j × 因子得分_j^γ)

其中γ是倾斜系数,控制因子暴露的强度。γ=0时退化为市值加权,γ越大,因子得分高的股票权重越大。

为什么我喜欢这个方法?因为它提供了一个可调节的杠杆。你可以通过调整γ,在因子暴露和组合容量之间找到平衡。

实战经验:我一般把γ设在1到3之间。γ=1时,因子得分翻倍的股票,权重也翻倍(相对市值加权)。γ=2时,因子得分翻倍,权重翻4倍。我建议新手从γ=1开始,跑一段时间再调整。

3.4 三种加权方法的对比

维度 等权加权 市值加权 因子倾斜加权
因子暴露强度 中等 高(可调节)
组合容量 中等
交易成本 中等
分散化程度 最高 最低 中等
适合资金规模

3.5 核心逻辑流程图

下面这张图,把从因子暴露计算到组合构建的完整流程串起来了。我建议你多看几遍,理解每一步的输入和输出。

因子暴露与组合构建核心流程 原始因子数据 标准化处理 Z-Score / 百分位排名 多因子合成 等权 / IC加权 / 优化加权 加权方法选择 等权加权 权重 = 1/N 市值加权 权重 ∝ 市值 因子倾斜加权 权重 ∝ 市值 × 得分^γ Smart Beta 组合权重

3.6 一个完整的计算示例

假设我们有5只股票,价值因子得分(Z-Score)如下:

股票 市值(亿) 价值因子Z-Score 等权权重 市值加权权重 因子倾斜权重(γ=1)
A 100 1.5 20% 33.3% 41.7%
B 80 0.5 20% 26.7% 22.2%
C 60 -0.5 20% 20.0% 16.7%
D 40 -1.0 20% 13.3% 11.1%
E 20 -1.5 20% 6.7% 8.3%

你看,等权加权下,高分股票A和低分股票E权重一样,这显然不合理。市值加权下,A的权重虽然高,但主要是因为市值大,而不是因子得分高。而因子倾斜加权,A的权重达到41.7%,E只有8.3%,真正实现了“优股重配”

我的建议:如果你刚开始做Smart Beta,从因子倾斜加权(γ=1)开始。它既保留了市值加权的容量优势,又引入了因子暴露的倾斜。等跑顺了,再尝试调整γ值,或者换成等权加权做小资金策略。

好了,这一节的内容就到这。因子暴露计算和加权方法,是Smart Beta策略的地基。地基打不好,后面再漂亮的回测曲线都是空中楼阁。希望你能动手算一算,把表格里的数字自己推导一遍,感受一下不同加权方法的差异。


专注资料整理