研究摘要
图表数据来自 A 股研究样本
因子的数量常被当作研究深度的标志,但名字并不等于信息。本文以我们自建的 202 个因子为例,在不使用任何收益数据的前提下,用截面相关、层次聚类与主成分分析回答三个问题:这些因子里有多少相互独立的信息,它们构成哪些方向,这些方向是否随时间稳定;最后讨论各类因子的变化速度与行业、市值结构对使用方式的影响。文中图表可以交互,除两幅示意图外均来自 A 股 2019–2026 年的实际数据,因子只按类别展示。
- 因子数量
- 202 个 · 8 类
- 截面样本
- 92 个月末
- 股票池
- 流动性前 400 只
- 收益数据
- 未使用
因子多,信息少
过去三十年,学术界与业界报告过的股票收益“因子”已有数百个(Harvey、Liu 与 Zhu,2016)。数量一多,一个问题就变得绕不开:这些因子里到底有多少相互独立的信息?两个名字不同、公式不同的因子,可能只是同一件事的两种写法;把它们一起放进模型,得到的不是更多的信息,而是更强的共线性与更不稳定的估计。
我们自建的因子库共有 202 个因子,全部由日行情与上市公司三张财务报表按统一口径计算。本文不讨论每个因子的具体定义,只按类别展示;我们关心的是这个因子库作为一个整体的结构:因子之间有多相似,可以归并成多少个独立的方向,这些方向是否随时间保持稳定,不同类别的因子又各有什么行为特征。
所有分析都刻意没有使用任何收益数据。结构分析回答的是“往哪里找”,如果它同时看了未来收益,挑选就混进了检验,后续任何显著性都要打折扣(参见多重检验)。因此下文的每一个数字都只来自因子本身在截面上的分布,不构成任何预测力的证据。
样本为 2019 年 1 月至 2026 年 8 月的 92 个月末截面。每个月末取当时流动性居前的 400 只可交易股票(上市满半年、非风险警示、未停牌);第五节给出全市场样本的对照,结论基本一致。
八类因子与计算示例
因子库按刻画的对象分为三族八类。量价类由日行情计算,包括规模、流动性、动量、反转与风险五类;基本面类由财务报表计算,包括质量与成长两类;估值类把两者结合起来,衡量价格相对基本面的高低。
因子库的构成
量价117
日行情 · 每日更新
- 规模3公司大小:市值及其非线性项
- 流动性44交易活跃度:换手、成交额、价格冲击,以及价格与成交量的协同
- 动量20中长期趋势:区间收益、相对指数的超额、均线类指标
- 反转25短期价格行为:数日内的涨跌、跳空、日内位置与超跌
- 风险25波动与市场暴露:波动率、贝塔、特质波动、价格区间
基本面74
财务报表 · 随公告更新
- 质量59经营质量:盈利能力、营运效率、偿债与杠杆、盈余的现金含量
- 成长15增长:收入、利润、现金流的同比与环比,以及增速的变化
估值11
市值与报表 · 每日更新
- 价值11估值:盈利、账面、销售、现金流、股息相对市值
各类的数量差别很大:质量类有 59 个,规模类只有 3 个。这反映的是定义方式的多样,而不是信息的多少。盈利能力可以用净资产、总资产或收入作分母,可以取单季、最近四个季度或年报口径,每一种组合都是一个“新”因子;它们之间的相似程度,要到第四节才能看清。
几个计算示例
下面是各类中最常见的教科书式定义,用来说明每类因子在计算什么。记 为复权价格, 为日收益, 与 为成交量与成交额, 为流通股本, 为总市值。
规模与流动性。规模取总市值的对数;换手率衡量交易的活跃程度;Amihud 非流动性衡量单位成交额引起的价格变动,数值越大,交易对价格的冲击越大:
动量与反转。中期动量通常跳过最近一个月,取过去一年的累计收益;短期反转取最近几日收益的相反数。收盘价在当日高低区间中的位置,是另一类常见的短期价格行为指标:
其中 、、 为当日最高价、最低价与收盘价。
风险。最常用的是日收益的年化波动率,以及对市场指数的滚动回归斜率,即贝塔:
质量、成长与估值。以最近四个季度(TTM)的归母净利润 、营业收入 与归母净资产 为例:
这些公式只是起点。实际的因子在窗口长度、口径、缺失值处理与组合方式上各有取舍,其中不少细节会影响结果,但不影响本文关心的整体结构。
基本面数据的时点
基本面因子最容易出错的地方不在公式,而在时间。3 月 31 日结束的一季度,报表要到 4 月下旬才会公布;按报告期把财务数据对齐到行情上,等于提前一个月知道了业绩。
我们按公告日重建每只股票在每一天“当时已知”的财务状态:一份报表只从其公告日之后的第一个交易日起可用,因为 A 股公告多在收盘后发布,公告当天无法据此交易;一份报表若事后被更正,原始版本一直用到更正公告之后,更正不会被提前写进历史。最近四个季度、同比与环比等口径,也都只用当时已经公开的版本计算。
一份报表的两个版本,各自从哪天起可用
标准化:把因子放在同一把尺子上
不同因子的量纲相差悬殊:市值以亿元计,换手率以百分比计,收益率在正负之间。多数因子的截面分布还是偏斜的,少数极端值足以左右均值、方差与相关系数。在比较之前,我们在每个截面上把每个因子转换为排名正态分:
其中 为第 日的截面名次, 为当日有值的股票数, 为标准正态分布的分位数函数。转换只保留排序:无论原始分布多偏、极端值多远,转换后都是近似的标准正态。
同一个截面的三种刻度
刻度
- 偏度
- 5.66
- 峰度
- 42.95
- 最大值距中位数
- 9.5 σ
- 股票数
- 400
排名正态分有一个方便的性质:它对任何单调变换都不变。市值与对数市值、换手率与换手率的倒数,得到的是同一组分数,最多相差一个符号。因子的方向本身是人为约定的(反转因子取负号,规模因子也常取负号),所以在衡量“是否重复”时,下文只看相关系数的绝对值。
相关与聚类:两百个名字,多少份信息
在每个月末截面上计算因子两两之间的相关系数,再对 92 个截面取平均:
先在截面上计算、再对时间平均,可以避免市场整体涨跌带来的共同波动污染因子之间的关系。缺失值按成对剔除。
202 个因子的平均截面相关 |ρ|
视图
边缘色条:亮 = 量价,中 = 基本面,暗 = 估值
- 同类因子平均 |ρ|
- 0.25
- 不同类因子平均 |ρ|
- 0.10
- |ρ| ≥ 0.7 的因子对
- 421
- 因子对总数
- 20,301
两万多个因子对的平均 只有 0.13,中位数 0.06;但同类因子之间平均为 0.25,是不同类之间(0.10)的两倍半, 的高度重复对共有 421 个。类别之间也并非互不相干:规模与流动性(0.36)、规模与风险(0.34)明显纠缠,大市值的股票往往换手更低、波动更小;反转类是最独立的一类,与其他各类的平均相关都在 0.1 以下。
层次聚类
相关矩阵给出的是两两关系。为了回答“一共有几团”,我们以 为距离做平均连接的层次聚类:每一步合并距离最近的两簇,两簇之间的距离取所有跨簇因子对的平均:
在距离 处切断合并过程,得到的每一簇内部,因子之间的平均 不低于 。
按 |ρ| 门槛合并之后还剩多少簇
图中只画出含两个及以上因子的簇;另有 68 个因子与任何其他因子都达不到这一门槛,各自成簇。
- 簇数
- 103
- 最大的簇
- 17 个因子
- 单因子簇
- 68
- 平均每簇
- 2.0 个因子
在常用的 0.7 门槛下,202 个因子分成 103 簇。最大的一簇有 17 个因子,由 3 个规模因子与 14 个换手率的水平与波动因子组成,本质上都在度量交易的活跃程度;其后依次是盈利水平(10 个质量因子)、价格波动与区间(10 个风险因子)、换手相对常态的偏离(8 个流动性因子)、偿债与杠杆(6 个质量因子)几簇。另有 68 个因子与任何其他因子都达不到这一门槛,各自成簇。把门槛放宽到 0.5,仍剩 69 簇。
更值得注意的是,没有一簇跨越量价、基本面与估值三族:同一族内部的定义变体高度重复,不同族之间则各说各话。
主成分分析:约二十个独立方向
聚类需要人为选择门槛,主成分分析则给出一个不依赖门槛的回答。对平均相关矩阵 做特征分解(覆盖率不足六成的两个因子不参与,余 200 个):
第 个主成分解释的方差占比为 。若所有因子互不相关,每个主成分都只解释 ;若所有因子完全相同,第一个主成分解释全部。真实的因子库落在两者之间,参与率把它压缩成一个数:
若有 个相等的特征值、其余为零,。因此参与率可以读作“等价的等权独立方向数”。
主成分的解释方差
累计解释比例
上图点线:若 200 个因子互不相关,每个主成分都只解释 1/200(0.5%)。前 40 个成分累计只解释 80%。
- 参与率 PR
- 19.6
- 解释 80% 所需
- 41 个
- 解释 90% 所需
- 67 个
- 第一主成分
- 16.4%
202 个因子的参与率为 19.6,约相当于二十个等权的独立因子。第一主成分解释 16.4%,前三个合计 33%,前十个合计 55%;要解释八成方差需要 41 个主成分,九成需要 67 个。谱的前端有几个明显的大方向,后面则是一条缓慢下降的长尾。
换成更宽的样本,结论基本不变。以全市场流动性筛选后的股票为样本(每个截面的中位数约 2,700 只),参与率为 22.4,第一主成分解释 14.0%,前四个主成分与 400 只样本的一致度都在 0.96 以上。股票池更宽,独立的方向略多一些,但主干相同。
前十个主成分是什么
主成分本身没有名字。把每个主成分的载荷平方按类别汇总,再看载荷最大的因子各在计算什么,可以给出一个近似的解读。
前十个主成分由哪些类别构成
| 主成分 | 解读 | 规模 | 流动性 | 动量 | 反转 | 风险 | 质量 | 成长 | 价值 |
|---|---|---|---|---|---|---|---|---|---|
| PC116.4% | 交易活跃度:各个窗口的换手水平与换手波动 | 43 | 24 | 16 | 8 | ||||
| PC29.6% | 盈利能力与长期表现:高盈利的公司股价更高、长期更强 | 15 | 14 | 53 | 8 | ||||
| PC36.6% | 换手异常:近期换手相对一两年常态的偏离 | 61 | 12 | 13 | |||||
| PC44.8% | 短期价格行为:一周内的涨跌、跳空与日内位置 | 13 | 19 | 51 | 12 | ||||
| PC54.4% | 盈利改善与流动性充裕:两者方向相反 | 6 | 14 | 53 | 11 | 6 | |||
| PC63.4% | 中短期趋势:均线类指标、成交额与区间突破 | 18 | 19 | 21 | 12 | 20 | |||
| PC72.9% | 资产效率:资产与权益的周转 | 10 | 8 | 12 | 55 | 5 | 6 | ||
| PC82.4% | 市场贝塔:各个窗口对指数的敏感度 | 12 | 21 | 5 | 46 | 12 | |||
| PC92.3% | 量价协同与短期反转 | 22 | 13 | 22 | 8 | 21 | 6 | 5 | |
| PC101.8% | 杠杆与利润率:两者方向相反 | 8 | 5 | 65 | 7 | 8 |
格中数字为百分比,低于 5% 的不标注。
第一与第三主成分以流动性类为主(分别占 43% 与 61%):前者是交易活跃度的水平,并带有相当一部分波动率;后者是近期换手相对长期常态的偏离。第二主成分以质量类为主,同时带有价格水平与长期超额收益,说明盈利能力强的公司往往股价更高、长期表现更好。第四主成分是短期价格行为,一半来自反转类,其余主要来自一周收益等短期动量指标。第八主成分是市场贝塔。质量类虽然数量最多,却分散在第二、五、七、十等多个方向上,分别对应盈利水平、盈利变化、资产效率与杠杆。
因子在主成分上的位置
主成分的载荷乘以 ,就是每个因子与该主成分的相关系数:
把每个因子画在两个主成分构成的平面上,同一方向上的因子携带相近的信息,离原点越远,关系越紧密。
每个因子与两个主成分的相关
坐标轴
类别
- PC1 解释方差
- 16.4%
- PC2 解释方差
- 9.6%
- 全部因子与 PC1 的平均 |相关|
- 0.30
- 与 PC2 的平均 |相关|
- 0.24
在第一、第二主成分的平面上,流动性与风险类因子沿横轴排开,质量类因子沿纵轴排开,反转类因子则聚在原点附近:它们与前两个大方向几乎无关,直到第四主成分才显现出来。这也提醒我们,如果只保留前两三个主成分,短期价格行为这样独立但方差占比不大的方向会被整个丢掉。
稳定性:结构会不会随市场变化
如果主成分只是某一段行情的产物,它就不适合作为研究的先验。我们把样本分成 2019–2022 与 2023–2026 两段,分别做特征分解,再用 Tucker 一致度比较两段的主成分方向:
对每个前一段的主成分,取它与后一段前十五个主成分中最相近者的一致度。一般认为一致度不低于 0.95 即为同一方向,0.85 到 0.95 之间为相近(Lorenzo-Seva 与 ten Berge,2006)。
主成分在不同时期是否还是同一个方向
比较方式
- 同一方向(≥ 0.95)
- 3 个
- 相近(0.85–0.95)
- 0 个
- 与相邻成分换位
- 4 个
- 比较区间
- 2019–22 / 2023–26
前三个主成分(交易活跃度、盈利能力、换手异常)在两段样本中的一致度为 0.98、0.96 与 0.98,逐年单独分解时,第一主成分每一年都不低于 0.95。排在后面的方向则会变化:第四与第五主成分在两段中互换了位置,说明短期价格行为与盈利改善的相对强弱随时期交替;市场贝塔所在的第八主成分一致度只有 0.53,是最不稳定的方向:哪些股票对指数更敏感,本身就随市场阶段改变。
有效维度随时间的变化
上面的主成分分析使用的是 92 个月的平均矩阵。在每个月末的截面上单独计算参与率,可以看到结构在时间上的起伏。
每个月末截面的有效维度
第一主成分(交易活跃度)的占比
- 单月中位数
- 15.8
- 最低(2024-10)
- 13.3
- 最高(2021-12)
- 17.7
- 平均矩阵的参与率
- 19.6
单月的参与率在 13.3 到 17.7 之间,中位数 15.8,低于平均矩阵的 19.6:不同时期占主导的方向不尽相同,平均之后被摊平,谱也就显得更平。更有意义的是起伏的时点。参与率最低的月份集中在 2024 年初、2024 年 10 月至 2025 年 4 月之间以及 2026 年年中,都是市场剧烈波动或急速轮动的时期;这些月份里第一主成分的占比升到 21% 到 22%,交易活跃度压倒了其他方向。分散化在最需要的时候,恰恰变少了。
各类因子的行为
结构之外,各类因子还有几个直接影响使用方式的特征。我们在每个月末取同一批股票,计算因子排名与其后第 个交易日排名的相关,作为变化速度的度量:
同时计算每个因子对申万一级行业哑变量的截面 ,以及它与对数市值的相关。
因子排名的变化速度
横轴:同一批股票在月末与其后第 1、5、20 个交易日的因子排名相关(各类取中位数)。行业 R²:因子对申万一级行业哑变量的截面 R²。
- 反转 · 20 日后(四分位)
- 0.00–0.02
- 1 日后(中位数)
- 0.08
- 行业 R²(中位数)
- 0.21
- 与市值的 |相关|(中位数)
- 0.13
变化速度的差别是数量级的。规模、估值与质量类的排名在 20 个交易日后仍有约 0.98 的相关,一个月内几乎不变;风险类为 0.94,流动性与成长类为 0.82,动量类为 0.76;反转类在 20 日后的相关为零,第二天就只剩 0.08。按一个因子调仓所需的换手,大致与它的变化速度成正比,而换手决定了交易成本(参见换手与成本拖累)。变化最快的因子,往往也是最难在扣除成本后保留下来的因子。
行业与市值的影响同样不均匀。风险与估值类对行业的 最高(中位数 0.37 与 0.34),高波动、低估值的股票集中在少数行业;成长类最低(0.14)。风险、估值与流动性类与市值的相关也最明显。直接比较这些因子,比较的有一部分是行业与规模;在进一步使用之前,需要先对行业与市值做中性化。
对研究的含义
结构分析本身不产生收益,但它决定了后续研究应该怎样组织:
- **不要把全部因子直接放进模型。**约二十个有效方向、上百个高度重复的簇,意味着大量的共线性。一个更稳妥的做法是每簇取一个代表,或者直接在主成分、聚类的基础上构造少数几个综合信号。
- **先中性化,再比较。**风险、估值与流动性类带有明显的行业与市值结构;不做中性化,任何两个因子的“相关”或“有效”都混着风格暴露。
- **变化速度决定成本。**短期价格行为类的信息是真实独立的,但排名每天重排;它们更适合换手预算充裕、执行成本低的框架,在持有期数周的组合里很难兑现。
- **结构是先验,不是结论。**结构分析回答“往哪里找”,预测检验回答“值多少”。一个方向是否有预测力、扣除成本后是否仍然存在,需要在严格的样本外框架中单独检验。
- **把挑选与检验分开。**本文的一切都没有使用收益数据,正是为了让后续的检验保持干净。
| 分析 | 回答的问题 | 本文的结果 |
|---|---|---|
| 排名正态分 | 如何在不同量纲之间比较 | 逐日截面排名后取正态分位数,只保留排序 |
| 平均截面相关 | 因子两两之间有多相似 | 平均 0.13;同类 0.25,不同类 0.10 |
| 层次聚类 | 一共有几团 | 时 103 簇,最大一簇为交易活跃度 |
| 主成分与参与率 | 有多少独立方向 | 参与率 19.6,约二十个;八成方差需 41 个主成分 |
| Tucker 一致度 | 结构是否随时间稳定 | 前三个主成分两段一致度 ≥ 0.96,贝塔方向最不稳定 |
| 单月参与率 | 维度在什么时候收缩 | 13.3 至 17.7;剧烈波动的月份维度下降 |
| 排名持续性 | 因子变化有多快 | 规模、估值、质量几乎不变;反转类一天内重排 |
参考文献
- Harvey, C. R., Liu, Y., & Zhu, H. (2016). …and the Cross-Section of Expected Returns. The Review of Financial Studies, 29(1), 5–68.
- Green, J., Hand, J. R. M., & Zhang, X. F. (2017). The Characteristics That Provide Independent Information about Average U.S. Monthly Stock Returns. The Review of Financial Studies, 30(12), 4389–4436.
- Feng, G., Giglio, S., & Xiu, D. (2020). Taming the Factor Zoo: A Test of New Factors. The Journal of Finance, 75(3), 1327–1370.
- Kelly, B. T., Pruitt, S., & Su, Y. (2019). Characteristics Are Covariances: A Unified Model of Risk and Return. Journal of Financial Economics, 134(3), 501–524.
- Amihud, Y. (2002). Illiquidity and Stock Returns: Cross-Section and Time-Series Effects. Journal of Financial Markets, 5(1), 31–56.
- Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. The Journal of Finance, 48(1), 65–91.
- Liu, J., Stambaugh, R. F., & Yuan, Y. (2019). Size and Value in China. Journal of Financial Economics, 134(1), 48–69.
- Jolliffe, I. T. (2002). Principal Component Analysis (2nd ed.). Springer.
- Lorenzo-Seva, U., & ten Berge, J. M. F. (2006). Tucker's Congruence Coefficient as a Meaningful Index of Factor Similarity. Methodology, 2(2), 57–64.