r - 下载 quantmod 数据时出错

标签 r quantmod yahoo-api financial

我目前正在观看一个财经视频,并且正在观看以下视频的 8:02 video 。我相信我在下载数据方面犯了错误,正如视频作者所做的那样。

我已粘贴下面的代码,您应该能够从 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 月 1 日的开盘价为 12.380,调整收盘价为 8.915304。我完全理解下载数据时的值可能存在差异,但为什么我通过 quantmod 包获得的值却截然不同。

进一步

我访问了雅虎财经网站来交叉检查这些值。这是Yahoo link 2012年10月1日或雅虎2012年9月30日的开盘价为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

如果您想返回没有股息调整的 yahoo 数据,请在 getSymbols 调用中添加设置为 TRUEadjust 参数(这是函数的 passthru 参数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

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

关于r - 下载 quantmod 数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147135/

相关文章:

r - 使用 Quantstrat 优化信号参数会导致错误 : attempt to select less than one element

r - 如何在 Quantmod 中处理雅虎财经股票代码中的连字符

perl - 从 Yahoo API 获取联系人照片时出现 404 错误

r - 基础 R 编程

r - 根据尚不存在的列创建新列

R 慢速随机 quantmod

icalendar - 雅虎 CalDAV : Bad request on getting calendars

java - 哪里有示例 JAX-RS 客户端示例?

Rbind 多个 data.frames 与行指标

r - 使用gtoutput在R中的Shiny应用程序中显示多个表