蟒蛇

計算 Beta 係數的高效算法

  • May 29, 2018

我正在使用 Python/Pandas。使用樸素的嵌套 for 循環在約 5k 天(移動視窗約 250 天)內對所有約 5k 個股票進行 Beta 計算,速度慢得令人難以忍受。有沒有什麼快速優雅的方式來實現這個目標?

提前致謝!

編輯:只需在所有中間步驟中使用 Numpy 而不是 Pandas,整個過程將加快 10 倍以上。

我不知道您的嵌套循環有多幼稚,但我假設您正在使用 OLS 計算 $ \beta = (X’X)^{-1}X’Y $ , 在哪裡 $ X $ 包含指數回報和 $ Y $ 包含證券回報。

如果您有所有證券的所有時間段的數據,那麼 $ (X’X)^{-1} $ 不會因每種證券而改變。最好的解決方案是使用 numpy 直接為所有證券計算矩陣乘法。或者,您可以計算 $ (X’X)^{-1} $ 在進入循環之前,然後計算 $ \beta $ 為每個人的安全。

如果您沒有所有時間段的數據,那麼會有加速,但它會變得更加複雜。

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