当前位置: 首页 > 软件库 > 应用工具 > 下载工具 >

Yfinance

雅虎金融市场数据下载器
授权协议 Apache-2.0
开发语言 Python
所属分类 应用工具、 下载工具
软件类型 开源软件
地区 不详
投 递 者 马权
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

自从雅虎金融部门停用了他们的历史数据 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