【发布时间】:2018-01-31 06:16:46
【问题描述】:
我有一些股票的每日回报数据,如下所示:
Stock A Stock B Stock C Market
date
1987-02-02 0.01 0.02 0.02 0.01
1987-02-03 0.02 0.03 0.02 0.02
1987-02-04 0.03 0.01 0.01 0.03
1987-02-05 0.04 0.03 0.05 0.04
我想计算股票 A、B、C 在市场上的 30 天回归,但只在每个月底,即 1987-02-28、1987-03-31... 然后保存回归产生两个矩阵(一个用于常数项,一个用于系数):
Stock A Stock B Stock C
date
1987-02-28 const const const
1987-03-31 const const const
1987-04-30 const const const
Stock A Stock B Stock C
date
1987-02-28 coeff coeff coeff
1987-03-31 coeff coeff coeff
1987-04-30 coeff coeff coeff
到目前为止,我所做的是为“月末”创建一个指标,然后遍历日期的所有行和列:
loop over columns:
loop over rows:
if end of month is true:
regress Stock on Market using past 30 days data
save the result
鉴于我有很多股票(7000+)超过 50 年,这种方式非常缓慢。我想知道是否有人以前曾解决过类似的问题并且有更快的实现方式?任何有关如何提高速度或效率的提示将不胜感激。
【问题讨论】:
标签: python pandas regression finance