R:垫与周末或银行假日约会

时间:2017-08-30 11:33:55

标签: r time time-series xts

假设以下数据集。我得到所有工作日的收盘价。但是我也缺少没有观察的日期行。如何添加等于每天和日期的行到现在?我需要这样做的原因是我需要按周平均,并且有可变的时间窗口使得这是不可能的。

这是我的代码:

 library(quantmod)
 from="2012-09-01"
 sym = c("BARC")

 prices = Map(function(n)
 {
  print(n)
  tryCatch(getSymbols(n, src="google", env=NULL, from=from)[, 4], error = 
  function(e) NA)
 }, sym)

 N = length(prices)
 # identify symbols returning valid data
 i = ! unlist(Map(function(i) is.na(prices[i]), seq(N)))
 # combine returned prices list into a matrix, one column for each symbol
 prices = Reduce(cbind, prices[i])
 colnames(prices) = sym[i]

如果你看到"价格"数据框,你会看到我正在做的一点。

1 个答案:

答案 0 :(得分:0)

您可以先创建包含所有日期的空白xts,然后与prices对象合并。

full_dates <- xts(,order.by = seq(from = start(prices), to = end(prices), by= "day"))
full_prices <- merge(full_dates,prices, all = TRUE)

您还可以选择通过以下

填写缺失的价格
na.locf(full_prices)