微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Pandas 股票 Beta 计算

如何解决Python Pandas 股票 Beta 计算

我正在尝试使用每日数据的 1 年滚动窗口为许多股票的 4 因子模型计算因子 beta,在每个月末更新 beta 并在下个月使用相同的值.

我曾尝试使用滚动 OLS 程序,但我获得了每只股票的每日贝塔系数。 我的目标是仅在月底对 Beta 进行估计,然后假设 Beta 直到下个月底才会发生变化。

这里是我用来获取每只股票每日更新的 Beta 的代码

非常感谢您的帮助!谢谢:)

def f_macbeth_step1(df):
if df.index.size < 100:
    return None
X = df[['constant','mkt-rf','smb','hml','rmw','cma']] 
Y = df['excess_ret']
model = RollingOLS(Y.astype(float),X.astype(float),window=min(252,df.index.size))
results = model.fit()
return results.params




from statsmodels.regression.rolling import RollingOLS
df_beta_est.loc[:,'constant'] = 1.0
df_beta_est.loc[:,'excess_ret'] = df_beta_est.loc[:,'ret'] - df_beta_est.loc[:,'rf']
res= df_beta_est.groupby(['permno']).apply(f_macbeth_step1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。