Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

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?

share|improve this question
I rather work on a multivariate brownian motion problem than answer this. Such kind of data cleansing or data filling is a nasty and very time consuming issue. I would have suggested checking your dates (as you use a German version for yahoo and maybe you ended up requesting 6/2, 2008 vs 2/6/2008 data) but then the opening price is identical. Good luck! In general keep in mind this is not Bloomberg, and you always get what you....... –  Matt Wolf Jun 20 '13 at 17:01
I did not end up requesting the wrong date, you can check it. –  Ivanov Jun 20 '13 at 17:19
Related question: quant.stackexchange.com/q/942/1587 –  Darren Cook Jun 27 '13 at 6:16
Yup. Seeing this with a lot of data comparing Yahoo and Google feeds. January/February 2015. Different prices at the same time and therefore, different times for the peaks and troughs. Different technical indicator values. Radically different! What's up with this douchebaggery? –  Douglas Sweet Mar 5 at 21:57

2 Answers 2

up vote 6 down vote accepted

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

share|improve this answer

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.