4. 截面回归原理

一、核心原理:什么是截面回归

截面回归(Cross-Sectional Regression)是在同一时间点上,用多个资产(股票、债券、基金等)的横截面数据,研究资产收益与其特征(或因子暴露)之间关系的统计方法。它的核心问题是:在同一时刻,为什么不同资产的收益不同?答案往往指向资产在某些共同因子上的暴露差异。

在因子模型中,截面回归通常出现在第二步:先通过时间序列回归估计每只资产对因子的暴露(β),再在某一时点用这些暴露解释当期收益,从而估计因子的风险溢价(因子收益率)。其一般形式为:

R_i = α + β_i1 * λ_1 + β_i2 * λ_2 + ... + β_iK * λ_K + ε_i

其中:
R_i     第 i 只资产在 t 时刻的收益
β_ik    第 i 只资产对第 k 个因子的暴露(来自时间序列回归)
λ_k     第 k 个因子的截面收益率(待估参数)
ε_i     残差项

这里的关键在于:β 是已知的输入,λ 是待估的输出。截面回归把“因子暴露”当作解释变量,把“资产收益”当作被解释变量,从而回答“市场为承担一单位因子风险支付了多少报酬”。

二、与时间序列回归的对比

时间序列回归和截面回归是因子模型估计中互补的两步,但它们的视角、数据结构和经济含义完全不同。下表从多个维度进行对比:

对比维度 时间序列回归 截面回归
数据方向 对每只资产,沿时间维度回归 对每个时点,沿资产维度回归
被解释变量 单只资产的收益序列 R_it 多个资产的当期收益 R_i
解释变量 因子收益序列 F_t 因子暴露 β_ik
主要估计量 β_i(因子暴露)、α_i λ_k(因子收益率/风险溢价)
经济含义 资产对因子的敏感度 因子的单位风险价格
典型用途 构造因子暴露、检验定价误差 估计因子溢价、检验因子有效性

简单记忆:时间序列回归回答“资产跟着因子怎么动”,截面回归回答“市场为因子付多少钱”。两者结合,才能完成从因子暴露到因子定价的完整链条。

三、方法流程:从时间序列到截面回归

在经典的 Fama-MacBeth 两步法中,截面回归是第二步。完整流程如下:

  1. 第一步:时间序列回归。对每只资产 i,用其收益序列对因子收益序列做回归,得到因子暴露 β_i 和残差。
  2. 第二步:截面回归。在每个时点 t,用所有资产的当期收益对第一步得到的 β_i 做回归,得到该时点的因子收益率 λ_t。
  3. 第三步:汇总与检验。对 λ_t 序列求均值、标准差和 t 统计量,判断因子溢价是否显著。

下面是一个简化的 Python 示例,展示截面回归的核心代码结构:

import numpy as np
import statsmodels.api as sm

# 假设 betas 为 N×K 的因子暴露矩阵
# returns_t 为 N×1 的当期收益向量
X = sm.add_constant(betas)          # 加入截距项
model = sm.OLS(returns_t, X)
result = model.fit()

lambda_t = result.params[1:]        # 因子收益率
alpha_t = result.params[0]          # 截面截距
print("因子收益率:", lambda_t)
print("t值:", result.tvalues[1:])
在实际研究中,截面回归通常会对每个时点重复执行,得到 λ_t 的时间序列,再计算均值和 Newey-West 调整后的 t 值,以处理自相关和异方差问题。

四、在因子模型中的角色与经济学含义

截面回归在因子模型中扮演着“定价检验器”的角色。它的经济学含义可以从三个层面理解:

  • 风险价格:λ_k 表示投资者承担一单位因子 k 的风险所要求的预期收益补偿。如果 λ_k 显著为正,说明该因子被市场定价。
  • 定价误差:截面截距 α 反映模型无法解释的平均收益。若 α 显著不为零,说明存在遗漏因子或模型设定问题。
  • 因子有效性:如果某因子的 λ 长期不显著,说明它可能不是真正的定价因子,而只是统计上的相关性。

从经济学角度看,截面回归把“资产收益差异”分解为“因子暴露差异 × 因子风险价格”。这背后是无套利定价理论:如果两个资产对同一组因子的暴露相同,它们的预期收益应当相同;否则会出现套利机会。截面回归正是对这一命题的实证检验。

核心结论:截面回归估计的是因子收益率 λ,它衡量的是“因子风险的价格”,而不是“因子本身的好坏”。一个因子即使波动很大,如果市场不愿意为它支付溢价,λ 也可能不显著。

五、常见误区与复盘

在实际操作中,截面回归容易出现以下误区:

  • 误区一:把时间序列回归和截面回归混为一谈。两者数据方向不同,估计量不同,不能互相替代。时间序列回归得到 β,截面回归得到 λ。
  • 误区二:忽略 β 的估计误差。第一步估计的 β 带有误差,直接代入第二步会导致“变量误差”问题,使 λ 的估计有偏。常用方法是使用组合作为资产,或采用 Shanken 修正。
  • 误区三:不做稳健标准误。截面回归的残差往往存在异方差和截面相关,普通 OLS 标准误偏小,容易高估显著性。应使用 Newey-West 或聚类稳健标准误。
  • 误区四:样本期选择偏差。不同样本期可能得到不同的 λ,因子溢价可能随时间变化。应报告子样本结果或滚动窗口结果。
复盘建议:每次做完截面回归,先检查 λ 的经济含义是否合理,再检查统计显著性;不要只看 t 值,还要看因子暴露的分布是否极端、是否存在异常值主导结果。

总结来说,截面回归是连接“因子暴露”与“因子定价”的桥梁。理解它的定义、与时间序列回归的区别、在因子模型中的角色以及常见陷阱,是掌握因子收益率估计的关键一步。