3. 单变量衍生方法(上):基础数学变换、截面标准化与市值中性化
在因子研究中,原始变量(如市盈率、换手率、营收增长率)往往包含噪声、量纲差异、时间趋势和截面偏差。直接使用原始变量构建因子,会导致IC分析结果不稳定、多因子组合失效。本章系统讲解单变量衍生方法的第一部分:基础数学变换、截面标准化与市值中性化,为后续多变量合成与因子评价打下基础。
3.1 基础数学变换:对数、差分与标准化
基础数学变换是单变量衍生的第一道工序,主要解决三个问题:分布偏态、非平稳性和量纲不统一。下表总结了三种最常用的变换及其适用场景:
| 变换类型 | 数学形式 | 主要目的 | 典型应用变量 |
|---|---|---|---|
| 对数变换 | ln(x + c) |
压缩右偏分布,降低极端值影响 | 市值、成交量、波动率 |
| 差分变换 | xt - xt-1 |
消除时间趋势,获取增量信息 | 价格、营收、净利润 |
| Z-score标准化 | (x - μ) / σ |
统一量纲,使变量均值为0、标准差为1 | 所有需跨变量比较的场景 |
3.1.1 对数变换
金融变量(如市值、成交额)通常呈对数正态分布,直接使用原始值会导致少数大市值股票主导因子值。对数变换将乘法关系转化为加法关系,使分布更接近正态。实际操作中,若变量存在零或负值,需先加一个常数c(通常取变量最小值的绝对值加1)。
3.1.2 差分变换
差分变换适用于价格、营收等具有明显时间趋势的变量。一阶差分等价于计算“变化量”,二阶差分等价于“加速度”。在因子研究中,月度收益率本身就是价格的一阶差分(对数收益率)。差分后的变量通常更平稳,IC的时序自相关更低。
3.1.3 Z-score标准化
Z-score标准化是截面标准化的基础形式。对每个时间截面t,计算变量x的截面均值μt和标准差σt,然后标准化:
zi,t = (xi,t - μt) / σt
标准化后的变量在截面内均值为0、标准差为1,便于跨变量比较和后续合成。但Z-score对极端值敏感,通常需要先做MAD(中位数绝对偏差)截尾处理。
3.2 截面标准化:从Z-score到Rank标准化
截面标准化是单变量衍生中最核心的步骤,它确保每个时间截面上因子值的分布具有可比性。除了Z-score,还有两种更稳健的方法:
| 方法 | 计算方式 | 优点 | 缺点 |
|---|---|---|---|
| Z-score标准化 | (x - μ) / σ | 保留原始距离信息 | 对极端值敏感 |
| MAD截尾+Z-score | 先截尾(±5MAD),再Z-score | 抑制极端值影响 | 丢失部分信息 |
| Rank标准化 | 将值映射为[0,1]分位数 | 完全消除极端值,分布均匀 | 丢失幅度信息 |
下面通过一个SVG流程图展示截面标准化的完整处理流程:
3.3 市值中性化:剥离规模效应
市值是A股市场最强大的风格因子,几乎所有基本面和技术面变量都与市值存在相关性。如果不做市值中性化,因子IC可能只是市值效应的“影子”。市值中性化的核心思想是:在截面回归中剔除市值的影响,保留变量的“纯”信息。
3.3.1 两步法实现市值中性化
- 截面回归: 在每个时间截面t,以标准化后的变量yt为因变量,以市值(或对数市值)为自变量,进行OLS回归:
yt = αt + βt · ln(MVt) + εt - 提取残差: 回归残差εt即为市值中性化后的因子值,它表示“剔除市值影响后的变量信息”。
3.3.2 市值中性化的效果验证
通过对比中性化前后的IC序列,可以直观评估效果。下表展示了一个实际案例(A股2015-2020年,换手率因子):
| 指标 | 中性化前 | 中性化后 | 变化 |
|---|---|---|---|
| IC均值 | -0.035 | -0.028 | 绝对值下降20% |
| IC标准差 | 0.11 | 0.09 | 降低18% |
| IC_IR | -0.32 | -0.31 | 基本持平 |
| 与市值因子相关性 | 0.45 | 0.02 | 大幅降低 |
可见,市值中性化后,换手率因子与市值因子的相关性从0.45降至0.02,IC_IR基本不变,说明因子信息更加“纯净”。
3.4 综合流程:从原始变量到衍生因子
将上述三个步骤串联起来,形成单变量衍生的标准流水线。下面的SVG图展示了完整的处理架构:
3.5 实践中的常见陷阱与避坑指南
- 陷阱1:先中性化再标准化。 正确顺序是先标准化(或Rank标准化),再市值中性化。因为回归需要变量具有可比性,标准化后的变量回归系数更稳定。
- 陷阱2:对数变换后忘记处理负值。 若变量存在负值(如净利润增长率),直接取对数会得到NaN。建议先加一个足够大的常数,或使用符号函数处理:
sign(x) * ln(|x| + 1)。 - 陷阱3:市值中性化时遗漏行业虚拟变量。 在某些场景下,市值与行业高度相关(如银行股市值普遍较大),建议在回归中加入行业虚拟变量,实现“市值+行业”双重中性化。
- 陷阱4:Rank标准化后直接做回归。 Rank标准化后的变量服从均匀分布,直接做OLS回归可能违反正态性假设。此时可使用非参数方法,或对Rank值再做一次正态得分变换。