当前位置: 首页 > news >正文

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

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

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

文章目录

    • Fama MacBeth两步法与多因子模型的回归检验 -- 潘登同学的因子投资笔记
  • 多因子回归检验
    • 时序回归检验
    • 截面回归检验
    • Fama–MacBeth回归
  • 不同回归方法比较

多因子回归检验

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

E [ R i e ] = α i + β i ′ λ ( 1 ) E[R_i^e]=\alpha_i+\beta_i^{\prime}\lambda \qquad (1) E[Rie]=αi+βiλ(1)

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

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

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

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

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

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

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

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

时序回归检验

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

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

R i t e = α i + β i ′ λ t + ε i t t = 1 , 2 , ⋯ , T ( 2 ) R_{it}^e=\alpha_i+\boldsymbol{\beta}_i^{\prime}\boldsymbol{\lambda}_t+\varepsilon_{it}\quad t=1,2,\cdots,T \qquad (2) Rite=αi+βiλt+εitt=1,2,,T(2)

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

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

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

T − N − K N ( 1 + E [ λ t ] ′ Σ ^ λ − 1 E [ λ t ] ) − 1 α ^ ′ Σ ^ − 1 α ^ ∼ F N , T − N − K 其中 Σ ^ λ = 1 T ∑ t = 1 T [ λ t − E [ λ t ] ] [ λ t − E [ λ t ] ] ′ Σ ^ = 1 T ∑ t = 1 T ε ^ t ε ^ t ′ \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} 其中NTNK(1+E[λt]Σ^λ1E[λt])1α^Σ^1α^FN,TNKΣ^λ=T1t=1T[λtE[λt]][λtE[λt]]Σ^=T1t=1Tε^tε^t

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

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

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

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

截面回归检验

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

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

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

为了更方便地给出数学公式,定义全部N个资产在这K个因子上的因子暴露矩阵 β ^ = [ β ^ 1 , β ^ 2 , ⋯ , β ^ N ] \hat{\beta}=[\hat{\beta}_{1},\hat{\beta}_{2},\cdots,\hat{\beta}_{N}] β^=[β^1,β^2,,β^N],它是N×K矩阵;定义N维向量 α ^ = [ α ^ 1 , α ^ 2 , ⋯ , α ^ N ] \hat{\alpha}=[\hat{\alpha}_1,\hat{\alpha}_2,\cdots,\hat{\alpha}_N] α^=[α^1,α^2,,α^N]和N维向量 E T [ R e ] = [ E T [ R 1 e ] , E T [ R 2 e ] , ⋯ , E T [ R N e ] ] E_T[R^e]=[E_T[R_{1}^e],E_T[R_{2}^e],\cdots,E_T[R_{N}^e]] ET[Re]=[ET[R1e],ET[R2e],,ET[RNe]],利用上述数学符号,截面回归模型(4)的OLS估计量为:
λ ^ = ( β ^ ′ β ^ ) − 1 β ^ ′ E T [ R e ] α ^ = E T [ R e ] − β ^ λ ^ \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} λ^=(β^β^)1β^ET[Re]α^=ET[Re]β^λ^

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

O L S : α ^ ′ c o v ( α ^ ) − 1 α ^ ∼ χ N − K 2 G L S : α ^ G L S ′ c o v ( α ^ G L S ) − 1 α ^ G L S ∼ χ N − K 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} OLS:α^cov(α^)1α^χNK2GLS:α^GLScov(α^GLS)1α^GLSχNK2

接下来简要总结一下

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

Fama–MacBeth回归

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

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

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

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

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

λ ^ = 1 T ∑ t = 1 T λ ^ t α ^ i = 1 T ∑ t = 1 T α ^ i t \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} λ^=T1t=1Tλ^tα^i=T1t=1Tα^it

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

σ ( λ ^ k ) = [ 1 T 2 ∑ t = 1 T ( λ ^ k t − λ ^ k ) 2 ] 1 / 2 σ ( α ^ i ) = [ 1 T 2 ∑ t = 1 T ( α ^ i t − α ^ i ) 2 ] 1 / 2 \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} σ(λ^k)=[T21t=1T(λ^ktλ^k)2]1/2σ(α^i)=[T21t=1T(α^itα^i)2]1/2

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

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

R i t e = β ′ ^ i t − 1 λ t + α i t i = 1 , 2 , ⋯ , N ( 6 ) R_{it}^e=\hat{\boldsymbol{\beta}^{\prime}}_{it-1}\boldsymbol{\lambda}_t+\alpha_{it}\quad i=1,2,\cdots,N \qquad (6) Rite=β^it1λt+αiti=1,2,,N(6)

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

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

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

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

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

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

不同回归方法比较

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

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

相关文章:

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

Fama MacBeth两步法与多因子模型的回归检验 – 潘登同学的因子投资笔记 本文观点来自最近学习的石川老师《因子投资:方法与实践》一书 文章目录 Fama MacBeth两步法与多因子模型的回归检验 -- 潘登同学的因子投资笔记 多因子回归检验时序回归检验截面回归检验Fama–…...

Postman[4] 环境设置

作用:不同的环境可以定义不同的参数,在运行请求时可以根据自己的需求选择需要的环境 1.创建Environment 步骤: Environment-> ->命名->添加环境变量 2.使用Environment 步骤:Collection- >右上角选择需要的环境...

【paddle】初次尝试

张量 张量是 paddlepaddle, torch, tensorflow 等 python 主流机器学习包中唯一通货变量,因此应当了解其基本的功能。 张量 paddle.Tensor 与 numpy.array 的转化 import paddle as paddle import matplotlib.pyplot as plt apaddle.to_t…...

开源架构中的数据库选择优化版

上一篇文章推荐: 开源架构学习指南:文档与资源的智慧锦囊(New) 我管理的社区推荐:【青云交社区】和【架构师社区】 推荐技术圈福利社群:点击快速加入 开源架构中的数据库选择优化版 一、引言二、关系型开源…...

Echarts+vue电商平台数据可视化——webSocket改造项目

websocket的基本使用,用于测试前端能否正常获取到后台数据 后台代码编写: const path require("path"); const fileUtils require("../utils/file_utils"); const WebSocket require("ws"); // 创建WebSocket服务端的…...

【网络安全实验室】SQL注入实战详情

如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…...

【信息系统项目管理师】第14章:项目沟通管理过程详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划沟通管理1、输入2、工具与技术3、输出二、管理沟通1、输入2、工具与技术3、输出三、监督沟通1、输入2、工具与技术3、输出一、规划沟通管理 定义:规划沟通管理是基于每个干系人或干系人群体的信息需求…...

YOLOv5部署到web端(flask+js简单易懂)

文章目录 前言最终实现效果图后端实现 主界面检测函数检测结果显示 前端实现 主界面(index.html)显示图片界面 总结 前言 最近,老板让写一个程序把yolov5检测模型部署到web端,在网页直接进行目标检测。经过1个星期的努力,终于实…...

什么是自治系统和非自治系统

自治系统 自治系统的特征是其状态方程不依赖于时间。举个简单的例子,考虑一阶常微分方程: d x d t − x \frac{dx}{dt} -x dtdx​−x 这是一个经典的指数衰减过程,其中状态 (x) 随时间 (t) 衰减。这个系统是自治的,因为它的演…...

使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色

定义 ::selection 伪元素: 在你的 CSS 文件中,添加 ::selection 伪元素,并设置 background-color 属性来改变选中文本的背景颜色。 示例代码: ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…...

从0入门自主空中机器人-3-【环境与常用软件安装】

关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…...

jmeter分布式启动

https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机:输入“ipconfig”,找到IP地址,在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机:输入“ipconfig”,找到IP地址,在J…...

【Linux】HTTP cookie与session

在登录B站时,有登录和未登录两种状态, 问题:B站是如何认识我这个登录用户的?问题:HTTP是无状态、无连接的,怎么能够记住我? HTTP协议是无状态、无连接的。比如客户端(浏览器&#…...

20. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加接口地址

在同学学习过程,部分同学向我反馈说每次新增接口都要在接口表里手动添加一条接口很麻烦,因此我把项目代码做了一个改动,使我们不需要手动添加,每次项目运行起来后就会自动把新的接口地址添加进去。 一、实现 首先,我…...

[Linux] 服务器CPU信息

(1)查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c输出:可以看到有128个虚拟CPU核心,型号是后面一串 128 Intel(R) Xeon(R) Platinum 8336C CPU 2.30GHz(2&…...

java_使用阿里云oss服务存储图片

什么情况下可以使用阿里云oss服务存储图片? 对图片的访问速度有高要求时使用,方便用户快速的(比如在网页页面中)访问到图像 参考:41 尚上优选项目-平台管理端-商品信息管理模块-阿里云OSS介绍_哔哩哔哩_bilibili 1.…...

Dali 1.1.4 | 解锁版AI图像生成器,无限生成

Dali是一款先进的AI图像生成器应用程序,能够根据您的描述生成不同风格的独特图像。它不仅限于生成艺术作品,还可以创建创新的纹身设计、独一无二的标志以及超写实照片。该软件使用尖端技术,将想象力转化为现实,提供迷人的数字艺术…...

快手视频不让下载怎么保存到相册

快手,作为国内领先的短视频平台之一,吸引了无数用户发布创意视频、分享生活点滴。随着短视频版权保护和用户隐私问题的日益严重,越来越多的视频内容在平台内都采取了“不让下载”的限制。面对这一情况,很多用户都希望能够保存自己…...

Linux环境下CUDA与对应版本CuDNN的安装指南

转载:Linux环境下CUDA与对应版本CuDNN的安装指南-百度开发者中心...

mybatisPlus打印sql配置

MyBatis-Plus 提供了方便的配置方式来打印 SQL 查询语句,以便进行调试和性能分析。可以通过配置 log 来输出 SQL 语句以及执行的参数。 方法 1:通过 application.properties 或 application.yml 配置打印 SQL 可以通过配置 application.properties 或 a…...

InstructGPT:基于人类反馈训练语言模型遵从指令的能力

大家读完觉得有意义记得关注和点赞!!! 大模型进化树,可以看到 InstructGPT 所处的年代和位置。来自 大语言模型(LLM)综述与实用指南(Amazon,2023) 目录 摘要 1 引言 …...

曾仕强解读《易经》

曾仕强对《易经》的解读内容丰富、深入浅出,以下是一些主要方面: 讲解《易经》基本原理 - 阴阳之道:曾仕强将阴阳比作白天与黑夜、男人与女人等,指出阴阳看似对立,实则相辅相成,强调为人处世要把握阴阳…...

http报头解析

http报文 http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST&#…...

什么是Sight Words(信号词)

🧡什么是Sight Words(信号词) 简单来说,Sight Words就是我们在日常英语中常用的一些基本词汇。可以把它想象成是学练英语的“基础词汇”,这些词在各种考试中经常出现,也是在生活中必不可少的。 &#x1f…...

tiny RISCV项目学习

参考视频:第1期 开发环境准备 —— RISC-V囫囵吞枣式学习_哔哩哔哩_bilibili 项目地址:tinyriscv: 一个从零开始写的极简、非常易懂的RISC-V处理器核。...

LeetCode 力扣 热题 100道(二十七)除自身以外数组的乘积(C++)

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂…...

Kotlin在医疗大健康域的应用实例探究与编程剖析(上)

一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业正经历着深刻的变革。随着信息技术的飞速发展,尤其是人工智能、大数据、物联网等新兴技术的广泛应用,医疗行业数字化转型已成为必然趋势。这种转型旨在提升医疗服务的效率和质量,优化医疗资源配置,为患者提供更加…...

【Spring】事务

在软件开发中,事务确保一组操作要么全部成功,要么全部失败,这对于数据库操作尤为重要,因为任何单一操作的失败都可能导致数据不一致。Spring 事务管理通过 Transactional 注解实现,能够轻松地在数据层和业务层维护数据…...

canvas+fabric实现时间刻度尺(二)

前言 我们前面实现了时间刻度尺&#xff0c;鼠标移动显示时间&#xff0c;接下来我们实现鼠标点击某个时间进行弹框。 效果 实现 1.监听鼠标按下事件 2.编写弹框页面 3.时间转换 <template><div><canvas id"rulerCanvas" width"1200"…...

IPv6的过度技术

如何界定手动与自动&#xff1f;  主要是隧道目标地址能否自动获取 &#x1f46f;1. 双栈 必须支持IPv4和IPv6协议  链接双栈网络的接口必须同时配置v4和v6地址  路由器能够根据二层标记识别协议&#xff0c;type&#xff1a;0x0800代表IPV4&#xff0c;type&#xff1a;0x…...

介绍 Apache Spark 的基本概念和在大数据分析中的应用。

Apache Spark是一个开源的大数据处理框架&#xff0c;可用于高速处理和分析大规模数据集。它可以在分布式集群上运行&#xff0c;并且具有内存计算的能力&#xff0c;因此可以比传统的批处理框架更快地处理数据。 在Spark中&#xff0c;数据被表示为弹性分布式数据集&#xff…...

VA01/VA02检查增强

VA01/VA02检查增强 一、增强描述 VA01/VA02创建或修改SO时候&#xff0c;在点击“保存”按钮的节点&#xff0c;客户需求对一些约束条件进行检查&#xff0c;此处以 SO行项目对应的“利润中心”字段必输为例。通过查询更多的增强&#xff1a;SPRO–销售和分销–系统修正–用户…...

基于SpringBoot和Leaflet的全球机场空间分布可视化实战

目录 前言 一、航空机场的空间模型 1、空间表简介 2、数据查询 二、机场WebGIS空间分布可视化 1、后台数据查询 2、Leaflet页面开发 三、WebGIS分析 1、全球航空格局 2、我国机场影像 四、总结 前言 时光轻轻挥别2024&#xff0c;来到了2025年。在崭新的2025年里&am…...

FPGA交通灯实现

1 原理 FPGA(现场可编程门阵列)交通灯实现原理主要是基于硬件描述语言(如VHDL或Verilog)编程,通过FPGA内部的逻辑单元和寄存器来实现交通灯的控制功能。以下是对FPGA交通灯实现原理的详细解释: 一、交通灯的基本功能 交通灯的主要功能包括红灯、黄灯和绿灯的显示,以及…...

厦门大学联合网易提出StoryWeaver,可根据统一模型内给定的角色实现高质量的故事可视化

厦门大学联合网易提出StoryWeaver&#xff0c;可以根据统一模型内给定的角色实现高质量的故事可视化。可根据故事文本生成与之匹配的图像&#xff0c;并且确保每个角色在不同的场景中保持一致。本文的方法主要包括以下几个步骤&#xff1a; 角色图构建&#xff1a;设计一个角色…...

【Rust自学】8.1. Vector

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 8.1.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构&…...

华为OD机试真题---服务器广播

华为OD机试中的“服务器广播”题目是一个经典的算法问题&#xff0c;通常涉及图论和连通分量的概念。以下是对该题目的详细解析&#xff1a; 一、题目描述 服务器之间可以通过网络进行连接&#xff0c;连接方式包括直接相连和间接连接。给出一个NN的数组&#xff08;矩阵&…...

又一年。。。。。。

2024&#xff0c;浑浑噩噩的一年。 除了100以内的加减法&#xff08;数据&#xff0c;数据&#xff0c;还是数据。。。。。。&#xff09;&#xff0c;似乎没做些什么。 脸盲症越来越重的&#xff0c;怕是哪天连自己都不认得自己的了。 看到什么&#xff0c;听到什…...

【JAVA高级篇教学】第六篇:Springboot实现WebSocket

在 Spring Boot 中对接 WebSocket 是一个常见的场景&#xff0c;通常用于实现实时通信。以下是一个完整的 WebSocket 集成步骤&#xff0c;包括服务端和客户端的实现。本期做个简单的测试用例。 目录 一、WebSocket 简介 1. 什么是 WebSocket&#xff1f; 2. WebSocket 的特…...

Kotlin在医疗大健康域的应用实例探究与编程剖析(下)

四、Kotlin医疗编程实例分析 4.1 移动医疗应用实例 4.1.1 患者健康监测应用 在当今数字化医疗时代,患者健康监测应用为人们提供了便捷的健康管理方式。利用Kotlin开发的患者健康监测应用,能够实时采集患者的各类生理数据,如心率、血压、血氧饱和度等,并通过直观的可视化…...

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(3):配置备用数据库

Oracle Dataguard&#xff08;主库为 Oracle 11g 单节点&#xff09;配置详解&#xff08;3&#xff09;&#xff1a;配置备用数据库 目录 Oracle Dataguard&#xff08;主库为 Oracle 11g 单节点&#xff09;配置详解&#xff08;3&#xff09;&#xff1a;配置备用数据库一、…...

LeetCode算法题——移除元素

题目描述 给你一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&#xff1…...

七大设计原则之开闭原则

目录 一、什么是开闭原则&#xff1f; 二、如何做到开闭原则&#xff1f; 1、面向接口或抽象类编程 2、依赖注入 3、单一职责原则 三、是不是为了满足开闭原则就要一味的追求代码的扩展性&#xff1f; 一、什么是开闭原则&#xff1f; 相信很多人都听说过这个原则&#x…...

【stm32+K210项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(完整工程资料源码)

视频效果演示&#xff1a; 基于K210与STM32协同工作的智能垃圾分类系统设计与实现 目录&#xff1a; 目录 视频效果演示&#xff1a; 目录&#xff1a; 项目简介&#xff1a; 一、设计目的&#xff1a; 1.1 项目背景 1.2 设计意义&#xff1a; 二、硬件部分&#xff1a; 2.1 st…...

Ps:创建数据驱动的图像

在设计实践中&#xff0c;常常需要处理大量内容变化但设计格式统一的任务&#xff0c;例如批量生成名片、工作证、学生证、胸牌、奖状或证书甚至图册。这些工作如果逐一手动制作&#xff0c;不仅耗时费力&#xff0c;还容易出错。 为解决这一问题&#xff0c;Photoshop 提供了强…...

git的全通路线介绍

一、关系 1.git是代码版本管理工具&#xff0c;即可将项目切换到任意版本。 2.github与gitee是基于git技术构建的远程仓库网站。github是国外建立的&#xff0c;资源更丰富&#xff1b;gitee是国内建立的&#xff0c;免费功能更多。 3.gitlab与github类似&#xff0c;只不过…...

R1-3学习打卡

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 RNN心脏病识别 导入数据数据预处理标准化模型训练模型评估个人总结 import tensorflow as tfgpus tf.config.list_physical_devices("GPU")…...

Vue.js组件开发-实现无感刷新Token

在Vue.js应用中&#xff0c;实现无感刷新Token涉及到在用户的会话Token即将过期或已经过期时自动获取新的Token&#xff0c;而不影响用户的操作体验。需要通过拦截器&#xff08;interceptors&#xff09;来处理API请求&#xff0c;并在检测到Token过期或无效时自动进行刷新。 …...

可编辑31页PPT | 大数据湖仓一体解决方案

荐言分享&#xff1a;在当今数字化时代&#xff0c;大数据已成为企业决策和业务优化的关键驱动力。然而&#xff0c;传统的数据处理架构&#xff0c;如数据仓库和数据湖&#xff0c;各自存在局限性&#xff0c;难以满足企业对数据高效存储、灵活处理及实时分析的综合需求。因此…...

如何实现一个充满科技感的官网(二)

背景 在上一篇文章 《如何实现一个充满科技感的官网&#xff08;一&#xff09;》 中&#xff0c;我们初步了解了该官网的整体设计&#xff0c;并与大家探讨了它的视觉呈现和用户体验。 我们前期的内部设计偏向简洁&#xff0c;所以开始思考如何提升网站的整体设计感。这些尝…...