Skip to main content

雅虎!金融市场数据下载器

项目描述

雅虎!Finance-ng python3 / pandas 行情数据下载器

建造 蟒蛇版本 派皮版本 PyPi 状态 PyPi 下载 为这个 repo 加注星标 在推特上关注我

自从雅虎!Finance停用了他们的历史数据 API,许多依赖它的程序停止工作。

yfinanceng旨在通过提供可靠、线程化和 Pythonic 的方式从 Yahoo! 下载历史市场数据来解决这个问题。金融。

笔记

该库最初命名为yfinance,但我已将其重命名为yfinanceng ,因为我不再认为它仅仅是“修复”,而且作者也没有及时维护它或合并 PR。

变更日志 »


快速开始

代码模块

Ticker模块,它允许您以更 Pythonic 的方式访问代码数据:

import yfinanceng 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 heet
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

# get option chain for specific expiration
opt = msft.option_chain('YYYY-MM-DD')
# data available via: opt.calls, opt.puts

如果要使用代理服务器下载数据,请使用:

import yfinanceng 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")
msgt.option_chain(..., proxy="PROXY_SERVER")
...

要初始化多个Ticker对象,请使用

import yfinanceng as yf

tickers = yf.Tickers('msft aapl goog')
# ^ returns a named tuple of Ticker objects

# access each ticker using (example)
tickers.msft.info
tickers.aapl.history(period="1mo")
tickers.goog.actions

获取多个代码的数据

import yfinanceng as yf
data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30")

我还添加了一些选项让生活更轻松 :)

data = yf.download(  # or pdr.get_data_yahoo(...
        # tickers list or string as well
        tickers = "SPY AAPL MSFT",

        # use "period" instead of start/end
        # valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
        # (optional, default is '1mo')
        period = "ytd",

        # fetch data by interval (including intraday if period < 60 days)
        # valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
        # (optional, default is '1d')
        interval = "1m",

        # group by ticker (to access via data['SPY'])
        # (optional, default is 'column')
        group_by = 'ticker',

        # adjust all OHLC automatically
        # (optional, default is False)
        auto_adjust = True,

        # download pre/post regular market hours data
        # (optional, default is False)
        prepost = True,

        # use threads for mass downloading? (True/False/Integer)
        # (optional, default is True)
        threads = True,

        # proxy URL scheme use use when downloading?
        # (optional, default is None)
        proxy = None
    )

pandas_datareader覆盖

如果您的代码使用pandas_datareader并且您想更快地下载数据,您可以“劫持” pandas_datareader.data.get_data_yahoo()方法来使用 yfinanceng,同时确保返回的数据与 pandas_datareaderget_data_yahoo()格式相同。

from pandas_datareader import data as pdr

import yfinanceng as yf
yf.pdr_override() # <== that's all it takes :-)

# download dataframe
data = pdr.get_data_yahoo("SPY", start="2017-01-01", end="2017-04-30")

安装

使用pip安装yfinanceng

$ pip install yfinanceng --upgrade --no-cache-dir

使用conda安装yfinanceng

$ conda install -c larroy yfinanceng

要求

可选(如果你想使用pandas_datareader

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

yfinanceng-0.1.58.tar.gz (20.0 kB 查看哈希

已上传 source

内置分布

yfinanceng-0.1.58-py2.py3-none-any.whl (22.8 kB 查看哈希

已上传 py2 py3