r-计算一些缺失值的每日股票回报率



我有类似的数据

date         price 
26-12-2015   112
25-12-2015   115
24-12-2015   119
23-12-2015   NA
22-12-2015   120

我想计算每日回报,所以使用ttr包的语法是

ROC(data$price, type="discrete")

计算结果为(112-115)-1,依此类推,但显示日期为2015年12月23日的NA。

我想当NA在前一天出现时,它应该取前一天的价格。我不想删除那一行,因为我有很多其他价格的数据帧,我会丢失这些信息。

如果我们需要用前一行的价格替换NA,则可以使用zoo中的na.locf(假设数据集是用"date"表示的order)。

library(zoo)
df1$price <- na.locf(df1$price)

最新更新