quantmod getSymbols google 重复错误
quantmod getSymbols google duplicate bug
我在尝试使用 getSymbols()
.
为 google 来源提取数据时不断收到错误消息
基本上,2003 年 12 月 28 日至 30 日的日期是 "missing",然后它将最小日期默认为 2001,而不是我指定的最小日期。
是否有解决此错误的方法,以便我可以正确且完整地从 google 中提取数据作为我的 getSymbols
函数的来源?
请看下面我的代码:
install.packages("quantmod")
library(quantmod)
ticks <- c("XLF", "XLK")
getSymbols(ticks, src = "google",
from = as.Date("1999-12-01"), to = as.Date("2017-05-11"))
以下是我收到的警告信息:
Warning message:
In getSymbols.google(Symbols = c("XLF", "XLK"), env = , :
google duplicate bug - missing Dec 28,29,30 of 2003
这与关于重复项的警告无关。相反,Google Finance 似乎将您一次可以下载的观察数量限制为 ~4000。
如果你去他们的historical prices page for XLF, select a date range larger than 4000 days, and click the Download to spreadsheet link,就会发生这种情况。
目前,您可以通过多次调用 getSymbols
来解决此问题,每次调用的历史记录少于 4000 天,然后合并结果。
类似于:
from <- "1999-12-01"
to <- "2017-05-11"
for (tick in ticks) {
one <- getSymbols(tick, src = "google", from = from, to = "2010-12-31", auto.assign = FALSE)
two <- getSymbols(tick, src = "google", from = "2011-01-01", to = to, auto.assign = FALSE)
assign(tick, rbind(one, two))
}
我在尝试使用 getSymbols()
.
基本上,2003 年 12 月 28 日至 30 日的日期是 "missing",然后它将最小日期默认为 2001,而不是我指定的最小日期。
是否有解决此错误的方法,以便我可以正确且完整地从 google 中提取数据作为我的 getSymbols
函数的来源?
请看下面我的代码:
install.packages("quantmod")
library(quantmod)
ticks <- c("XLF", "XLK")
getSymbols(ticks, src = "google",
from = as.Date("1999-12-01"), to = as.Date("2017-05-11"))
以下是我收到的警告信息:
Warning message: In getSymbols.google(Symbols = c("XLF", "XLK"), env = , : google duplicate bug - missing Dec 28,29,30 of 2003
这与关于重复项的警告无关。相反,Google Finance 似乎将您一次可以下载的观察数量限制为 ~4000。
如果你去他们的historical prices page for XLF, select a date range larger than 4000 days, and click the Download to spreadsheet link,就会发生这种情况。
目前,您可以通过多次调用 getSymbols
来解决此问题,每次调用的历史记录少于 4000 天,然后合并结果。
类似于:
from <- "1999-12-01"
to <- "2017-05-11"
for (tick in ticks) {
one <- getSymbols(tick, src = "google", from = from, to = "2010-12-31", auto.assign = FALSE)
two <- getSymbols(tick, src = "google", from = "2011-01-01", to = to, auto.assign = FALSE)
assign(tick, rbind(one, two))
}