Skip to content
All library documents

Why Historical Stock Prices Differ Across Data Providers

Article Quant Q&A · Author: Ivanov

Summary

The document explains why historical OHLCV records for the same listed share can disagree across Google Finance and Yahoo Finance. Possible causes include distinct vendors and trading platforms, different aggregation rules, post-trade corrections, corporate-action adjustments, and differences between intraday trade data and official end-of-day records. The Adidas example illustrates that discrepancies may affect the high, low, close, and volume even when the opening price matches.

For resolving a questionable observation, the answers recommend checking the company's investor relations records and, when available, the exchange’s historical data. The exchange may distinguish venues such as Xetra and Frankfurt, so the listing or platform matters. One answer identifies Google and Yahoo data suppliers, though it notes uncertainty about the precise Yahoo source. The discussion gives no universal way to fill missing dates, and it does not establish that one provider is always more accurate. Researchers should choose a source and definition suited to their analysis, then apply it consistently.

Key ideas

  • Price histories for the same security can differ because vendors use different sources and aggregation rules.
  • Intraday trade data and official end-of-day records may produce different OHLC values.
  • Corporate actions, dividends, and later corrections can change historical records.
  • Check company investor relations data or exchange records to investigate a disputed observation.
  • A missing observation needs a data policy chosen for the intended analysis; the document gives no universal fill method.

Tags

Full text
# Difference between google finance and yahoo finance?


# Difference between google finance and yahoo finance?












I am wondering about the huge differences of the data provider google finance and yahoo finance. I am interested in the monthly data from adidas listed on xetra. In google: ETR:ADS and in yahoo finance: ADS.DE - Xetra.

There is a huge difference in the data, e.g. consider the 02.06.2008:

google finance:

```
Date             Open    High   Low     Close   Volume 
Jun 2, 2008     45.49   45.60   44.93   45.05   1,037,644
```

yahoo finance (german):

```
Datum   Eröffnungskurs  Max.    Tief    Schluss Ø Volumen   Adj. Schluss* 
2. Jun 2008 45,49   46,48   39,39   40,11   1.603.100   38,34
```

As you can see the open ("Eröffnungskurs") is the same. But all other values are different. So currency seems not to be the problem. But why are these values so different?

Also, why is there a yahoo finance gap in August 2008? I don't get the value of the 01.08.2008 but the 18. Aug 2008 instead? Since I am using the yahoo finance data I have to fill in this gap, what value / what method would be appropriate?

## Answer by Eli (score 10, accepted)

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

The difference is usually explained by

- the way the end-providers (Google, Yahoo) aggregate the data they get from their vendors

- getting prices from same exchange, but from different trading platforms

- different adjustments and corrections during post trading period

- missing corporate actions or dividends and many more.

If you have a discrepancy in a price usually it's a good practice to check Investor Relations section on company's website. For example, for Adidas you'd see that the correct value for 6/2/2008 is 45.05.

The ultimate source, of course, would be checking the exchange for that price. If exchange allows to get the price that far back one should use that value. Frankfurt Stock Exchange in this case allows you to get this period. Note that there are two tabs: Xetra and Frankfurt, they simply represent two different trading platforms.

Yahoo, btw, is getting stock data from Hemscott (which was acquired by Mornignstar.) Hemscott is not the most accurate source of EOD stocks. Google is getting the data from SIX Financial (former Telekurs).

## Answer by Dan Dunn (score 11)

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

There are so many different data providers, and they all end up using slightly different definitions. For Google, it looks like they use Deutsche Börse (Google) as a data source. I can't tell what Yahoo Deutschland is using.

I think your real question, though, is why the different data providers have different answers to the same questions. The answers aren't as clear-cut as you'd think, and the specific rules the data providers use make all the difference. I bet that Yahoo is using an intraday datasource. Open-high-low-close-volume data comes from the trade tick data - open is first tick, close is last tick, etc. That trade data could be coming from any number of exchanges, not just the exchange of record. Google is clearly using an end-of-day data provider, in this case the official exchange record. It's often hard to tell what rules the exchanges use for their "official" data. The end result is that the intraday and end of day rarely exactly match because they are derived from different streams of data.

You can drive yourself crazy with stuff like this. You have to decide what matters for your purposes, and then settle on a datasource that can provide that, and then ignore the noise that surrounds it.

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.