Say we have these bid/ask rates usd.cad 1.0613 1.06135 eur.cad 1.4418 1.442 eur.usd 1.3586 1.35865 For fast execution you would buy at the ask and sell at the bid. You start with 100K Buy CAD and end up with 106135 Sell CAD for EUR and end up with 73612.8450547926 Buy USD with the EUR and end up with 100014.091933694 That is a profit of $14.09. Ignore the rounding. So profit = (((units*a1) / b2) * a3) - units a1 = Ask for USD.CAD b2 = Bid for EUR.CAD a3 = Ask for EUR.USD Something is wrong because I end up loosing money. Also the synthetic bid ask rates are not off by much. USD.CAD 1.0612395113 1.0613476613 EUR.CAD 1.44188218 1.4420031775 EUR.USD 1.3585225667 1.3586470062 Someone please tell me what I'm doing wrong.
Show your fills so we can read the fill prices. You should make money based on the prices you showed.
If you are a price-taker then you cannot buy CAD at 1.06135. You must buy at 1.0613. Sell USD/CAD at 1.0613 (selling 100,000 USD), receive 106,130 CAD If you are a price-taker then you sell CAD (buy EUR) at 1.442 Buy EUR/CAD at 1.442 (selling 106,130 CAD), receive 73,599.16782 EUR If you are a price-taker then you buy USD at 1.3586 Sell EUR/USD at 1.3586 (selling 73,599.16782 EUR), receive 99,991.829 USD
I believe you did not answer his question, but may have answered a question you thought he should ask.
Thanks m22au. Actually you can buy at 1.06135 (I did it), but the problem is that I was multiplying instead of dividing. I get the loss now.
It's nice to understand the relationships, but a complete waste of time to calc a triangular arb on your dealer's platform. It's how they maintain their pricing. For example, all of the crosses on IB's platform are derived by pricing the synthetic (two of three crosses necessary). Does anyone think they're going to find an arb within a single dealer?
I am all for arb opportunities on dealer platforms and exploited Oanda's digitals and knockouts for a long time, but nobody is going to screw up the three-way.