解决 pandas_datareader 无法获取雅虎财经数据的问题

最近在学习用Python编程量化交易,在下载数据的时候发现了以下问题。

之前可以从雅虎财经下载股票数据。

比如下载601318的股票数据代码是:


import pandas_datareader as web

start_date = '2020-01-01'

end_date = '2020-03-18'

data = web.data.DataReader('601318.ss','yahoo',start_date,end_date)


但是现在(看了看,是从2021年开始),发现雅虎不提供中国服务了,所以通过以上的方法就无法获得数据源了。

通过在网上找方法,找到了以下解决方法,验证可行,可以通过。

首先安装fix-yahoo-finance,但是显示无法安装。原来是:fix-yahoo-finance的安装包被重命名为yfinance。

于是安装yfinance包。

pip install yfinance --upgrade --no-cache-dir。

然后导入模块,便可以使用。


import pandas_datareader.data as web  #也可以用from pandas_datareader import data as web

import datetime

import fix_yahoo_finance as yf

yf.pdr_override()  #这一行代码非常重要

start_date = datetime.datetime(2020,1,10)

end_date = datetime.datetime(2020,3,18)

data = web.get_data_yahoo('601318',start_date,end_date)


当然,跟电脑环境有关系,如果以上不能实现数据获取的,那就用 tushare 模块吧。

import tushare as ts

data = ts.get_hist_data('000001',start='2021-11-01',end='2021-12-01')

当然,前提条件是安装模块,pip install tushare --upgrade

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容