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

两个识别变量的滚动回归或双分组回归

如何解决两个识别变量的滚动回归或双分组回归

我在要对两个变量进行分组的数据框上应用多元回归时遇到问题。我有一个包含不同月度数据的数据集:公司代码、不同的日期和回报。现在我想对每家公司的每一个日期进行回归。我想在这家公司的每个日期应用以下代码,为我的 Pandas 数据框添加一个分数。回归使用前 36 个月的数据来预测过去 12 个月的残差,以及这些回归的参数。在我对这些残差求和并除以标准差并创建总分之后。我想在每个日期应用以下功能,但分别适用于每个公司。

def regress2(df_merge):
x = df_merge[['MktRF','HML','SMB']]
x = sm.add_constant(x)
y = df_merge['RET']
reg = sm.OLS(y.iloc[-36:-1],x.iloc[-36:-1]).fit(cov_type = 'HAC',cov_kwds = {'maxlags': 11})
pred = reg.predict(x.iloc[-12:-1])
residual_returns = df_merge['RET'].iloc[-12:-1].values - pred.values
score = residual_returns.sum() / residual_returns.std()
return score

我想要的是按公司和日期分组,以便每个日期都有一个基于过去 12 个月数据预测的过去 36 个月数据的残差分数。我想在我的数据框中添加这个分数

dataframe pandas

mf = df_merge.groupby(['mdate','ISIN']).apply(regress2)

这不起作用并给出

“零大小数组到没有标识的缩减操作最大值”

我知道它不会将分数添加到数据框中!首先,我想正确执行这些回归,以获得每个日期和公司的好分数。在我想将这些分数添加到数据框之后。

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