我目前正在跟踪一个金融视频,我在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,而Adj收盘价为9.88。当我查看我的数据时,我已经通过quantmod软件包下载了一个开放的2012-10-01作为12.380和Adj关闭8.915304。我完全理解在下载数据时可能存在值的差异,但是为什么我通过quantmod包得到的值会有很大的不同。
进一步
我去雅虎财经网站交叉检查了价值。这是2012年10月01日至2012年的雅虎链接,或者是雅虎在2012年9月30日到2012年9月30日的价格,开盘价为9.89,而Adj收盘价为8.92,非常接近视频中的值。
为什么通过数量输入是不正确的,这是一个漫长的一天,所以我假设它是我错过的东西。
发布于 2017-11-07 01:56:15
下载的量化数据将按股息进行调整。看看最近的每日价格,然后在2017年10月对股息进行调整:
aa <- getSymbols("F", src="yahoo", periodicity = "daily", from="2007-10-01", auto.assign = FALSE)
aa["2017-10/"]回溯时间的红利会导致雅虎和你下载的xts对象的价格发生变化。例如,OHL的价格调整了15美分,股利的大小是在股息之前的10月份。在支付股息后,注意OHL在yahoo和xts对象中的价格是如何相同的。
https://finance.yahoo.com/quote/F/history?period1=1352178000&period2=1509944400&interval=1d&filter=history&frequency=1d
如果要返回雅虎数据而不进行股息调整,请将设置为adjust的TRUE参数添加到getSymbols调用中(这是函数getSymbols.yahoo/getSymbols.yahooj的passthru参数):
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正如雅虎网站上所指出的,股票分拆似乎是在雅虎网站的数据中计算出来的。
https://stackoverflow.com/questions/47147135
复制相似问题