我主要使用历史财务数据,但希望实现一个附加新价格并有效计算新变量的系统。目前使用 data.table
来执行聚合计算,但这会导致延迟太多,因为它当前计算整个时间序列的变量。寻找有关该主题的任何指导。感谢。
修改
因此,我想有效地计算不同滞后时间序列的标准差。
数据如下所示:
DATE- TIC - RET1
2018-02-21 AAPL .04
2018-02-22 AAPL .02
2018-02-23 AAPL -.01
2018-02-21 GE .04
2018-02-22 GE .02
2018-02-23 GE -.01
目前我只需data
一个data.table
,订购它,然后使用TTR runSD()
功能:
data[,computed1 := runSD(`ret1`,2)* x, by = 'tic']
这将计算每个位置的2天滚动标准偏差,当我只想为最新的条目计算它时。 (作为data
样本中的2018-02-23)
进一步解释(我为冗余道歉) 根据我目前的代码,我将获得2018-02-22和2018-02-23的SD。[23& 22,22& 21]我只想输出2018-02-23条目。
* 2天SD仅用于示例目的。
答案 0 :(得分:-1)
对于对答案感兴趣的任何人,通过将数据存储为返回流来完成此操作。 Date-Yaxis,ticker-Xaxis,data-1dayreturn。
由于列数~8k,每天保存为RData。
从eod t-1保存快照。计算T0返回与T-1 eod快照。如上所述格式化为返回流。
拉出RData。 Rbind当前返回历史回归流。计算此返回流的计算结果。即stdev,corr,cov等。
应该给你较低的延迟计算(<10秒)。如果您知道更好的方法,请告诉我。