I was able to solve the following problem and find the arbitrage but only after spending a long time on it and trying out different possibilites. Is there a method or technique that can help me find the arbitrage faster and in a more efficient way rather than just trying out different possibilites?

Dealers $A$ and $B$ use the following exchange rates:

$$ \begin{array}{l|l|l} \text{dealer } A & \text{Buy} & \text{Sell} \\\hline \text{EUR } 1 & \text{USD } 1.018 & \text{USD } 1.0284 \\ \text{GBP } 1 & \text{USD } 1.5718 & \text{USD } 1.5944 \\ \end{array} $$

$$ \begin{array}{l|l|l} \text{dealer } B & \text{Buy} & \text{Sell} \\\hline \text{EUR } 1 & \text{GBP } 0.6354 & \text{GBP } 0.6401 \\ \text{USD } 1 & \text{GBP } 0.6309 & \text{GBP } 0.6375 \\ \end{array} $$

Find an arbitrage opportunity.

My answer:

  • Borrow 1 British pound (GBP)

  • Go to dealer B and exchange your pounds for euros (1.5623 euros)

  • Go to dealer A and exchange euros for dollars (1.5904)

  • Go to dealer B and exchange dollars to pounds (1.0034 pounds)

  • Return the 1 pound you borrowed and you just made 0.0034 pounds

There is an arbitrage of 0.0034 pounds.

  • 1
    $\begingroup$ It could be reduced to a directed graph, but you would still have to try every loop in the graph to see if it earns a profit. $\endgroup$
    – Alex C
    Feb 7 '16 at 22:15
  • 2
    $\begingroup$ Is that a real life example? If so ... Are you taking into account transaction costs on that calculation? Including withdrawal costs from dealers? Also, are you sure that both dealers quote the currencies without delay and lock-in the rate once the order is placed? $\endgroup$
    – phdstudent
    Feb 7 '16 at 22:55
  • 2
    $\begingroup$ The transaction cost is the bid-ask spread, so it is taken into account already $\endgroup$
    – Alex C
    Feb 7 '16 at 23:29
  • $\begingroup$ @volcompt this is just a simple question from my financial mathematics class, not a real life example $\endgroup$
    – idknuttin
    Feb 7 '16 at 23:56
  • $\begingroup$ fatvat.co.uk/2010/07/foreign-exchange-arbitrage.html $\endgroup$ Oct 6 '16 at 23:21

Can't wait to see you implement it in real life... You will experience so many uncontrolled variables and scenarios...

One common scenario is: you see what you think is a good price... Then you aggress on it... By the time you are filled, your entire great arbitrage formula is gone. (It is not enough for you to be fast - in nanoseconds - you would also have to interact with all the players)


As far as I know, the answer is yes and people do it all the time. There's something to add to the textbook example though. First the bid/ask spread on FX spot market is usually much tighter, meaning the room for taking advantage of the such arbitrage is smaller than you think (or you would need huge capital to leverage this kind of trade). For some currency pairs with wider spread, it usually means the liquidity is poorer, and you probably won't be able to execute large trade at the displayed best price. Secondly the spot date of the currency pairs may not be the same (depending on the holiday schedule of different countries), so you'd have to take the real interest rate into consideration.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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