【问题标题】:Cannot display opening price data from yahoo using quantmod无法使用 quantmod 显示来自雅虎的开盘价数据
【发布时间】:2022-11-01 15:59:29
【问题描述】:
getSymbols("2222.SR")
[1] "2222.SR"
OPEN1<-Op(2222.SR)
Error: unexpected symbol in "OPEN1<-Op(2222.SR"

我期待 R 给我开盘价,但由于某种原因,它给了我这个错误,尽管它能够从 yahoo 获取该数据。顺便说一句,我正在使用 quantmod。

我是这方面的初学者,所以我不知道怎么了类似收盘价的函数并得到相同的结果:

getSymbols("7010.SR")
[1] "7010.SR"

警告信息:

7010.SR 包含缺失值。如果对象在系列中间包含缺失值,则某些功能将不起作用。考虑 使用 na.omit()、na.approx()、na.fill() 等删除或替换 他们。

OPEN2<-Op(7010.SR)
Error: unexpected symbol in "OPEN2<-Op(7010.SR"

我还用一只美国交易的股票进行了尝试,它奏效了。

【问题讨论】:

    标签: r quantmod


    【解决方案1】:

    您遇到的问题是,如果您使用getSymbols("2222.SR"),它会在您的环境中创建一个名为 2222.SR 的对象。但是因为 is 以对象名称中的数字开头,所以不能只使用 Op("2222.SR") 来调用它。这会给你这个错误。您需要使用反引号来访问此对象或告诉 getSymbols 不要自动分配对象名称。

    带反引号的代码:

    library(quantmod)
    
    # with the use of backticks
    getSymbols("2222.SR")
    
    OPEN1 <- Op(`2222.SR`)
    head(OPEN1)
               2222.SR.Open
    2019-12-11     29.09091
    2019-12-12     31.98347
    2019-12-15     30.66116
    2019-12-16     30.99173
    2019-12-17     31.44628
    2019-12-18     30.99173
    

    没有反引号的代码:

    aramco <- getSymbols("2222.SR", auto.assign = FALSE)
    
    OPEN1 <- Op(aramco)
    
    head(OPEN1)
               2222.SR.Open
    2019-12-11     29.09091
    2019-12-12     31.98347
    2019-12-15     30.66116
    2019-12-16     30.99173
    2019-12-17     31.44628
    2019-12-18     30.99173
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      相关资源
      最近更新 更多