我试图使用“ pandas_datareader”中的“ get_data_yahoo”方法获取股票数据,因此我编写了以下内容进行测试。 我了解到Yahoo API出现了问题,因此我按照此处的说明添加了“ fix_yahoo_finance”模块和yf.pdr_override()

from pandas_datareader import data as pdr
import fix_yahoo_finance as yf
from datetime import datetime

yf.pdr_override()
a = pdr.get_data_yahoo('AAPL', start=datetime(2017, 8, 13), end=datetime(2017, 8, 14))
b = pdr.get_data_yahoo('AMZN', start=datetime(2017, 8, 13), end=datetime(2017, 8, 14))
c = pdr.get_data_yahoo('MSFT', start=datetime(2017, 8, 13), end=datetime(2017, 8, 14))
print(a)
print(b)
print(c)

但是,当我运行上述代码时,有时无法提取库存,这导致DataFrame中的一两个(或全部三个)为空,如下所示。 在此处输入图片说明 在此处输入图片说明 在第一张图片中,仅第一个被获取,而在第二张图片中,仅第二个被获取。
我尝试了不同的代码,并运行了很多次,这似乎是一个随机的模式。 有人知道发生了什么吗? 是模块再次损坏还是我可以修复的东西? 提前致谢。

#1楼 票数:0

我无法诊断目前在这里发生的确切问题,但是这是一种解决方法:

stock_list = ['AMZN', 'MSFT', 'AAPL']
stock_dict = {}
for stock in stock_list:
    dim = (0,0)
    while dim != (1,6):
       s = pdr.get_data_yahoo(stock, start="2017-08-13",end="2017-08-14")
       dim = s.shape
    stock_dict[stock] = s

  ask by codeedoc translate from so

未解决问题?本站智能推荐:

1回复

用于pandas_datareader的API

我正在尝试学习pandas_datareader并一直在Google上进行搜索,到目前为止我还没有找到任何详细信息API仅找到了此https://pandas-datareader.readthedocs.io/zh-CN/latest/remote_data.html#yahoo-financ
1回复

Pandas_DataReader 不适用于 Yahoo Finance API

一个月前,我开始从事一个项目,尝试使用历史数据预测未来的股票价格。 项目进展顺利,我决定休息一下来升级我的电脑。 好吧,我在完成计算机后尝试检查我的代码,但现在我遇到了一堆关于从 Yahoo Finance API 提取数据的错误。 我的朋友正在从事同一个项目,他说他在代码中没有遇到任何问题,所以我
1回复

Python 雅虎财经错误market_cap=int(data.get_quote_yahoo(str)['marketCap']) TypeError: 'int' object is not callable

我试图从 yfinance(在 repl.it 中工作)获取有关各公司市值的数据,但在第一次停止工作后 我想去查找列表中所有股票的市盈率,但没有获得市值数据
1回复

如何修复新的无法读取 yahoo 金融 python 中的 URL 错误

去年我一直在使用这个代码,但现在它产生了一个错误。 有谁知道为什么会发生这种情况以及如何解决? RemoteDataError: 无法读取 URL: https://finance.yahoo.com/quote/MCD/history?period1=-1830801600&peri
3回复

如何通过yahoo导入pandas的多个股票价格?

所以我试图使用 pandas 和 panadas datareader 获取多个股票价格。 如果我只尝试导入一个股票代码,它会运行良好,但如果我使用多个股票代码,则会出现错误。 代码是: 虽然我收到错误: 那么我如何绕过它,只允许通过 1 只股票。 到目前为止,我已经尝试使用 quandl
2回复

如何处理雅虎财经报价阅读器的打印输出?

我正在设计一个工具来帮助我管理我的股票投资组合中的风险。 我有一些代码可以从雅虎财经收集 4 只股票、2 倍多头和 2 倍空头的当前价格数据。 这是使用雅虎财经工具。 我可以收集数据,但我无法弄清楚如何将价格相互除以返回点差的价值(股票 A/股票 B 作为相对价值交易) 小小的胜利! 我可以获
1回复

在循环中使用 Pandas 数据读取器创建多个数据框

我正在尝试使用带有 Pandas 数据读取器和 yahoo_finance 的 for 循环创建多个数据框。我有一个列表,每个条目都是一个公司名称: Brazilian_stock_list = ['AALR3.SA','ABCB4.SA','ALSO3.SA','ALUP11.SA','AMAR
7回复

Python pandas datareader 不再适用于 yahoo-finance 更改的 url

由于雅虎停止了他们的 API 支持,pandas datareader 现在失败了 是否有任何非官方图书馆允许我们暂时解决这个问题? Quandl 上有什么吗?