【问题标题】:Can't Download Index Data from Yahoo R无法从 Yahoo R 下载索引数据
【发布时间】:2019-09-09 02:00:06
【问题描述】:

所以,我想下载索引的数据,但无法获取数据。问题在于,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

感谢您抽出宝贵时间,无论您是否知道解决方案。

【问题讨论】:

    标签: r indexing get assets


    【解决方案1】:

    我无法确认您的问题。这里不需要前面的"^" 符号。

    跑步

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

    将自动将输出存储在名为 VIXxts 对象中

    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
    

    请注意,如果您避免将getSymbols 的输出自动分配给当前环境,您是否可以避免get 步骤:

    res <- getSymbols("VIX", src='yahoo', from=start.date, auto.assign = FALSE)
    

    【讨论】:

    • 您好,感谢您的回答,但仍有问题。我尝试了指数 TNX,它只给了我 5 个数据点,价格错误。有什么想法吗?
    • @L.Zingg 这似乎是一个不同的问题;我建议closing this post,然后提出一个新问题。
    【解决方案2】:

    我假设 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
    

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

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多