小编JL1*_*118的帖子

pandas 数据框中按组滚动回归

我有一个 pandas 数据框,其中包含 1963 年至 2012 年各个公司的每日股票收益(近 6000 万行)。我想要估计 CAPM 贝塔值,因此我需要在过去 250 天内对每家公司运行滚动 OLS 回归,并将贝塔值添加到现有数据帧中。

我已经尝试将 pyfinance 包中的 PandasRollingOLS 函数与“groupby”结合起来,但它只返回内存错误。我还尝试编写两个 for 循环,第一个按公司分组(“PERMNO”),第二个 for 循环执行滚动回归。然而,这也行不通

我的数据框如下所示:

           PERMNO       RET       mkt       RF
date                                          
1986-01-08  10000 -0.024640 -0.020994  0.00025
1986-01-09  10000 -0.000250 -0.011469  0.00025
1986-01-10  10000 -0.000250 -0.000167  0.00025
1986-01-13  10000  0.049750  0.002499  0.00025
1986-01-14  10000  0.047369  0.000116  0.00025
1986-01-15  10000  0.045205  0.007956  0.00025
1986-01-16  10000  0.043228  0.004452  0.00025
1986-01-17  10000 -0.000250 -0.001991  0.00025
1986-01-20  10000 -0.000250 -0.003985  0.00025
1986-01-21  10000 -0.000250 -0.007242  0.00025 …
Run Code Online (Sandbox Code Playgroud)

python pandas

6
推荐指数
1
解决办法
1603
查看次数

标签 统计

pandas ×1

python ×1