Skip to main content

Temporary fix for Pandas Datareader's get_data_yahoo()

Project description

Yahoo! Finance Fix for Pandas Datareader

Python version Travis-CI build status PyPi version PyPi 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 offers a temporary fix to the problem by scraping the data from Yahoo! finance using and return a Pandas DataFrame/Panel 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 »


Quick Start

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

# download Panel
data = pdr.get_data_yahoo(["SPY", "IWM"], start="2017-01-01", end="2017-04-30")

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

Below is the full list of acceptable parameters:

data = pdr.get_data_yahoo(
            # tickers list (single tickers accepts a string as well)
            tickers = ["SPY", "IWM", "..."],

            # start date (YYYY-MM-DD / datetime.datetime object)
            # (optional, defaults is 1950-01-01)
            start = "2017-01-01",

            # end date (YYYY-MM-DD / datetime.datetime object)
            # (optional, defaults is Today)
            end = "2017-04-30",

            # return a multi-index dataframe
            # (optional, default is Panel, which is deprecated)
            as_panel = False,

            # 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 dividend + stock splits data
            # (optional, default is None)
            # options are:
            #   - True (returns history + actions)
            #   - 'only' (actions only)
            actions = True,

            # How may threads to use?
            threads = 10
        )

It can also be used as a stand-alone library (without pandas_datareader) if you want:

import fix_yahoo_finance as yf
data = yf.download("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.0.19.tar.gz (10.4 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for fix-yahoo-finance-0.0.19.tar.gz
Algorithm Hash digest
SHA256 9b72ef8ec4d8f3a076bbedcc1caf45a10450364267c5317aff5b2359cbac7622
MD5 695ba81c70791d4f5d6cc97e4c15596a
BLAKE2b-256 46810dbb0bc14da4f6a2323d2a5d6435bd5f0d33e34a0979dee9a4e81c4dfdf2

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