自从雅虎金融部门停用了他们的历史数据 API 后,许多依赖它的程序都无法正常工作。yfinance 旨在通过提供一种可靠、线程化和 Pythonic 的方式从 Yahoo 金融下载历史市场数据来解决这个问题。
Ticker 模块
该Ticker
模块允许你以更 Pythonic 的方式访问股票数据:
注意:雅虎金融的日期时间接收为 UTC。
import yfinance as yf msft = yf.Ticker("MSFT") # get stock info msft.info # get historical market data hist = msft.history(period="max") # show actions (dividends, splits) msft.actions # show dividends msft.dividends # show splits msft.splits # show financials msft.financials msft.quarterly_financials # show major holders msft.major_holders # show institutional holders msft.institutional_holders # show balance sheet msft.balance_sheet msft.quarterly_balance_sheet # show cashflow msft.cashflow msft.quarterly_cashflow # show earnings msft.earnings msft.quarterly_earnings # show sustainability msft.sustainability # show analysts recommendations msft.recommendations # show next event (earnings, etc) msft.calendar # show ISIN code - *experimental* # ISIN = International Securities Identification Number msft.isin # show options expirations msft.options # show news msft.news # get option chain for specific expiration opt = msft.option_chain('YYYY-MM-DD') # data available via: opt.calls, opt.puts
如果要使用代理服务器下载数据,请使用:
import yfinance as yf msft = yf.Ticker("MSFT") msft.history(..., proxy="PROXY_SERVER") msft.get_actions(proxy="PROXY_SERVER") msft.get_dividends(proxy="PROXY_SERVER") msft.get_splits(proxy="PROXY_SERVER") msft.get_balance_sheet(proxy="PROXY_SERVER") msft.get_cashflow(proxy="PROXY_SERVER") msft.option_chain(..., proxy="PROXY_SERVER") ...
要使用自定义requests
会话(例如缓存对 API 的调用或自定义User-agent
标头),请将session=
参数传递给 Ticker 构造函数。
import requests_cache session = requests_cache.CachedSession('yfinance.cache') session.headers['User-agent'] = 'my-program/1.0' ticker = yf.Ticker('msft aapl goog', session=session) # The scraped response will be stored in the cache ticker.actions
要初始化多个Ticker
对象,请使用
import yfinance as yf tickers = yf.Tickers('msft aapl goog') # ^ returns a named tuple of Ticker objects # access each ticker using (example) tickers.tickers.MSFT.info tickers.tickers.AAPL.history(period="1mo") tickers.tickers.GOOG.actions
import yfinance as yf data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")
使用pip
安装yfinance
$ pip install yfinance --upgrade --no-cache-dir
pandas_datareader
)还是使用这个网站中 https://aroussi.com/post/python-yahoo-finance pip install yfinance --upgrade --no-cache-dir 如果下载不成功,可以先看看自己需要安装yfinance的环境下的urllib3的版本,使用 conda list 如果是1.26及以上的,建议改为urllib3 1.25.11 pip ins
安装yfinance pip3 install yfinance stock.py 获取股票信息 #!/usr/local/bin/python3 # @Time : 2021/1/28 17:30 # @Author : Paul Ding # @File : stock.py # @Software: PyCharm import pandas as pd from dat
这几天用Python跑yfinance一直都没有问题,昨天晚上睡觉前跑了个程序不知道什么时候断电了,今早起来就发现download功能不好用了,报错: simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 在GitHub上查询到了很多人都碰到了同样的问题,大家比较公认的说法似乎是yahoo fina
fix_yahoo_finance包好像不好用了 现在的名称是yfinance 但使用pip install是找不到yfinance这个包的,在anaconda的environments也没有 可使用 pip install yfinance --upgrade --no-cache-dir 在console中安装 详见: Reliably download historical market d
安装yfinance包 #!env bash pip install numpy pip install pandas pip install requests pip install yfinance 如果是conda环境,可以使用下面的代码安装: #! env bash conda install -c ranaroussi yfinance 然而这样安装还是有可能会失败。如果不是非要用c
1. 背景说明 在 API 列表基础上,FinClip围绕金融特色场景,提供了如下API接口供小程序使用。 需声明的是,使用以下API时,请确保宿主App已经集成对应能力且与FinClip SDK实现联调的第三方功能SDK,否则小程序调用将无法实现相关功能。 具体来说,此类场景包括: 如果App集成了FinClip SDK + 已与FinClip 实现联调的SDK,则此时小程序可以直接调用API,
我正在学习和使用熊猫和蟒蛇。 今天,我想制作一张外汇汇率表,但我在获取美元兑日元的价格时遇到了麻烦。 当我得到‘欧元/美元’的价格时,我会这样编码。 它起作用了。 但是当我写的时候 错误消息如下所示: ---------------------------------------------------------------------------()中的IOError回溯(最近一次调用)---
支持股票、基金、外汇、期权、期货吗? OpenQuant功能上支持以上所有标的。 数据上,目前暂时已接入了中国大陆的A股、期货数据。 其他的数据,例如中国大陆的B股、基金、期权也在接入的计划中;美股、港股、外汇数据会在上述三种数据接入完成再逐步接入。 提供什幺数据? 目前提供的数据有: 股票开盘至今的A股前复权日线数据 2012年8月至今的期货tick数据 A股、指数、期货的标的信息 数据每天什幺
笔试(10.11) 岗位是数据开发,一道编程,几十道选择。难度不大,但涉及面挺广。 一面(10.15) 笔试完,隔天约面,效率很高。 项目介绍,自己的分工 特征选择方法 数据挖掘中对于缺失值的处理方案 说一下Python(pandas)中常用的数据处理算子。 Spark的原理,分布式是怎么搭建的。 Sql中union和union all的区别 数据行转列怎么操作 xgboost和gbdt的区别 x
本文向大家介绍Android仿360市场下载按钮的实现方法,包括了Android仿360市场下载按钮的实现方法的使用技巧和注意事项,需要的朋友参考一下 首先来看看效果图: 无论多复杂的动画我们都是可以分割成小单元的,然后分步来实现。这个动画大概分为收缩,准备,加载,完成几个部分。为此定义一个枚举类来描述view的状态。 收缩动画 使用动画不断改变圆角矩形的宽度,触发重绘。代码如下: onDraw中
用户可以通过空白组件、Echarts组件或者Highcharts组件开发的自定义组件,开发成功后可以发布组件,供自己或者他人使用。 发布组件 发布自定义组件只需要通过简单的几步就可以完成。 选择组件 选择通用图表中的空白组件、Echarts组件或者Highcharts组件。 编写数据 填写静态JSON数据。 编写javascript 填写JavaScript。 填写options 若为Echart