我正在尝试将每日系列转换为周五结束的每周系列。每个系列都有缺失值,因此merge
函数会留下一些 NA。我已经尝试过na.locf
但to.weekly
对我没有用。我正在创建一个包含该期间所有星期五的每周日期对象,并且由于某些系列的某些星期在星期三或星期四结束,因此我无法匹配这些索引。
理想情况下,我想覆盖那些星期内最后一个值的日期,而不是在星期五结束。
library(quantmod)
library(xts)
TickerL <- c("ABE.MC", "FNC.MI", "ENI.MI")
getSymbols(TickerL,from = "2000-01-01")
pr <- list(ABE.MC[,4], FNC.MI[,4], ENI.MI[,4])
w.dates <- seq(from=min(index(ABE.MC)),to=max(index(ABE.MC)), by='days')
w.dates <- w.dates[.indexwday(as.xts(w.dates))==5]
if (max(index(ABE.MC)) > max(w.dates)) w.dates <- c(w.dates,seq(last(w.dates),by='weeks',length.out=2)[2])
pr2 <- lapply(pr, function(x) do.call(rbind, lapply(split(x, "weeks"), last)))
pr3 <- do.call(merge, pr2)