程式

使用線性模型庫在 Python 中進行 Fama-MacBeth 回歸

  • May 26, 2022

我對 Python 中的 Fama-MacBeth 回歸有疑問。有一個名為的庫linearmodels,其中包含FamaMacBeth類下的此過程。然而,當我在尋找一些例子時,我從一本流行的書中找到了這個 Notebook 。

所以我想知道為什麼當在同一個庫中有一個名為(文件可用hereLinearFactorModel )的單獨類時,作者使用該類來估計 Fama-MacBeth 回歸?我可能會遺漏其中的估計程序的一些細微差別。FamaMacBeth

這不完全是一個答案,但我希望討論一些事情。

LinearFactorModel絕對不是 Fama-Macbeth 回歸。第一階段看起來一樣,但第二階段只進行一次回歸,內生變數是超額收益的平均值,而在 Fama-Macbeth 回歸中,應該有 T 個回歸,每個時間段一個,最終估計量應該是 T 組估計量的平均值。

另一方面,FamaMacBeth似乎沒有 2 階段 Fama-Macbeth 回歸的第一階段,它應該是 N 個回歸,每個資產一個。我想如果因子是返回值,您可以手動執行第一階段,但 p 值將不正確。

由於 linearmodels 包的作者 Kevin Sheppard 似乎沒有完全掌握這個概念,情況變得更加複雜。在他的範例:Fama-Macbeth Regression中,您可以在程式碼塊 3 中清楚地看到,他通過取超額收益的平均值來執行“LinearFactorModel”類型的回歸。我相信他確實是計量經濟學方面的專家,但他在這裡可能有點困惑。線性模型的文件也有點缺乏。

我也一直在尋找一個完善的用於 2 階段 Fama-Macbeth 回歸的 python 包(因為我發現很難推導出估計量的分佈以及信賴區間),但到目前為止還沒有令人滿意的結果。

@Jerry,考慮到凱文範例中的 beta 值是恆定的而不是隨時間變化的,他的方法是正確的。當 beta 估計值不隨時間變化時,無論您在回歸之前還是之後計算時間序列平均值,橫截面回歸和 Fama-MacBeth 回歸都會產生相同的結果。然而,原始論文 (FM, 1973) 使用滾動視窗來估計 beta,然後使用 T 方程來估計風險溢價。我認為他的包的輕微缺點是沒有參數來調整 beta 估計視窗,因此它的第二階段與通常的橫截面回歸沒有什麼不同。

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