如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错?

人工智能

python,大数据,机器学习,深度学习,计算机视觉

如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错?

问题

在matplotlib 2.2.0版本以前,使用from matplotlib.finance import quotes_historical_yahoo_ohlc包导入的函数可以获取雅虎财经网站股票数据,使用from matplotlib.finance import candlestick_ochl导入的candlestick_ochl函数可以画出股票K线图。
但自matplotlib 2.2.0版本后,matplotlib.finance从matplotlib中剥离了,所以需要单独安装两个包来替代:pandas_datareader 和 mpl_finance。

注:mpl_finance是matplotlib.finance改的新名字,但新包没有了quotes_historical_yahoo_ohlc这个API方法,所以需要再安装pandas_datereader包用来获取数据

方法

1.安装 mpl_finance

目前mpl_finace这个包还没有放入PIP的仓库中,所以使用直接pip install mpl_finance会提示找不到所需要的包。所以我们要到官方网站去下载:https://github.com/matplotlib/mpl_finance/archive/master.zip
以win系统为例,有两种安装方法:
(1)打开cmd命令行窗口,直接输入pip install https://github.com/matplotlib/mpl_finance/archive/master.zip
效果如下:
在这里插入图片描述
(2)将https://github.com/matplotlib/mpl_finance/archive/master.zip下载到本地,然后再pip 本地目录/master.zip

对于Linux系统,可以用git clone git@github.com:matplotlub/mpl_finance.git命令下载,下载后进入该目录,再执行sudo python setup.py install命令即可。
附:目前mpl_finance的版本还是dev版,但用起来暂时未发现问题。

调用方法
import mpl_finance as mpf
...
# mpf.candlestick_ochl(参数1, 参数2, ...)
mpf.candlestick_ochl(ax, quotes, width=0.2, colorup='k', colordown='r', alpha=1.0) # quotes是获取的股票数据,要显示在K线图上
2.安装 pandas_datareader

打开cmd命令窗口输入pip install pandas-datareader -i https://mirrors.aliyun.com/pypi/simple,如下图:
在这里插入图片描述下面解释为什么用这个命令:

  • 首先注意:安装该包的时候命令用的是pandas-datareader(横线),但代码中使用该包的时候import pandas_datareader as pdr用的是pandas_datareader(下划线)
  • 直接pip install pandas-datareader出现错误提示:Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError。如下:
    在这里插入图片描述所以我们要换其他pip源,国内知名的pip源如下:
    阿里云:https://mirrors.aliyun.com/pypi/simple
    豆瓣:https://pypi.douban.com/simple/
    清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
    中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple
    命令写法为:pip install 安装包名 -i 其他pip源的url,如上面的pip install pandas-datareader -i http://mirrors.aliyun.com/pypi/simple
    另外,使用这些pip下载可以提高下载速度,大大加速。

同理也可以用类似上面的github来安装。可以参考官方文档https://pandas-datareader.readthedocs.io/en/latest/

调用方法
import pandas_datareader as pdr
...
# 法1:用get_data_yahoo()函数来读取
data= pdr.get_data_yahoo('INTC', '2019/10/1', '2019/11/1') # INTC 即 intel英特尔返回DataFrame格式
# 法2:用DataReader()函数来读取
data2= pdr.DataReader("600797.SS", "yahoo", date1, date2)
# 除了雅虎,还可以获取Google、Facebook等的金融数据
"""
Facebook Finance
Yahoo Finance 雅虎金融
Google Finance 谷歌金融
Enigma//Enigma是一个公共数据搜索的提供商
World Bank//世界银行
OECD//经合组织
Eurostat//欧盟统计局
"""
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值