我使用R软件包quantmod没问题,该软件包使用Yahoo来获取库存数据,如下所示:
get_stock_prices <- function(target, return_format = "tibble", ...) {
# Get stock prices
print(target)
stock_prices_xts <- getSymbols(Symbols = target, auto.assign = FALSE, ...)
# Rename
names(stock_prices_xts) <- c("Open", "High", "Low", "Close", "Volume", "Adjusted")
# Return in xts format if tibble is not specified
if (return_format == "tibble") {
stock_prices <- stock_prices_xts %>%
as_tibble() %>%
rownames_to_column(var = "Date") %>%
mutate(Date = ymd(Date))
} else {
stock_prices <- stock_prices_xts
}
write.csv(stock_prices, file = paste(target, "csv", sep = '.'))
}
我只知道Python中的pandas_datareader可以实现类似的功能。不幸的是,由于yahoo和google API发生了变化,此软件包被破坏了。这段代码:
import pandas_datareader as pdr
panel_data = pdr.get_data_yahoo('MSFT')
导致:
Yahoo Actions has been immediately deprecated due to large breaks in the API without the
introduction of a stable replacement. Pull Requests to re-enable these data
connectors are welcome.
是否有一个目前可以使用的Python软件包来实现上述目的。我知道quandl,但这是一项付费服务。谢谢。
答案 0 :(得分:8)
Alpha Vantage是另一个很好的免费资源,它以RESTful JSON和CSV API的形式提供实时股票报价。这是API documentation。
设置
设置非常简单。您所需要做的就是从here生成一个免费的API密钥,然后将其模块与matplotlib一起安装
pip install matplotlib
pip install alpha_vantage
示例
您可以在其文档页面上查看示例,但我还将在此处列出一些示例。
这是我在网上找到的一些代码:
from alpha_vantage.timeseries import TimeSeries
import matplotlib.pyplot as plt
import sys
def stockchart(symbol):
ts = TimeSeries(key='your_key', output_format='pandas')
data, meta_data = ts.get_intraday(symbol=symbol,interval='1min', outputsize='full')
print data
data['4. close'].plot()
plt.title('Stock chart')
plt.show()
symbol=raw_input("Enter symbol name:")
stockchart(symbol)
输出:
Source获取代码和图片。
修改
更改了一些代码。请参阅注释以进行更改。
答案 1 :(得分:4)
尝试Manager Marketplace Jan Feb Mar
mgr1 US 312 546 987
mgr1 DE 546 329 715
mgr2 FR 267 195 546
:
fix_yahoo_finance
答案 2 :(得分:2)
Quandl具有免费和付费等级。您绝对可以从Quandl获得免费的股票数据,并且可以通过他们的api轻松实现。 pip install quandl
或conda install quandl
。您所需要做的就是注册一个免费帐户,并获得一个API密钥。然后是这样的。
import quandl
quandl.ApiConfig.api_key = "YOUR_API_KEY"
df = quandl.get_table("WIKI/PRICES", ticker = ["MSFT"],
qopts = {"columns": ["date", "ticker", "adj_open", "adj_close"]},
paginate=True)
他们的网站上还有大量文档。和多种来源。
退房:
https://blog.quandl.com/stock-market-data-ultimate-guide-part-1。
https://www.quandl.com/search?filters=%5B%22Free%22%2C%22Equities%22%5D。
对于初学者。