4

我正在使用 quantmod 包来获取股票数据。编码

Data = getSymbols('LON:ADN',src="google",auto.assign=FALSE, from = '2011-08-10')

结果与预期的一样,但经过仔细检查,它显示了 2012 年 10 月 21 日(10 月 21 日)的交易量,这是一个星期天,因此显然是错误的。其他几个星期天也包括在内。不幸的是,周末的错误似乎使其余数据失去了一致性。

以前有没有人遇到过使用 quantmod 获取代码的类似问题,如果是这样,他们是否知道解决方法?

谢谢

4

1 回答 1

3

正如您在评论中提到的,这看起来像一个时区问题,可能是由于xts函数中的 POSIX 日期转换(参见这个答案)。

Sys.getenv("TZ")当是空字符串时,我能够在新的 R 会话中重现该问题。例如,将时区设置为任何有效的时区(并非全部经过测试)"America/Chicago"会产生预期的日期,即没有星期日:

在新的会议中(2012 年 12 月 16 日是星期日):

Sys.getenv("TZ")
# [1] ""

library(quantmod)
Data <- getSymbols('LON:ADN',src="google",auto.assign=FALSE, from = '2011-08-10')
tail(index(Data))
# [1] "2012-12-13" "2012-12-16" "2012-12-17" "2012-12-18" "2012-12-19" "2012-12-20"

然后更改时区

Sys.setenv(TZ="America/Chicago")

Data <- getSymbols('LON:ADN',src="google",auto.assign=FALSE, from = '2011-08-10')
tail(index(Data))
# [1] "2012-12-14" "2012-12-17" "2012-12-18" "2012-12-19" "2012-12-20" "2012-12-21"

没有星期天。

于 2012-12-22T09:16:49.837 回答