My algorithm needs to extract the forex data of the last 48h (hourly) to get the last close price and to calculate the MACD.

I use Google Finance api becouse is the only which provides free forex intraday data on-the-fly. But I realized that the close prices doesn't match with the binary.com service.

Futhermore, I tried to get the close price of a single day: 30st of January 2017. Here is the dramatic diference between binary.com, google, yahoo and wall street journal, on AUDJPY currency pair:

Binary.com -> 86.008   ¿?
Google     -> 85.9793
WSJ        -> 86.98
Yahoo      -> 86.6158

What a huge difference, isn't it?

And for instance, this is the difference when comparing an specific hour (EURGBP at 2017/02/01 09:00am):

Google     -> 0.858969
Binary.com -> 0.85573
  • I've heard that some of providers uses Adj. Close and other don't, but why there is a huge different between three of them?
  • Those differences may gum up a prediction using linear regression algorithm? How much should I worry about that?
  • How may I retrieve the closest data to binary.com?

2 Answers 2


My actual area of research is equity securities, however, I was once called upon to evaluate an algorithm for fx trading as part of a due diligence. FX isn't centrally traded. There isn't a single feed. They cannot match because there isn't a unified price. It will gum up your regression. It is probably impossible to find out where they are getting their quotes from except for binary. US law does not regulate FX, generally, and so binary is free to quote any price they want, even if it is far from the prices the banks are quoting.

That is somewhat common in the US because of the high leverage. It allows them to sweep up a lot of extra money by capturing built up customer distortions. So their quotes are canonical for the users of their system, which does not have to be strongly linked to the global system.

If you were in Europe, however, there is a regulatory structure that provides oversight. My guess, and it is purely a guess, is that the regulatory structure would impose price discipline and reporting discipline. That is absent from any US data source. Unlike the US stock market, which has a system for "off the tape" trades in the stock market, there is no similar structure in fx.

If I suddenly had to trade FX in the US for some reason, I would do it by proxy through foreign and US dollar denominated bonds, options and forwards. I would avoid direct trade like the plague.

You are trying to model something where the data is being measured with error. Use extra caution and be sure to use an "errors-in-variable," model of some form or you will have attenuation bias.

I can tell you that whatever you do, be certain you have a long set. Quite a few models are sensitive to the starting point of the series. Drop the same model in a different point in the series and it won't work at all. Lots of models come apart under strict scrutiny. This class of model is really hard to evaluate because of the data source limitations.


The FX market opens every Monday at 7am Wellington NZ time when the Kiwi value date rolls. It closes at 5pm NYK time.

So you can only get weekly closing price data.

Also, there's no difference in spot pricing methodology between US, Europe or Asia. Why would there be? The same method works everywhere.

The reason for price differences between venues is the spread offered to different clients. Whereas the FX spot pricing methodology is the same everywhere because market makers lock in risk free arbitrage against anyone with off market prices. That player then either stops pricing or adjusts their prices to get back to the market pricing (buy low sell high) or they will soon lose their capital base because their bid is higher than the market offer (buy high sell low) or their offer is lower than the market bid (sell low buy high) and that's risk free arbitrage for everyone else.

Further, like most financial asset classes you never know what the next deal is gonna be, so the next price is unpredictable.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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