Fama MacBeth两步法与多因子模型的回归检验

作者: pdnbplus | 发布时间: 2024/12/28 | 阅读量: 166

Fama MacBeth两步法与多因子模型的回归检验 -- 潘登同学的因子投资笔记

本文观点来自最近学习的石川老师《因子投资:方法与实践》一书

多因子回归检验

使用排序法,人们可以很容易地针对股票风格因子构建因子投资组合并计算其收益率。然而,多因子模型中最核心的问题是检验一系列因子解释异象的能力。,其中涉及的不同方法包括时序回归检验、截面回归检验以及Fama and MacBeth(1973)回归检验。

$$ E[R_i^e]=\alpha_i+\beta_i^{\prime}\lambda \qquad (1) $$

多因子模型研究的核心问题是资产预期收益率在截面上——即不同的资产之间——为什么会有差异。根据上式,如果一个资产在因子上的暴露$\beta_i$高,则它的预期收益$E[R_i^e]$也应该更高。从截面角度来研究多因子模型,在检验模型时,不关心资产的收益率$R_i^e$在时间序列上是如何随着每期因子收益率来波动的,只关心$E[R_i^e]$在截面上和对应的$\beta_i$之间的关系,因为上式是关于均值的模型。

  • 多因子模型中所包含的因子代表了收益率的一种结构。一旦结构给定后,个股或者任何一个投资组合的预期收益率就完全由它在这些因子上的暴露决定了——暴露高,预期收益率就高;预期收益率是因子暴露的线性函数。

在多因子模型被提出之前,人们最熟悉的因子模型无疑是CAPM。它因为只有一个市场因子,所以是多因子模型的一个特例。人们最早的猜测是市场因子的收益率和个股在该因子上的β就可以解释截面上不同股票收益率之间的区别。但大量的实证结果显示如果把个股的$E[R_i^e]$和它们针对市场因子的$\beta_i$画出来,二者之间的关系并不能很好地满足该模型,说明仅仅用单一市场因子无法很好地解释$E[R_i^e]$在截面上的差别。

  • 为了反映这一现象,Black et al.(1972)在CAPM的基础上又加入了一个zero-beta因子,该两因子模型能够更好地解释$E[R_i^e]$在截面上的差别。
  • 再后来,Fama and French(1993)提出了大名鼎鼎的三因子模型,它在市场因子的基础上加入价值(HML)和规模(SMB)两个因子。这些努力都是为了能够更好地解释人们在股票收益率数据中观察到的$E[R_i^e]$在截面上的差别。

那么,拿来一个多因子模型,如何定量地评估它是否是一个好的模型呢?

  • 对于截面关系式$E[R_i^e]=\alpha_i+\beta_i^{\prime}\lambda$下文将采用回归分析(regression analysis)来确定$\hat{\alpha_i}、\hat{\beta_i}、\hat{\lambda}、\sigma(\hat{\alpha_i})、\sigma(\hat{\beta_i})、\sigma(\hat{\lambda})$;
  • ${\alpha_i}$代表了资产i的定价误差。如果能够在统计上证明所有${\alpha_i}$都很接近零,则可以说该多因子模型就是很好的模型,即它能够解释资产预期收益率的截面差异。由此可见,多因子模型的回归检验中最重要的就是检验所有${\alpha_i}$联合起来是否在统计上足够接近零。
  • 除此之外,使用$\hat{\lambda}$的估计值和标准误,同样可以检验每个因子的预期收益率

根据上述说明,多因子模型的回归检验可以简单总结为以下三步:

  1. 计算每个资产在所有因子上的暴露$\beta_i$;
  2. 通过回归分析对多因子模型进行估计;
  3. 联合检验资产定价误差${\alpha_i}$以及每个因子的预期收益率$\lambda_k$

时序回归检验

时间序列回归(time-series regression)简单直接,Black et al.(1972)最早使用它来检验CAPM。这种方法在回归时使用因子收益率作为自变量,以资产的超额收益率作为因变量。此方法更适合分析由风格因子构成的多因子模型,对于其他类别的因子,比如GDP等宏观经济因子,由于难以应用排序法构建它的因子模拟投资组合以及计算收益率,所以这种方法就无法使用,举例来说,Fama and French(1993)中的价值(HML)和规模(SMB)因子均是风格因子。该文使用独立双重排序构建了这两个因子的投资组合,并计算了它们的收益率时间序列,使用它们就可以方便地进行时间序列回归检验。

令$\lambda_t$表示t期因子收益率向量,$R_{it}^e$为资产i在t期的超额收益率,这二者在时序上满足如下线性关系

$$ R_{it}^e=\alpha_i+\boldsymbol{\beta}_i^{\prime}\boldsymbol{\lambda}_t+\varepsilon_{it}\quad t=1,2,\cdots,T \qquad (2) $$

对每个资产$i=1,2,\cdots,N$,使用简单最小二乘对模型进行参数估计。一旦有了$\hat{\alpha_i}$和$\hat{\beta_i}$,将$R_{it}^e$和$\lambda$在时序上取均值就可以得到 $$ E_T[R_i^e]=\hat{\alpha}_i+\hat{\beta}_i^{^{\prime}}E_T[{\boldsymbol{\lambda}_{t}}]\quad i=1,2,\cdots,N $$ 式中,$E_T[\cdot]=\frac{1}{T}\sum(\cdot)$表示对样本数据在时序上取均值;时间序列回归中的截距$\hat{\alpha}_i$正是资产i的定价误差的估计。

有了时序回归模型,下一步就是计算各种参数的标准误,并进行检验。当随机扰动$\epsilon_{it}$不存在自相关(autocorrelation)或异方差(heteroskedasticity)时,时序回归参数的标准误可以由OLS的标准公式给出。进一步的,假设$\epsilon_{it}$满足IID正态分布,Michael Gibbons、Stephen Ross以及Jay Shanken在Gibbons et al.(1989)一文中给出了检验$\alpha_i$是否联合为零的方法。即便到了今天,该方法仍然是学术界检验和比较因子模型时的首选方法,由于影响深远,所以该方法也由三位教授姓氏的首字母命名为GRS检验。

在GRS检验中,原假设所有$\alpha_i$均为零。定义向量$\hat{\alpha}=[\hat{\alpha}_1,\hat{\alpha}_2,\cdots,\hat{\alpha}_N]$,以及$\hat{\epsilon}_t = [\hat{\epsilon}_{1t},\hat{\epsilon}_{2t},\cdots,\hat{\epsilon}_{Nt}]$。GRS检验构建了如下满足自由度为T-N-K和N的F分布的检验统计量(称为GRS test statistic):

$$ \begin{aligned} & \frac{T-N-K}{N}\left(1+E[\boldsymbol{\lambda}_{t}]^{\prime}\hat{\boldsymbol{\Sigma}}_{\lambda}^{-1}E[\boldsymbol{\lambda}_{t}]\right)^{-1}\hat{\boldsymbol{\alpha}}^{\prime}\hat{\boldsymbol{\Sigma}}^{-1}\hat{\boldsymbol{\alpha}}\sim F_{N,T-N-K} \ \text{其中} & \hat{\boldsymbol{\Sigma}}_{\lambda}=\frac{1}{T}\sum_{t=1}^{T}[\boldsymbol{\lambda}_{t}-E[\boldsymbol{\lambda}_{t}]][\boldsymbol{\lambda}_{t}-E[\boldsymbol{\lambda}_{t}]]^{\prime} \ & \hat{\boldsymbol{\Sigma}}=\frac{1}{T}\sum_{t=1}^{T}\hat{\boldsymbol{\varepsilon}}_{t}\hat{\boldsymbol{\varepsilon}}_{t}^{\prime} \end{aligned} $$

有了检验统计量,只需要利用F分布计算出它的p-值就可以判断是接受还是拒绝原假设。需要说明的是,一旦$\epsilon_{it}$之间存在相关性或者异方差,传统OLS的标准误公式就是错误的,且上述检验统计量也是有问题的。在这种情况下,可以采用更强大的计量经济学工具——比如广义矩估计来进行检验。尽管如此,GRS检验仍然是非常普及的一种方法。

除了检验$\alpha_i$是否联合为零外,另一个目标是考察每个因子的预期收益率。由于时序回归假设因子收益率的时间序列已知,因此只需对每个因子的收益率进行t-检验即可。

最后对时间序列回归检验简要总结

  1. 因子收益率时序需已知。使用因子收益率作为解释变量,分别对每个资产进行时序回归,得到该资产在这些因子上的暴露的估计$\hat{\beta}_i$。时序回归中的$\hat{\alpha}_i$就是截面关系上资产的定价误差。
  2. 将时序回归结果在时间上取均值,就得到资产预期收益率和因子暴露在截面上的关系。由于时序回归是对每个资产单独进行的,因此该关系的确定不以最小化所有$\hat{\alpha}_i$的平方和为目标
  3. 若$\epsilon_{it}$满足IID正态分布,则可以通过GRS方法构建F-统计量来检验$\hat{\alpha}_i$联合是否在统计上为零,否则可以通过广义矩估计等更高级的方法;对于因子预期收益率,可使用t-检验来分析。

截面回归检验

时间序列回归虽然很方便,但它以因子收益率时序已知为前提。这意味着它更适合处理股票的风格因子,而对诸如GDP、CPI以及利率这样的宏观经济因子无能为力。这时可以选择截面回归(cross-sectional regression)来检验多因子模型,它能够方便地处理因子收益率时序未知的情况。

截面回归检验的最终目的自然还是考察$E[R_i^e]$和$\beta_i$在截面上的关系,但此方法的第一步仍然是利用时序回归确定资产的因子暴露。假设t期一组因子的取值为$f_t=[f_{1t},f_{2t},\cdots,f_{Kt}]$。首先通过如下时序线性回归模型确定因子暴露: $$ R_{it}^e=a_i+\boldsymbol{\beta}_i^{\prime}\boldsymbol{f}_t+\varepsilon_{it}\quad t=1,2,\cdots,T,\forall i \qquad (3) $$ 需要说明的是,在上式中,使用了$a_i$作为截距项,而非$\alpha_i$。这是因为如果上式中的解释变量不是因子收益率,则它的截距项就不是定价误差。采用OLS对上式进行估计,在得到资产的因子暴露$\hat{\beta}_i$及残差$\hat{\varepsilon}_{it}$之后,进入本方法的第二步:截面回归。在这一步中,使用第一步得到的因子暴露的估计$\hat{\beta}_i$作为解释变量,以资产收益$R_{it}^e$在全部T期上的时序平均$E_T[R_{it}^e]$作为被解释变量,满足如下模型 $$ E_T[R_{it}^e]=\hat{\boldsymbol{\beta}}_i^{^{\prime}}\boldsymbol{\lambda}+\alpha_i\quad i=1,2,\cdots,N \qquad (4) $$

使用OLS求解上式就可以得到因子预期收益率的估计$\hat{\lambda}$以及每个资产的定价误差的估计$\hat{\alpha_i}$(注意这是误差,不是截距项)。这背后的原因是多因子模型假定当不存在模型设定偏误时,资产的预期收益率应该仅由因子暴露和因子预期收益率决定。当然,公式是“死的”,应用是“活的”,Cochrane(2005)指出在进行模型截面回归时,也可以考虑包含截距项。加入截距项后,模型变为: $$ E_T[R_i^e]=\gamma+\hat{\boldsymbol{\beta}}_i^{^{\prime}}\boldsymbol{\lambda}+\alpha_i\quad i=1,2,\cdots,N $$

为了更方便地给出数学公式,定义全部N个资产在这K个因子上的因子暴露矩阵$\hat{\beta}=[\hat{\beta}_{1},\hat{\beta}_{2},\cdots,\hat{\beta}_{N}]$,它是N×K矩阵;定义N维向量$\hat{\alpha}=[\hat{\alpha}_1,\hat{\alpha}_2,\cdots,\hat{\alpha}_N]$和N维向量$E_T[R^e]=[E_T[R_{1}^e],E_T[R_{2}^e],\cdots,E_T[R_{N}^e]]$,利用上述数学符号,截面回归模型(4)的OLS估计量为: $$ \begin{aligned} & \hat{\boldsymbol{\lambda}}=\left(\hat{\boldsymbol{\beta}}^{^{\prime}}\hat{\boldsymbol{\beta}}\right)^{-1}\hat{\boldsymbol{\beta}}^{^{\prime}}E_{T}[\boldsymbol{R}^{e}] \ & \hat{\boldsymbol{\alpha}}=E_{T}[\boldsymbol{R}^{e}]-\hat{\beta}\hat{\boldsymbol{\lambda}} \end{aligned} $$

为了联合检验所有定价误以及每个因子的预期收益率,仅知道$\hat{\alpha}$和$\hat{\lambda}$是不够的,还需要求出它们各自的标准误。计算标准误时会遇到一些问题,要考虑Shanken修正或进行GLS估计。然后对个因子,利用其预期收益率$\hat{\lambda}_i$和其标准误,计算出相应的t-统计量(自由度T-1)即可进行检验。对$\hat{\alpha}$构建如下自由度为N-K的$\chi^2$分布的检验统计量检验全部N个定价误差是否联合为零:(具体详见因子投资2.2.2节)

$$ \begin{aligned} & \mathrm{OLS}:\hat{\boldsymbol{\alpha}}^{\prime}\mathrm{cov}(\hat{\boldsymbol{\alpha}})^{-1}\hat{\boldsymbol{\alpha}}\sim\chi_{N-K}^{2} \ & \mathrm{GLS}:\hat{\boldsymbol{\alpha}}_{\mathrm{GLS}}^{\prime}\mathrm{cov}(\hat{\boldsymbol{\alpha}}_{\mathrm{GLS}})^{-1}\hat{\boldsymbol{\alpha}}_{\mathrm{GLS}}\sim\chi_{N-K}^{2} \end{aligned} $$

接下来简要总结一下

  1. 截面回归不要求因子的收益率时间序列已知,因此应用更加广泛。截面回归的第一步是通过时间序列回归得到每个资产i在因子上的暴露$\beta_i$,第二步才是进行截面回归。因此这种方法又被称作两步回归估计
  2. 在得到$\hat{\beta}_i$后,使用资产的时序平均收益率$E_T[R_i^e]$和$\hat{\beta}_i$进行截面OLS或GLS回归,估计出因子的期望收益率$\hat{\lambda}$和资产的定价误差$\alpha$。
  3. 由于$\hat{\beta}_i$是估计值,因此在计算$\hat{\lambda}$和$\hat{\alpha}$的标准误时可以进行Shanken修正。有了估计值和标准误,构建相应的$\chi^2$-统计量和t-统计量来进行检验。

Fama–MacBeth回归

1973年,Eugene Fama和James MacBeth在Fama and MacBeth(1973)一文中提出了一个两步回归方法(被称为Fama–MacBeth回归),该文的目的是检验CAPM。该方法非常巧妙地排除了随机扰动在截面上的相关性对标准误的影响,在业界被广泛使用。这篇文章也是计量经济学领域被引用最频繁的文章之一。

与截面回归类似,Fama–MacBeth回归的第一步也是通过N个时间序列回归得到每个资产i在全部因子上的暴露$\hat{\beta}_i$,这和截面回归的第一步相同。Fama–MacBeth回归和截面回归检验最大的差异体现在第二步截面回归上。

  • Fama–MacBeth回归在每个时间点t,以t期的收益率$R_{it}^e$为因变量,以$\hat{\beta}_i$为自变量进行截面回归,因而一共进行了T次截面回归。

在t期,资产超额收益和因子收益率在截面上的线性回归模型为: $$ R_{it}^e=\hat{\beta}_i^{\prime}\lambda_t+\alpha_{it}\quad i=1,2,\cdots,N \qquad (5) $$ 对比(4)和(5),可以发现两者的区别在于:

  • 在截面回归检验中,首先在时序上对$R_{it}^e$取均值,得到资产i的平均收益率$E_T[R_i^e]$,再用$E_T[R_i^e]$和$\hat{\beta}_i$进行截面OLS或GLS回归,因此只做了一次截面回归。
  • 反观Fama–MacBeth回归,它在每个t对模型(5)进行一次OLS估计(如果有T=100期数据,就意味着进行100次截面回归),得到因子收益率和残差的估计$\hat{\lambda_t}$和$\hat{\alpha_{it}}$。
  • 接下来,Fama–MacBeth把T次截面回归得到的T个估计再取平均,最终得到因子预期收益率和每个资产i定价误差的估计:

$$ \hat{\boldsymbol{\lambda}}=\frac{1}{T}\sum_{t=1}^{T}\hat{\boldsymbol{\lambda}}_{t}\ \hat{\alpha}_{i}=\frac{1}{T}\sum_{t=1}^{T}\hat{\alpha}_{it} $$

Fama–MacBeth回归的巧妙之处在于它把T期的回归结果当作T个独立的样本。传统的截面回归检验只进行一次回归,得到因子收益率和定价误差的一个样本估计。而在Fama–MacBeth截面回归得到了每个因子收益率的时间序列${\hat{\boldsymbol{\lambda}}_{kt}}$ 以及每个资产定价误差的时间序列${\hat{\alpha}_{it}}$ ,因此可以方便地求出每个因子预期收益率$\hat{\boldsymbol{\lambda}}_{k}$的标准误和每个资产定价误差$\hat{\alpha}_{i}$的标准误:

$$ \sigma(\hat{\lambda}_{k})=\left[\frac{1}{T^{2}}\sum_{t=1}^{T}\left(\hat{\lambda}_{kt}-\hat{\lambda}_{k}\right)^{2}\right]^{1/2}\ \sigma(\hat{\alpha}_{i})=\left[\frac{1}{T^{2}}\sum_{t=1}^{T}\left(\hat{\alpha}_{it}-\hat{\alpha}_{i}\right)^{2}\right]^{1/2} $$

简单来说,Fama–MacBeth截面回归是“先估计、再均值”,而传统截面回归是“先均值,再估计”,因此,Fama–MacBeth回归可以被理解为一种特殊的截面回归。Fama–MacBeth回归的优势是可以排除$\alpha_{it}$的相关性对标准误的影响。有必要指出的是,当截面回归中的解释变量$\hat{\beta}_i$在全部T期上不变时,以上两种方法得到的估计是相同的,但Fama–MacBeth在应对$\alpha_{it}$的截面相关性上仍然有优势。

在实际应用中,由于Fama–MacBeth方法具有灵活性,不必限制全部T期截面回归中因子暴露$\beta_i$保持不变。事实上,在Fama and MacBeth(1973)中,两位作者在时序回归估计$\beta_i$时便采用了滚动窗口,因此因子暴露向量在不同的时刻t会发生变化。具体来说,对于t期,使用截至t-1期的一段给定窗口的历史数据进行时序回归估计因子暴露$\beta_{i,t-1}$由于它是使用截至t-1期的数据估计的,因此因子暴露向量的时间下标是t-1。使用估计值$\hat{\beta}_{i,t-1}$作为t期截面回归的解释变量,得到如下的截面回归模型:

$$ R_{it}^e=\hat{\boldsymbol{\beta}^{\prime}}_{it-1}\boldsymbol{\lambda}_t+\alpha_{it}\quad i=1,2,\cdots,N \qquad (6) $$

在每个时刻t对模型(6)进行OLS估计就是时变因子暴露的Fama–MacBeth回归。比起全局都用同样的因子暴露,这种方法在实际的研究和投资实践中的应用更加广泛。

下面来说一说Fama–MacBeth回归的不足。

  • 首先,它对于$\alpha_{it}$在时序上的相关性无能为力
  • 其次,由于截面回归中用到的$\hat{\beta}_i$并不是真实的,而是通过时间序列得到的估计值,因此存在误差。Fama–MacBeth回归对此也无能为力,仍然需要Shanken修正。

话虽如此,Fama–MacBeth回归通过在截面回归时“先回归,再均值”的思路巧妙地排除了$\alpha_{it}$截面相关性的影响,得到了学术界的广泛认可,影响深远。时至今日,在计量经济学做面板分析的文章中,仍有约1/3的文章采用FamaMacBeth回归(Petersen 2009),且几乎在每篇研究资产定价的论文中都可以见到它的身影。Fama–MacBeth回归的要点总结如下。

  1. Fama–MacBeth回归是一种截面回归。和普通截面回归一样,它的第一步也是通过时间序列回归得到资产在因子上的暴露$\hat{\beta}_i$
  2. 在得到$\hat{\beta}_i$后,在每个t(共T期)使用OLS对资产超额收益率$R_{it}^e$和$\hat{\beta}_i$的截面线性回归模型进行估计,得到t期因子的收益率的估计$\hat{\lambda_t}$和残差的估计$\hat{\alpha_{it}}$。在通过T次截面回归,得到T个估计后,将它们在时序上取均值得到因子预期收益率$\hat{\lambda}$和残差均值$\hat{\alpha}_{i}$。此外,利用${\hat{\boldsymbol{\lambda}}_{kt}}$和${\hat{\alpha}_{it}}$序列可以计算出标准误,以检验资产定价误差和因子预期收益率。
  3. Fama–MacBeth回归排除了$\alpha_{it}$的截面相关性对标准误的影响,但是对时序相关性无能为力。

和其他回归模型一样,Fama–MacBeth截面回归的主要目的是检验多因子模型解释资产超额收益的能力,即$\alpha_i$联合起来在统计上是否为零。但在学术界的实证资产定价研究中,学者们更多的时候是用它来检验因子预期收益率$\lambda_k$。由于可以方便地得到因子收益率序列从而求出其均值和标准误,因此它可以轻松地胜任这个任务。在使用Fama–MacBeth回归检验因子预期收益率时,学术界通常采用带截距项的模型(在6式基础上增加一个截距项)

不同回归方法比较

首先,所有模型都是“不完美”的。这句话的意思是,当把足够多的资产放在回归模型的左侧时,任何一个多因子模型都会被拒绝(即若资产定价误差联合起来为零,则被拒绝)。人们研究多因子模型的动机不应追求它们在统计上多么“完美”,而应该关注每个因子背后到底有多少逻辑。在实证资产定价的研究中,往往不会使用个股作为资产去检验模型(否则模型一定会被拒绝),而是依据一些规则把股票“打包”构成投资组合,然后使用这些投资组合作为资产去检验多因子模型。这是学术界最常见的做法。

其次,在检验多因子模型时,不同的方法在很大程度上可以说都是“殊途同归”,它们之间的差异也许都没有它们名字的差异大;在特定的假设下,不同的方法往往是等价的。比如,当因子暴露$\hat{\beta}_i$在时序上不变时,那么传统截面回归和Fama–MacBeth截面回归的结果是一致的。在应用中,可以通过比较不同检验方法的结果来加深对多因子模型的认知,这才是学习不同方法最大的价值。