带有连字符的stockSymbols quantmod错误

时间:2017-06-05 09:48:37

标签: r quantmod stocks

R包,在使用stockSymbols()函数时,Quantmod似乎无法从Google访问公司。

以下是我在纽约证券交易所上市的公司名单,这只是前30名:

 NYSE
   [1] "A"          "AA"         "AAC"        "AAN"        "AAP"        "AAT"        "AAV"        "AB"         "ABB"       
  [10] "ABBV"       "ABC"        "ABEV"       "ABG"        "ABM"        "ABR"        "ABR-PA"     "ABR-PB"     "ABR-PC"  

一切正常,直到它到达ABR-PA,然后返回错误消息。

我认为可以解决这个问题的方法之一就是在它上面运行一个Gsub来代替一些语言,这有点帮助但我仍然缺少~~ 3500列表中约1%的公司。

这是gsub:

NYSE <- gsub("-PK","-K",gsub("-PJ","-J",gsub("-PI","-I",gsub("-PH","-H",gsub("-PG","-G",gsub("-PF","-F",gsub("-PE","-E",gsub("-PD","-D",gsub("-PC","-C",gsub("-PB","-B",gsub("-PA","-A",NYSE)))))))))))

如果有人在我渴望听到一些想法之前解决了这个问题。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下两种可能的解决方案:

getSymbols("ABR-PA", auto.assign=FALSE)

和/或

getSymbols(`ABR-PA`)

下载多种股票的数据:

NYSE = c("A", "AA", "AAC", "AAN", "AAP", "AAT", "AAV", "AB", "ABB",
        "ABBV", "ABC", "ABEV", "ABG", "ABM", "ABR", "ABR-PA", "ABR-PB",
        "ABR-PC")

data = lapply(NYSE, function(x) {
  getSymbols(x, from="2007-01-01", auto.assign=FALSE)
})

df = do.call(merge, data)
df