无法从Yahoo R下载索引数据

时间:2019-09-09 02:00:06

标签: r indexing get assets

因此,我想下载索引的数据,但无法获取数据。问题在于Yahoo.finance认为索引的代码在它们前面有一个^,例如,^ VIX而不是VIX。不幸的是,我的代码不喜欢那样。我找不到任何函数或替代方法来调用此数据。另外,我真的不想更改从中获取数据的平台,对于其余的代码,这将是一个巨大的麻烦。

我尝试将^和资产一起放入,它不会下载数据。我还尝试了不使用^调用数据,并且给出了错误的数据。

asset <- "VIX"
ticker <- "VIX"

start.date <- as.Date('2009-09-01')

getSymbols(ticker, src='yahoo', from=start.date)

Adj.Close <- get(ticker)[,6]

当我把它放进去时,我最终得到以下消息:

Error in get(ticker) : object '^VIX' not found

感谢您的时间,无论您是否知道解决方案。

2 个答案:

答案 0 :(得分:0)

我无法确认您的问题。此处不需要前导"^"符号。

运行

library(quantmod)
ticker <- "VIX"
start.date <- as.Date('2009-09-01')
getSymbols(ticker, src='yahoo', from=start.date)

将自动将输出存储在名为xts的{​​{1}}对象中

VIX

请注意,如果避免将head(get(ticker)) # VIX.Open VIX.High VIX.Low VIX.Close VIX.Volume VIX.Adjusted #2014-12-04 28200.4 30096.9 27953.0 28447.7 811330 28447.7 #2014-12-05 26551.2 27540.7 25974.0 26056.5 377529 26056.5 #2014-12-08 25231.9 26056.5 23582.8 23582.8 367585 23582.8 #2014-12-09 23582.8 23582.8 21274.0 21274.0 570963 21274.0 #2014-12-10 19789.7 20202.0 19212.5 19295.0 539795 19295.0 #2014-12-11 18635.3 19295.0 17398.5 17728.3 1053637 17728.3 的输出自动分配给当前环境,可以避免执行get步骤:

getSymbols

答案 1 :(得分:0)

我假设Maurits正在寻找VIX指数的数据,在这种情况下,我发现有必要将置克拉纳入克拉克。在上一个答案的基础上,我们可以看到使用“ ^ VIX”行情自动收录器时会返回有效对象。

library(quantmod)
start.date <- as.Date('2009-09-01')
ticker <- "^VIX"
getSymbols(ticker, src='yahoo', from=start.date)

[1] "^VIX"

但是,get无法找到该对象:

head(get(ticker))
Error in get(ticker) : object '^VIX' not found

但是,在get中使用“ VIX”而不是“ ^ VIX”会返回所需的结果:

head(get("VIX"))
           VIX.Open VIX.High VIX.Low VIX.Close VIX.Volume VIX.Adjusted
2009-09-01    26.01    29.23   26.00     29.15          0        29.15
2009-09-02    29.14    29.57   28.41     28.90          0        28.90
2009-09-03    28.90    28.90   26.98     27.10          0        27.10
2009-09-04    26.98    26.98   24.86     25.26          0        25.26
2009-09-08    25.26    26.15   25.26     25.62          0        25.62
2009-09-09    25.66    25.93   24.23     24.32          0        24.32