【问题标题】:Calculating daily stock returns with some missing values [duplicate]计算带有一些缺失值的每日股票收益[重复]
【发布时间】:2015-12-26 13:44:05
【问题描述】:

我有类似的数据

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 等等,但它会显示日期 23-12-2015 的 NA。

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

【问题讨论】:

  • 发帖前有没有看规则?看起来不像。

标签: r time-series stocks


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 2020-06-30
    相关资源
    最近更新 更多