2017-06-05 61 views
0

R包,Quantmod似乎無法使用stockSymbols()函數從谷歌訪問公司。stockSymbols quantmod連字號與谷歌錯誤

這是我從紐約證券交易所後我的公司的名單,這只是第一個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))))))))))) 

如果有人已經解決了這個之前,我當然很希望聽到一些想法。

回答

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 
+0

嗯,還是回來了同樣的錯誤消息,我敢肯定,這是因爲在谷歌它被列爲ABR-A,而股票代碼作爲ABR-PA返回。 – DavimusPrime

+0

雖然你可以解決以下問題,但我在Google上找不到'ARB-C':'NYSE = gsub(「 - P」,「 - 」,NYSE)'。雅虎財務確實擁有它。你爲什麼不切換到YFinance並看看? – AK88

+0

我總是從雅虎quantmod數據中得到以下錯誤: Error.in download.file(paste(yahoo.URL,「s =」,Symbols.name,「&a =」,from.m,: 無法打開URL'https://ichart.finance.yahoo.com/table.csv?s=TCS.NS&a=0&b=01&c=2007&d=5&e=05&f=2017&g=d&q=q&y=0&z=TCS.NS&x=.csv' 此外:警告消息: 在download.file(paste(yahoo.URL,「s =」,Symbols.name,「&a =」,from.m,: 無法打開URL'https://ichart.finance。 yahoo.com/table.csv?s=TCS.NS&a=0&b=01&c=2007&d=5&e=05&f=2017&g=d&q=q&y=0&z=TCS.NS&x=.csv':HTTP狀態爲'404未找到' 雅虎還會在查詢時加速嗎? – DavimusPrime