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} λ^的估计值和标准误,同样可以检验每个因子的预期收益率
根据上述说明,多因子模型的回归检验可以简单总结为以下三步:
- 计算每个资产在所有因子上的暴露 β i \beta_i βi;
- 通过回归分析对多因子模型进行估计;
- 联合检验资产定价误差 α 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+β^i′ET[λ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} 其中NT−N−K(1+E[λt]′Σ^λ−1E[λt])−1α^′Σ^−1α^∼FN,T−N−KΣ^λ=T1t=1∑T[λt−E[λt]][λt−E[λt]]′Σ^=T1t=1∑Tε^tε^t′
有了检验统计量,只需要利用F分布计算出它的p-值就可以判断是接受还是拒绝原假设。需要说明的是,一旦 ϵ i t \epsilon_{it} ϵit之间存在相关性或者异方差,传统OLS的标准误公式就是错误的,且上述检验统计量也是有问题的。在这种情况下,可以采用更强大的计量经济学工具——比如广义矩估计来进行检验。尽管如此,GRS检验仍然是非常普及的一种方法。
除了检验 α i \alpha_i αi是否联合为零外,另一个目标是考察每个因子的预期收益率。由于时序回归假设因子收益率的时间序列已知,因此只需对每个因子的收益率进行t-检验即可。
最后对时间序列回归检验简要总结
- 因子收益率时序需已知。使用因子收益率作为解释变量,分别对每个资产进行时序回归,得到该资产在这些因子上的暴露的估计 β ^ i \hat{\beta}_i β^i。时序回归中的 α ^ i \hat{\alpha}_i α^i就是截面关系上资产的定价误差。
- 将时序回归结果在时间上取均值,就得到资产预期收益率和因子暴露在截面上的关系。由于时序回归是对每个资产单独进行的,因此该关系的确定不以最小化所有 α ^ i \hat{\alpha}_i α^i的平方和为目标
- 若 ϵ 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+βi′ft+ε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α^∼χN−K2GLS:α^GLS′cov(α^GLS)−1α^GLS∼χN−K2
接下来简要总结一下
- 截面回归不要求因子的收益率时间序列已知,因此应用更加广泛。截面回归的第一步是通过时间序列回归得到每个资产i在因子上的暴露 β i \beta_i βi,第二步才是进行截面回归。因此这种方法又被称作两步回归估计
- 在得到 β ^ 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 α。
- 由于 β ^ 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=1∑Tλ^tα^i=T1t=1∑Tα^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=1∑T(λ^kt−λ^k)2]1/2σ(α^i)=[T21t=1∑T(α^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,t−1由于它是使用截至t-1期的数据估计的,因此因子暴露向量的时间下标是t-1。使用估计值 β ^ i , t − 1 \hat{\beta}_{i,t-1} β^i,t−1作为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=β′^it−1λ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回归的要点总结如下。
- Fama–MacBeth回归是一种截面回归。和普通截面回归一样,它的第一步也是通过时间序列回归得到资产在因子上的暴露 β ^ i \hat{\beta}_i β^i
- 在得到 β ^ 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}序列可以计算出标准误,以检验资产定价误差和因子预期收益率。
- 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–…...

IDEA 搭建 SpringBoot 项目之配置 Maven
目录 1?配置 Maven 1.1?打开 settings.xml 文件1.2?配置本地仓库路径1.3?配置中央仓库路径1.4?配置 JDK 版本1.5?重新下载项目依赖 2?配置 idea 2.1?在启动页打开设置2.2?配置 Java Compiler2.3?配置 File Encodings2.4?配置 Maven2.5?配置 Auto Import2.6?配置 C…...

node.js之---事件循环机制
事件循环机制 Node.js 事件循环机制(Event Loop)是其核心特性之一,它使得 Node.js 能够高效地处理大量并发的 I/O 操作。Node.js 基于 非阻塞 I/O,使用事件驱动的模型来实现异步编程。事件循环是 Node.js 实现异步编程的基础&…...

Python OpenAI 库开发指南:从入门到实战精通
在人工智能(AI)领域,OpenAI无疑是全球最受瞩目的机构之一。它推出的GPT系列模型、DALLE等创新技术,正在深刻改变各行各业。作为Python开发者,我们该如何快速上手并高效利用OpenAI的API,成为了提升个人竞争力…...

flash-attention保姆级安装教程
FlashAttention安装教程 FlashAttention 是一种高效且内存优化的注意力机制实现,旨在提升大规模深度学习模型的训练和推理效率。 高效计算:通过优化 IO 操作,减少内存访问开销,提升计算效率。 内存优化:降低内存占用…...

送给一年编程道路的自己
回望过去一年在编程道路上的成长与收获,是一个很有意义的过程。总结自己这一年的编程经历,不仅可以帮助你更清晰地了解自己的进步和不足,还能为未来的发展指引方向。以下是一些可能的收获,供你参考: 1. 技能提升 语言…...

LeRobot(1)
Train python lerobot/scripts/train.py \ policyact \ envaloha \ env.taskAlohaInsertion-v0 \ dataset_repo_idlerobot/aloha_sim_insertion_human \ load_data一直报错,忘记截图了,反正是ssh报错,下不下来,网…...

C++ 设计模式:组合模式(Composite Pattern)
链接:C 设计模式 链接:C 设计模式 - 迭代器模式 链接:C 设计模式 - 职责链模式 组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式…...

OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示
本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙OpenHarmony3.2-5.0系统,适合鸿蒙开发入门学习。 编译源码…...

强化学习(1)
Reinforcement Learning Goal-directed learing from ineraction with the environment. 1. Basic Element 基本元素 1.1 Agent 玩家 1.2 Environment 1.3 Goal 2. Main Element 主要元素 2.1 State 2.2 Action 状态与行为往复 2.3 Reward 目标:最大化总…...

【漏洞复现】金和OA C6 FileDownLoad.aspx 任意文件读取漏洞复现
免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作…...

开源模型应用落地-qwen2-7b-instruct-LoRA微调-Axolotl-单机多卡-RTX 4090双卡(七)
一、前言 本篇文章将使用Axolotl去高效微调QWen2系列模型,通过阅读本文,您将能够更好地掌握这些关键技术,理解其中的关键技术要点,并应用于自己的项目中。 二、术语介绍 2.1. LoRA微调 LoRA (Low-Rank Adaptation) 用于微调大型语言模型 (LLM)。 是一种有效的自适应策略,…...

Dockerfile 构建继承父镜像的 ENTRYPOINT 和 CMD
在 Docker 中,Dockerfile 是否继承其父映像的 ENTRYPOINT 和 CMD,取决于 Dockerfile 的编写方式。以下是规则: 1. CMD 的继承 子镜像会继承父映像的 CMD,但如果在子镜像的 Dockerfile 中显式定义了新的 CMD,就会覆盖…...

46. Three.js案例-创建颜色不断变化的立方体模型
46. Three.js案例-创建颜色不断变化的立方体模型 实现效果 知识点 Three.js基础组件 WebGLRenderer THREE.WebGLRenderer是Three.js提供的用于渲染场景的WebGL渲染器。它支持抗锯齿处理,可以设置渲染器的大小和背景颜色。 构造器 antialias: 是否开启抗锯齿&am…...

Linux系统离线部署MySQL详细教程(带每步骤图文教程)
1、登录官网下载对应的安装包 MySQL :: Developer Zone 2、将压缩包上传到服务器上,这里直接上传到/usr/local路径上 使用sftp工具上传到/usr/local目录上 3、解压压缩包 tar -xf mysql-8.0.39-linux-glibc2.17-x86_64.tar.xz 4、将mysql-8.0.39-linux-glibc2.17…...

【数据仓库】hive on Tez配置
hive on Tez 搭建 前提是hive4.0hadoop3.2.2数仓已搭建完成,现在只是更换其执行引擎 为Tez。搭建可参考【数据仓库】hive hadoop数仓搭建实践文章。 Tez 下载 下载地址 https://archive.apache.org/dist/tez/ 官网地址 https://tez.apache.org/releases/apac…...

Kubernetes Gateway API-3-TLS配置
1 简介 Gateway API 允许使用多种方式配置 TLS。本文档列出了各种TLS设置,并给出了如何有效使用它们的一般指南。 尽管本文档涵盖了 Gateway API 最常见的TLS配置形式,但某些实现也可能提供特定于实现的扩展,允许不同或更高级形式的TLS配置。除此文档外,值得阅读你所使用…...

C++ 设计模式:原型模式(Prototype Pattern)
链接:C 设计模式 链接:C 设计模式 - 工厂方法 链接:C 设计模式 - 抽象工厂 链接:C 设计模式 - 建造者模式 原型模式(Prototype Pattern)是一种创建型设计模式,它允许一个对象通过复制现有对象来…...

计算机网络 (12)物理层下面的传输媒体
前言 计算机网络物理层下面的传输媒体是计算机网络设备之间的物理通路,也称为传输介质或传输媒介,并不包含在计算机网络体系结构中,而是处于物理层之下。 一、传输媒体的分类 导向型媒体:电磁波被导引沿着固体媒体传播。常见的导向…...

SpringCloud 系列教程:微服务的未来(三)IService接口的业务实现
本文将介绍 IService 接口的基本业务操作、复杂业务操作、Lambda 方法的使用以及批量增加操作,帮助开发者深入了解如何高效地利用 MyBatis-Plus 提供的功能进行数据库操作。无论是简单的单表查询,还是复杂的多表联动,甚至是大数据量的批量操作…...

测试带宽上行方法
测试宽带上行速度的软件有多种,以下是一些常见的选择: Speedtest 平台支持:iOS、Android、Windows、MacOS等 特点:全球知名的网络测速软件,测试结果准确,支持多平台。用户可以选择最近的服务器进行测试&am…...

天天跳绳(???)
广东省人民政府门户网站 https://www.gd.gov.cn/zwgk/zdlyxxgkzl/whjg/content/post... 二沙岛变身智能“运动岛” - 广东省人民政府门户网站 2020年10月20日 广州二沙岛,犹如一颗璀璨明珠点缀在珠江之心,自然风光旖旎,功能分区清 … 公共…...

module ‘django.db.models‘ has no attribute ‘FieldDoesNotExist‘
module ‘django.db.models’ has no attribute ‘FieldDoesNotExist’ xadmin报错 原因 django与xadmin版本不匹配。 django==3.2.7 xadmin-django==3.0.2解决方案 在xadmin/view/edit.py的388行改为 from django.core import exceptions if self.request_method ==...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之10 方案再探之1:特定于领域的模板 之1 随想交流
前面的项目再次不能继续。不得已再一次重新建了这个项目,并以当前修改版本的项目文件为附件开始了今天的沟通。所以 标明是“方案再探” 在新建这个项目的同时,就将项目文件作为附件添加进去,然后开始。 文件链接:智能工厂的设计…...

Excel将混乱的多行做成1列
前提:需要excel有textjoin函数,这个函数,根据百度说是在2016之后的版本才说,功能比较强大。 目标是将数据按从左到右,再从上到下排成一列。 公式法 首先用textjoin函数将文本包起来,做成一个超长文本。 然…...

Django项目部署到服务器
文章目录 django项目部署到服务器在服务器上安装Django和依赖:项目代码上传配置数据库收集静态文件配置Web服务器配置Gunicorn(WSGI服务器)启动/停止/重载systemd服务。 django项目部署到服务器 在服务器上安装Django和依赖: su…...

SpringBoot集成Flowable
一、工作流介绍 1、概念 通过计算机对业务流程的自动化管理。工作流是建立在业务流程的基础上,一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。 解决的是:在多个参与者之间按照某种预定义的规则自动进行传递…...

大模型从零开始——预训练之分词 Tokenization
文章目录 一、概念介绍 二、单词级别分词 三、字符级别分词 四、子词级别分词 BPE/BBPE分词 BPE:Byte-Pair Encoding (BPE) BBPE:Byte-level BPE (BBPE) WordPiece分词 Unigram分词 五、总结 词元化(Tokenization)是数据预处…...

Python下载包缓慢时怎么修改镜像源
前言 在使用Python下载第三方包时,有时会比较缓慢,与Linux环境中下载软件一样可以替换软件源一样,Python下载源也可以进行修改,因为总是记不住镜像地址,特此记录一下。 常用镜像 豆瓣镜像: https://pypi.…...

每日一练 | 时延和抖动
01 真题题目 关于时延和抖动,下面描述正确的是(多选): A. 端到端时延等于处理时延与队列时延之和 B. 抖动是因为每个包的端到端时延不相等造成的 C. 抖动的大小跟时延的大小相关,时延小则抖动的范围也小,时…...