我有一个可供使用的大型市场数据表,它看起来像这样:
stock date return
1 "2000-01-01" 0.01
1 "2000-01-02" 0.02
1 "2000-01-03" 0.03
...
2 "2000-01-01" 0.04
2 "2000-01-02" 0.05
...
我试图添加一个列,该列是当天和之前返回的标准偏差。因此,对于每个股票,第一个日期不会有SD值,它只是" NA"。但是接下来的日期将过滤具有相同库存号并且日期小于该行日期的所有行的数据框,然后采用所有回报的标准差。
有一种简单的方法吗?或者是否存在可提供解决方法的库?
目前,我正在使用遍历每一行的for循环。但是,我的数据框非常大(1500万行),因此如果必须为每一行执行此操作,则过滤需要很长时间。我先尝试通过首先过滤库存号(稍后是日期)来优化它,这样我只需要在库存号从行到行变化时执行该步骤。它快一点,但仍然不是很好。
谢谢!