使用一些缺失值计算每日库存 returns

Calculating daily stock returns with some missing values

我有这样的数据

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

我想每天计算 returns 所以使用 ttr 包的语法是

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

计算将是 (112-115)-1 等等,但它将显示日期 23-12-2015.

的 NA

我想当 NA 出现在前一个日期时,它应该采用前一天的价格。我不想删除该行,因为我有包含许多其他价格的数据框,我会丢失该信息。

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

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