首页 > 解决方案 > 如何在 getSymbols 中返回从星期一开始的每周数据

问题描述

如果在星期六运行此 getSymbols 函数,它将仅返回完整周的数据,即它将省略当前周数据并且仅返回 2021 年 5 月 15 日之前的数据

 d <- as.data.frame(
      getSymbols(
        paste("WIPRO" , ".NS", sep = ""),
        from ="2000-01-01", 
        periodicity = "weekly",
        return.class = 'zoo',
        env = NULL
      )
    )

如果我想让这个函数返回今天或最新的数据,我该如何修改这个函数?

如果我添加to = "2021-05-22"参数,它会返回记录,但它填充了 NA。

标签: rquantmodstockquotes

解决方案


您可以通过使用每日数据然后将其汇总到每周来解决此问题。

library(quantmod)

daily.x <- getSymbols(
  paste("WIPRO" , ".NS", sep = ""),
  from ="2000-01-01", 
  auto.assign = FALSE
)

weekly.x <- to.period(daily.x, period = "weeks")
tail(weekly.x)
           x.Open x.High  x.Low x.Close  x.Volume x.Adjusted
2021-04-16 450.00 473.65 412.60  469.20 171627114     469.20
2021-04-23 463.00 494.50 461.10  475.70 117757478     475.70
2021-04-30 479.40 511.80 477.00  492.75  62896349     492.75
2021-05-07 487.95 516.55 477.80  515.25  67638876     515.25
2021-05-14 517.60 528.50 492.75  498.45  34864957     498.45
2021-05-21 498.45 517.80 495.00  512.70  34113599     512.70

推荐阅读