Programming

實施 Fama-MacBeth 橫截面回歸

  • June 15, 2020

我已經建立了一個 Fama 和 French 三因素模型(市場超額收益、小減大、高減低)並通過時間序列回歸估計其 beta(R 中的程式碼,但任何其他語言也可以正常工作):

lm(return ~ market_excess_return + small_minus_big + high_minus_low, data = df)

現在我想以 Fama-MacBeth (1973) 的方式進行橫截面回歸。

我不明白如何進行。特別是,我了解先前估計的 beta 成為新的解釋變數。但我不清楚的是:

  • 還有其他解釋變數嗎?
  • 如何正確指定因變數?

網上找了以下,但不知道怎麼用:

twof <- lm(returns ~ betas + factorbetas, data=sstage)

感謝你的幫助。

您首先執行您的 FF 三因素模型。並得到一個估計 $ \alpha $ 和 $ \beta $ 對於每個因素。

然後每個月 $ t $ ,您執行橫截面回歸:

$ r_{i,t} = \lambda_0 + \hat{\beta}_i {\lambda}t + \epsilon{i,t} $

在哪裡: $ \hat{\beta}i \equiv [\beta{i, MktRf}, \beta_{i, SMB}, \beta_{i, HML}]’ $ , 是第一步估計的係數的向量。

你正在尋找的是估計向量 $ \hat{\lambda}t \equiv [\lambda{t, MktRf}, \lambda_{y, SMB}, \lambda_{t, HML}] $ .

所以在第二步之後你將擁有 $ T $ 每個人的估計 $ \lambda $ (風險價格)。

然後你只需要平均這些 $ \lambda $ 的:

$ \hat{\lambda} = \frac{1}{T} \sum^{T}_{t=1} \hat{\lambda}_t $

您可以使用以下作為變異數估計來測試它們的統計顯著性:

$ Est.Asy.Var(\hat{\lambda}) = \frac{1}{T^2} \sum^{T}_{t=1} (\hat{\lambda}_t - \hat{\lambda} )(\hat{\lambda}_t - \hat{\lambda} )’ $

引用自:https://quant.stackexchange.com/questions/54936