Skip to main content

Yahoo! Finance market data downloader +fix for Pandas Datareader's get_data_yahoo()

Project description

Yahoo! Finance Fix for Pandas Datareader

Python version PyPi version PyPi status Travis-CI build status Star this repo Follow me on twitter

Yahoo! finance has decommissioned their historical data API, causing many programs that relied on it to stop working.

fix-yahoo-finance fixes the problem by scraping the data from Yahoo! finance and returning a Pandas DataFrame in the same format as pandas_datareader’s get_data_yahoo().

By basically “hijacking” pandas_datareader.data.get_data_yahoo() method, fix-yahoo-finance’s implantation is easy and only requires to import fix_yahoo_finance into your code.

Changelog »


==> Check out this Blog post for a detailed tutorial with code examples.


Quick Start

The Ticker module

The Ticker module, which allows you to access ticker data in amore Pythonic way:

import fix_yahoo_finance 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

Fetching data for multiple tickers

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

I’ve also added some options to make life easier :)

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

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

        # 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
    )

pandas_datareader override

from pandas_datareader import data as pdr

import fix_yahoo_finance 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")

Installation

Install fix_yahoo_finance using pip:

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

Requirements

Optional (if you want to use pandas_datareader)

P.S.

Please drop me an note with any feedback you have.

Ran Aroussi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fix-yahoo-finance-0.1.28.tar.gz (11.4 kB view details)

Uploaded Source

File details

Details for the file fix-yahoo-finance-0.1.28.tar.gz.

File metadata

  • Download URL: fix-yahoo-finance-0.1.28.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for fix-yahoo-finance-0.1.28.tar.gz
Algorithm Hash digest
SHA256 9a84a69519d6033e90010672ad2f2f2c92aae14076e2ff7b4feebc25310d27dc
MD5 07ea830011fcdc80fe879c2d28964fcf
BLAKE2b-256 634f3c37014bbe1a25d50680462bb14302646bbb5698ff1777d8f1e02364896c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page