What is Triangular Arbitrage?
Triangular Arbitrage is used when a trader would like to use the opportunity of exploiting the arbitrage opportunity from three different FX currencies or Cryptocurrencies. Triangular Arbitrage happens when there are different rates within the trading venue/s.
In practice, Triangular Arbitrage refers to a trading opportunity when there’s a discrepancy between the rates of three currencies such that they do not exactly match up. One can then place simultaneous trades to buy one currency and sell another, both trades being conducted in a third currency, and benefit from the discrepancy in exchange rates.
Here’s an example. Let’s say the BTC to the XRP exchange rate is 0.00002645. So, when you spend 1 BTC, you get 31697.38 XRP. With this 31697.38 XRP, you purchase Ethereum XRP to ETH exchange rate of say 677.0367. So, you now have 56.98 ETH If the ETH to BTC exchange rate is 56.17, then you can exchange your 56.98 ETH for BTC and get back 0.81 ETH. Here, you’ve successfully executed a Triangular Arbitrage by spending 1 BTC and getting back BTC 1.014. That’s the profit with no risk since these trades are conducted simultaneously.
Disclaimer: the rates and numbers provided on the rates are for example purposes only and do not portray the real situation of the market.
Essentially Triangular arbitrage exploits an inefficiency or imperfection present in the market where one currency is overvalued while another is undervalued. Triangular Arbitrage is also known as Cross Currency Arbitrage or Three-Point Arbitrage.
Traders who would like to take advantage of Triangular Arbitrage need to consider the trading fee, on some occasions the fee to perform the Triangular Arbitrage could surpass the profit of the process.
Why and when to use Triangular Arbitrage:
To name some of the advantages of Triangular arbitrage following comes to mind:
- Triangular Arbitrage is basically a risk-free trading strategy that allows traders to make a profit with no open currency exposure
- Ability to make profits in an unstable market, such as Cryptocurrency market
Pulling Triangular Arbitrage off requires constant monitoring, processing data to find opportunities and high speed of reactions with the execution of opportunities. This is not possible with manual trading and robust technological infrastructure is needed. Though with the advancement of technology in recent decades, such opportunities are getting fewer and fewer. Many HFT firms are equipped with complex trading algorithms and computer programs that are able to move faster than any retail trader and take advantage of the mispricing the very millisecond the chance to do so appear.
Just like any other arbitrage strategies, the market will return to the equivalent level once traders start to exploit the pricing inefficiencies that are present in the market. These opportunities are therefore often around for a very short period of time. Hence, speed in identifying such opportunities and the ability to react quickly are needed to effectively profit.
A look on the Triangular Arbitrage algorithm (Empirica’s version):
Our strategy GUI will start with subscribing to desired instruments. Those instruments should correspond to the picked-up triples (covers the full set of used instruments). Subscription deepness (number of the bid and ask levels that strategy would analyze) is given by parameters for different instrument groups. Every time there is an update in the order book, the strategy checks if it should also update, this occurs either on the bid or the ask side.
The strategy continuously looks for triplets that were specified. Each triplet contains a potential list for arbitrage. Next to every triplet from the list, there are exchange rates with an arbitrage opportunity. Once the opportunity is found, the strategy performs arbitrage simulation which should result in the following results:
- Returns a potential outcome of an arbitrage
- Returns volumes and price of limit orders that the strategy could execute
- The strategy checks if all limits are held (set by exchange and user)
When all potential outcomes for all selected triplets are known, the strategy compares
the results of simulations and picks up the one with the highest potential return. Prior to that, thestrategy immediately starts sending already prepared orders. All triplet instruments are added to the blocked instruments list.
An order for the first instrument is sent with volume calculated during the simulation. After an order has been sent, the strategy sets a timeout (with the time given in a parameter) for whole arbitrage. If there are orders left on the market (or orders waiting for to be sent) on timeout – all these orders should be immediately cancelled and arbitrage should be marked as failed.
Statistics have updated order for the second instrument is sent proportionally to the volume realized for the instrument. This action is repeated until the volume reaches 100%.
An order for the third instrument is sent analogically. This way, in case of some lags, at least part of arbitrage will be executed.
Both, completed and failed arbitrages are logged and their outcomes are added to statistics. Any instrument could be taken from the blocked instrument list, only when all volume prepared for that instrument in particular arbitrage will be executed or arbitrage will be marked as a failed one.
When arbitrage is finished (completed or failed), the strategy returns to waiting for next order book update with potential arbitrage conditions state. An instrument is removed from the blocked instrument list when all volume prepare for that instrument in particular arbitrage is executed or if arbitrage is marked as failed.