下载 quantmod 数据时出错

Error downloading quantmod data

我目前正在关注一个财经视频,我正处于以下 video 的第 8:02 分钟。我相信我在下载数据方面出错了,就像视频作者所做的那样。

我已经粘贴了下面的代码,您应该可以从 Rstudio window 中 运行 而无需下载任何其他文件。

我首先使用 quantmod 包导入数据。

library(quantmod)
getSymbols("F", src="yahoo", periodicity = "monthly", from="2007-10-01", to="2012-11-01")
colnames(F) <- c("Open", "High", "Low", "Close", "Volume", "Adj")

我 运行 遇到了一个小问题,该视频在 2012 年 10 月 1 日的开盘价为 9.89,调整收盘价为 9.88。当我查看我通过 quantmod 包下载的数据时,我在 2012-10-01 上打开了 12.380 和 Adj Close 8.915304。我完全理解下载数据时的值可能存在差异,但为什么我通过 quantmod 包获得的值会大不相同。

进一步

我去雅虎金融网站交叉检查了这些值。这是 2012 年 10 月 1 日或雅虎 2012 年 9 月 30 日的 Yahoo link,开盘价为 9.89,收盘价为 8.92,非常接近视频。

为什么通过 quantmod 导入不正确,这是漫长的一天所以我假设它是我错过的东西。

下载的 quantmod 数据已针对股息进行了调整。看看最近的每日价格,然后在 2017 年 10 月对股息进行修正:

aa <- getSymbols("F", src="yahoo", periodicity = "daily", from="2007-10-01", auto.assign = FALSE)

aa["2017-10/"]

随着时间的推移计算股息会导致 yahoo 和您下载的 xts 对象中的价格发生变化。例如OHL 价格调整了 15 美分,这是 10 月份分红前的分红规模。股息支付后,请注意 yahoo 和 xts 对象中的 OHL 价格是如何相同的。

https://finance.yahoo.com/quote/F/history?period1=1352178000&period2=1509944400&interval=1d&filter=history&frequency=1d

如果你想return没有股息调整的雅虎数据,在getSymbols调用中添加adjust参数设置为TRUE(这是函数getSymbols.yahoo/getSymbols.yahooj):

a2 <- getSymbols("F", src="yahoo", periodicity = "daily", from="2007-10-01", auto.assign = FALSE, adjust = TRUE)
head(a2["2012-10"])
           F.Open F.High F.Low  F.Close F.Volume F.Adjusted
2012-10-01   9.89  10.08  9.88 7.932703 33445600   7.932703
2012-10-02  10.01  10.05  9.71 7.820863 63630000   7.820863
2012-10-03   9.82  10.02  9.76 7.940693 51023800   7.940693
2012-10-04  10.06  10.15  9.96 8.076502 46855500   8.076502
2012-10-05  10.17  10.28 10.13 8.116439 40693900   8.116439
2012-10-08  10.06  10.12  9.99 8.028567 25473900   8.028567

正如雅虎网站上所指出的,他们网站上的数据似乎考虑了股票分割。