如何将 getReturns 与雅虎财经一起使用 API

How to use getReturns with the Yahoo finance API

我对 R 包有问题 getReturns。我从 5 月 17 日起就遇到了这个错误:

Warning in file(file, "rt") : cannot open URL 'http://ichart.finance.yahoo.com/table.csv?s=AAPL&a=4&b=28&c=2014&d=4&e=27&f=2017&g=w&ignore=.csv': HTTP status was '404 Not Found'

看来 ichart API 不再 运行 了。谁能帮我解决这个问题?有人知道如何解决吗?我在 quantmod R 包中遇到了同样的问题。

我也遇到过这个问题。雅虎!已经取消了 ichart 并且依赖它的开源库现在被破坏了。雅虎!也没有计划引入替代品。有关详细信息,请参阅 Yahoo! 的 Forums 上的 post。

你可以关注我之前的,这可能对你有帮助。

我试过了:

library(quantmod)
# Create an object containing the Pfizer ticker symbol
symbol <- "PFE"    
# Use getSymbols to import the data
getSymbols(symbol, src="yahoo", auto.assign=T) 
# because src='google' throws error, yahoo was used, and even that is down

当我尝试其他来源时,它起作用了:

# "quantmod::oanda.currencies" contains a list of currencies provided by Oanda.com
currency_pair <- "GBP/CAD"    
# Load British Pound to Canadian Dollar exchange rate data
getSymbols(currency_pair, src="oanda")
str(GBPCAD)    

当我们使用 quantmod pkg 时,google 和 yahoo 似乎有问题。

我建议您改用 'Quandl'。请到 Quandl 网站,免费注册并创建 API 密钥,然后将其复制到下面:

# Install Quandl
install.packages("Quandl")
# or from github
install.packages("devtools")
library(devtools)
install_github("quandl/quandl-r")

# Load the Quandl package
library(Quandl)

# use API for full access
Quandl.api_key("xxxxxx")

# Download APPLE stock data
mydata = Quandl::Quandl.datatable("ZACKS/FC", ticker="AAPL")

对于 BSE 的 HDFC,您可以使用:

hdfc = Quandl("BSE/BOM500180")

更多详情:

https://www.quandl.com/data/BSE-Bombay-Stock-Exchange?keyword=HDFC

我在 Yahoo 失败后转向 eodhistoricaldata.com,几周前我发现 alternative 与 Yahoo Finance 非常相似 API。

基本上,对于我使用的几乎所有 R 脚本,我只是更改了这个:

URL <- paste0("ichart.finance.yahoo.com/table.csv?s=", symbols[i])

至:

URL <- paste0("eodhistoricaldata.com/api/table.csv?s=", symbols[i])

然后添加一个API键,它会像以前一样工作。我在上面为我的 R 脚本节省了很多时间。