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

fix-yahoo-finance offers a temporary fix to the problem by using Selenium to scrape the data from Yahoo! finance and return a Pandas DataFrame/Panel in the same format as the original get_data_yahoo() method.

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

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

Installation

  1. Install fix_yahoo_finance using pip:

$ pip install fix_yahoo_finance --upgrade --no-cache-dir
  1. Install Chrome Driver

$ wget https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip
$ mv chromedriver /usr/local/sbin/chromedriver

* The above code is for Linux 64bit. Other OS version are listed here.

Setting Chrome Driver Location

If you can’t / won’t install the Chrome driver in your system’s $PATH, you can explicitly tell fix-yahoo-finance the location of the Chrome driver executable:

import fix_yahoo_finance
fix_yahoo_finance.set_chromedriver_path('/path/to/chromedriver')

Then, simply continue normally.

Requirements

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.4.tar.gz (8.4 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for fix-yahoo-finance-0.0.4.tar.gz
Algorithm Hash digest
SHA256 85d86859f0a2d53654dac9a1acd21591cdf6871c9f4adeceadabda221aaecebf
MD5 8b0d2537f65a3021a9e69c02301e5981
BLAKE2b-256 c2ddd51d00f41e6145fc0d219a0bed0c4ca05bb3d74c4cc6d4f39e368acfb1d6

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