如何有效地计算最新的计算(历史卷,相关性等)? [R]

时间:2018-02-26 15:34:16

标签: r finance quantitative-finance

我主要使用历史财务数据,但希望实现一个附加新价格并有效计算新变量的系统。目前使用 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仅用于示例目的。

1 个答案:

答案 0 :(得分:-1)

对于对答案感兴趣的任何人,通过将数据存储为返回流来完成此操作。 Date-Yaxis,ticker-Xaxis,data-1dayreturn。

由于列数~8k,每天保存为RData。

从eod t-1保存快照。计算T0返回与T-1 eod快照。如上所述格式化为返回流。

拉出RData。 Rbind当前返回历史回归流。计算此返回流的计算结果。即stdev,corr,cov等。

应该给你较低的延迟计算(<10秒)。如果您知道更好的方法,请告诉我。