多因子模型的回归检验

只用看 Fama-MacBeth 回归 ,其他都是原始人方法。

回顾模型

多因子模型的回归检验中最重要的就是检验所有 αi\alpha_i 联合起来是否在统计上足够接近零。同时还应该检验因子收益率。

时间序列回归

此方法适用于风格因子构成的多因子模型。

Rite=αi+βiTλt+ϵitR_{it}^e = \alpha_i + \boldsymbol\beta_i^T \boldsymbol\lambda_t + \epsilon_{it}

需要预先知道各时期的因子收益率 λt\boldsymbol\lambda_t 作为解释变量,然后分别对每个资产的收益率进行时序回归,得到资产在这些因子上的暴露的估计 βi^\hat{\boldsymbol\beta_i} 和 αi\alpha_i

然后在时间维度上取期望,得到

ET[Rie]=α^i+βi^Tλ^E_T[R_i^e] = \hat\alpha_i + \hat{\boldsymbol\beta_i}^T \hat{\boldsymbol \lambda}

其中 λ^=ET[λt]\hat{\boldsymbol \lambda} = E_T[\boldsymbol\lambda_t]。

接下来就是检验诸 αi\alpha_i 是否在统计上联合为零,有各种方法,不过书上没仔细讲。

至于因子收益率的检验,看预先是怎么得到因子收益率的,如果是排序法,就用排序法的检验方式。

截面回归

假设 tt 期一组因子的取值为 ft=[f1t,⋯ ,fKt]T\boldsymbol f_t = [f_{1t},\cdots ,f_{Kt}]^T,注意是因子的取值而不是因子收益率的取值。

首先通过以下时序线性回归模型确定因子暴露:

Rite=ai+βiTft+ϵitR_{it}^e = a_i + \boldsymbol\beta_i^T \boldsymbol f_t + \epsilon_{it}

原文说到:

如果模型中的解释变量不是因子收益率, 则它的截距项就不是定价误差。

所以采用 aia_i 而不是 αi\alpha_i 。那问题来了:为什么因子值的系数就是暴露呢?暴露不是对因子收益率而言的吗?

回答:这暴露的确定,是相当自由的,见书中 2.3 节开头最后,说到有人直接用公司特征作为因子暴露的估计。

通过上面的回归得到 β^i\boldsymbol{\hat\beta_i} 和 ϵ^it\hat\epsilon_{it} ,然后做线性回归 ET[Rie]∼β^iE_T[R_i^e] \sim \boldsymbol{\hat\beta_i} ,即

ET[Rie]=β^iTλ+αiE_T[R_i^e] = \boldsymbol{\hat\beta_i}^T \boldsymbol\lambda + \alpha_i

用 OLS 得到对因子收益率的估计 λ^\hat{\boldsymbol\lambda} 和对定价误差的估计 α^i\hat\alpha_i ,注意这里 αi\alpha_i 是回归的残差而不是截距项。

当然, 公式是“死的”, 应用是“活的”, Cochrane(2005) 指出在进行截面回归时, 也可以考虑包含截距项。

然后用各种方法检验即可。

最后值得一提的是, 截面回归既可以检验由风格因子构成的模型, 也可以检验同时包括风格和宏观经济等不同类型的因子的模型。

总结就是:

  • 先用时间序列回归估计诸资产对选定因子的暴露(对每个资产都要做这一步)
  • 用上一步得到的暴露,做截面回归,得到因子收益率(所有资产放在一起做一步回归)

时序回归 vs 截面回归

看到这里, 有的读者朋友也许会问一个问题。 对于风格因子, 它们的因子模拟投资组合明明已经有了, 因子收益率时间序列也有了, 只需要通过在时序上取平均就可以得到因子预期收益率, 而截面回归却进行了第二步, 通过OLS或GLS得到因子预期收益率。 这两种方法得到的因子收益率是不同的, 那么它们之间有什么差异? 到底哪个是更准确的呢?

记 NN 为资产个数,KK 为因子个数。

把截面回归

ET[Rie]=β^iTλ+αiE_T[R_i^e] = \boldsymbol{\hat\beta_i}^T \boldsymbol\lambda + \alpha_i

写成矩阵形式:

ET[Re]=Bλ+αE_T[R^e] = B\boldsymbol\lambda + \boldsymbol\alpha

由 OLS 得到

λ^=(BTB)−1BTET[Re]\hat{\boldsymbol\lambda} = (B^TB)^{-1}B^TE_T[R^e]

记 Ω=(BTB)−1BT\Omega = (B^TB)^{-1}B^T,它可以理解为权重矩阵,它给出 KK 种处置 NN 个资产的办法(其第 ii 行与 ET[Re]E_T[R^e] 的内积为 λ^\hat{\boldsymbol\lambda} 的第 ii 个元素)。

注意 ΩB=I\Omega B = I,而 BB 记录了各个资产对各个因子暴露。回想 用投资组合估计因子收益率的方法,它要求这个投资组合不应该有对其他因子的暴露,而 ΩB=I\Omega B = I 这个性质就说明 Ω\Omega 给出了满足条件的可以用来估计 KK 个因子的收益率的投资组合。

Ω\Omega 的第 kk 行给出了一个只在第 kk 个因子上有暴露,且暴露为 1 的投资组合,这种投资组合称为纯因子投资组合。

因此通常认为截面回归得到的因子收益率更加客观。

Fama-MacBeth 回归

该回归第一步与截面回归一样,差别在第二步:

Fama-MacBeth 回归在每个时间点 tt, 以 tt 期的收益率 RiteR_{it}^e 为因变量(注意: 是 tt 期的收益率, 而非全部 TT 期收益率的均值),以 β^i\hat{\beta}_{i} 为自变量进行截面回归, 因而一共进行了 TT 次截面回归。数学模型如下:

Rite=β^iλt+αit,i=1,2,…,NR_{it}^e = \hat{\beta}_{i}\lambda_{t}+\alpha_{it}, \quad i = 1,2,\dots,N

若包含截距项,就是

Rite=γt+β^iλt+αit,i=1,2,…,NR_{it}^e = \gamma_{t}+\hat{\beta}_{i}\lambda_{t}+\alpha_{it},\quad i = 1,2,\dots,N

接下来把 TT 次截面回归得到的 TT 个估计取平均,得到最后的对因子收益率的估计。

这样做的好处就是方便做检验,可以方便地得出每个因子收益率 λ^k\hat{\lambda}_{k} 的标准误和每个资产定价误差 α^i\hat{\alpha}_{i} 的标准误。

有必要指出的是, 当截面回归中的解释变量 β^i\hat{\beta}_{i} 在全部 TT 期上不变时,以上两种方法得到的估计是相同的。

但是上面的截面回归第一步得到的 β^i\hat{\beta}_{i} 就是在全部 TT 期上保持不变的,所以实际运用中,估计 βi\beta_{i} 时常常采用滚动窗口,模型就变成了

Rite=β^i,tλt+αit,i=1,2,…,NR_{it}^e = \hat{\beta}_{i,t}\lambda_{t}+\alpha_{it}, \quad i = 1,2,\dots,N

若包含截距项,就是

Rite=γt+β^i,tλt+αit,i=1,2,…,NR_{it}^e = \gamma_{t}+\hat{\beta}_{i,t}\lambda_{t}+\alpha_{it},\quad i = 1,2,\dots,N

最后说说这个回归的不足:它对 αit\alpha_{it} 在时序上的相关性无能为力。


多因子模型的回归检验
https://wtx17.github.io/2026/07/27/多因子模型的回归检验/
作者
wtx
发布于
2026年7月27日
更新于
2026年11月6日
许可协议