How is it possible that all currency exchange rates are fixed w.r.t. to each other? I wondered if it would be beneficial to exchange a currency through one or more "in-between" currencies.

For example: instead of trading Russian Ruble (RUB) to Euro's (EUR), one would trade from RUB to US Dollars (USD) and then to EUR.

Neglecting exchange costs, I expected that there would be some difference in the resulting amount of money.

I tried this out in an Excel sheet, using data from Floatrates. 


I first imported an xml of all the RUB exchange rates (column C in the Excel).
Then I imported an xml of all the EUR exchange rates (column G in the Excel).
By inverting the latter I found how much EUR every currency was worth (column H in the Excel).
Then I multiplied the column C with column H to find the resulting value.


What I found is that the resulting amount of money stayed the same, regardless of which currency I went through.

How can this be? Is my method of calculating the resulting amount of money perhaps incorrect?
International currency markets are highly liquid, with near-instant transfer of knowledge between trading centres.

This means that any arbitrage opportunities tend to get resolved within seconds.

To put it simply, the thing you tried to do, of trading two currencies via a third, is something that lots of real-world currency traders, and their automatic trading programs, are trying to do all the time; so any discrepancies are quickly mopped up by the market.