下载quantmod数据时出错

时间:2017-11-06 22:47:56

标签: r quantmod yahoo-api financial

我目前正在关注财经视频,而且我的时间是以下video的8:02分。我相信在视频作者已经完成下载数据方面我出错了。

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

我首先使用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日的Yahoo link或雅虎在9月30日至2012年9月开盘价格为9.89,调整后收盘价格为8.92,非常接近于视频。

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

1 个答案:

答案 0 :(得分:3)

下载的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月的股息大小。支付股息后,请注意雅虎和xts对象的OHL价格是如何相同的。

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

如果您想要在没有分红调整的情况下返回雅虎数据,请在getSymbols调用中将adjust参数集添加到TRUE(这是函数getSymbols.yahoo / {的passthru参数{1}}):

getSymbols.yahooj

如雅虎网站所述,似乎股票拆分在其网站上的数据中得到了解释。