Skip to content
All library documents

Checking Historical Stock Price Data Across Sources

Article Quant Q&A · Author: Mustard Tiger

Summary

The document discusses whether Yahoo Finance data accessed through a Python package is reliable for historical daily open and close prices. The questioner distinguishes actual closing prices from adjusted closes and asks about alternatives. Responses suggest using other Python data access tools and recommend checking the data directly rather than relying on a general assurance of accuracy.

One proposed validation method is to sample dates and securities, retrieve prices from multiple providers, compare the observations, and investigate discrepancies. The answers also raise a limitation: historical prices may be revised over time, and one respondent doubts that Yahoo will provide a record of those changes. Premium or academic data services are mentioned as alternatives, but the post provides no systematic accuracy study, benchmark results, or guidance on corporate actions and data definitions. Reliability therefore depends on the intended use and should be verified against independent sources.

Key ideas

  • The question concerns historical daily open and close prices, rather than adjusted close prices.
  • A suggested check is to compare randomly selected assets and dates across multiple data providers.
  • Discrepancies should be investigated instead of assuming that a source is accurate.
  • The responses warn that historical prices may change and mention premium or academic data services as alternatives.
  • The document offers opinions and a validation approach, but no measured comparison of provider accuracy.

Tags

Full text
# accuracy of Yahoo Finance stock data (Python module)


# accuracy of Yahoo Finance stock data (Python module)












I am using the yahoo finance python module: https://pypi.python.org/pypi/yahoo-finance

I am using it for a project and would like to see if anybody else uses data from this source and can vouch for its reliability and accuracy.

For my purposes I just need an accurate open and close price. If anybody has any experience to share regarding the accuracy of this python module please let me know.

Also if there are any suggestions regarding alternate data sources for historical open and close prices they would be appreciated.

Edit: I am not concerned with accurate adjusted close prices, for the time being just actual close price that occurred the day of.

## Answer by e.mal (score 1)

https://quant.stackexchange.com/a/25993

Look at matplotlib.finance

It downloads data from yahoo finance as well but it is much quicker than the package that you are mentioning.

Regarding the reliability, I think that the data source is quite reliable.

## Answer by michael_j_ward (score 0)

https://quant.stackexchange.com/a/27597

First, if you are using python for this, I would recommend that you take a look at pandas in general and the pandas data reader package

If data reliability is a concern, I recommend that you self-verify by randomly selecting dates and assets, pulling data from multiple sources (like say yahoo, google, and Quandl) and checking them against each other and investigating any discrepancies.

## Answer by Ted Taylor of Life (score 0)

https://quant.stackexchange.com/a/28130

The biggest problem you face is that prices can be updated over time and I do not think, to the best of my knowledge that Yahoo, will do that for you.

I would recommend a premium data source such as https://www.quandl.com/browse?filterBy=Premium&idx=database-browser_stock-data_united-states_stock-prices-end-of-day-current-and-historical as michael_j_ward stated.

You may also want to give Thomson Reuters Sirca a look as well as Bloomberg BBG ( these resources are great if you know anyone at an academic institution) as well as the Wharton Databases.

Good Luck!

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.