假设以下数据集。我得到所有工作日的收盘价。但是我也缺少没有观察的日期行。如何添加等于每天和日期的行到现在?我需要这样做的原因是我需要按周平均,并且有可变的时间窗口使得这是不可能的。
这是我的代码:
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]
如果你看到"价格"数据框,你会看到我正在做的一点。
答案 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)