What is Triangular Arbitrage?
Triangular arbitrage (also referred to as cross currency arbitrage or three-point arbitrage) is the act of exploiting an arbitrage opportunity resulting from a pricing discrepancy among three different forex pairs in the foreign exchange market.
A triangular arbitrage deal involves three trades, exchanging the initial currency for a second, the second currency for a third, and the third currency for the initial. During the second trade, the arbitrageur locks in a zero-risk profit from the discrepancy that exists when the market cross exchange rate is not aligned with the implicit cross exchange rate.
A profitable deal is only possible when a market inneficiency arises and if execution times are small. In practice, there is substantial execution risk in employing a triangular arbitrage strategy for retail traders, as execution times are never perfect on the server-side.
A Triangular Arbitrage example
An example of a triangular arbitrage ring is U.S. dollar (USD), British pound (GBP), and Euro (EUR). The forex pairs involved in such an arbitrage opportunity are EUR/USD, GBP/USD and EUR/GBP.
These pairs can be thought of as an algebraic formula with a numerator and a denominator, making up the following expression to find ineffiencies.
EUR/USD - EUR/GBP * GBP/USD = X;
If the result of the above equation is not zero, we know that these forex pairs are not balanced and the market is presenting an inefficiency which we might might be able to profit from.
Given the following prices, for instance, we find that the pairs are unbalanced...
EURUSD = 1.4169
GBPUSD = 1.60655
EURGBP = 0.8821
1.4169 - 0.8821 * 1.60655 = 0,00023
...but the inefficiency is only 2,3 pips, which does not allow us to trade and make a profit after paying the spread of the three forex pairs involved. In order to make a triangular arbitrage trade, the ineffiency that triggers the trade must always be above the combined cost of spread and commissions for the currency pairs involved.
In order to trade, we would need a deeper ineffiency, like the following:
Ask EURUSD = 1.4164
Bid GBPUSD = 1.60658
Bid EURGBP = 0.88210
1.4164 - 0.88210 * 1.60658 = -0,00053
In the above example, we can do the following process...
- We start with 100,000 EUR
- Buy 88.210 GBP @ 0.88210 from 100,000 EUR
- Buy 141.716,42 USD @ 1.60658 from 88.210 GBP
- Buy 100.053,95 EUR @ 1.4164 from 141.716 USD
Making a total gain of 53 EUR after paying transaction costs, which are already computed into the formula above. Please note that for Triangular Arbitrage to be effective, both Bid and Ask prices must be taken into account, depending on the direction at which the deal is going to be processed.
Setting up the EA is fairly easy. Follow these steps:
- 1. Load the EA into the EURUSD chart
- There is no need to load the EA into different charts. Loading it once in the EURUSD chart -or any other chart- is enough for the EA to collect prices from the three pairs in the pair ring and trade.
- 2. Show all instruments in the Market Watch
- Your broker server only sends prices to your metatrader terminal for the symbols you have listed in the market watch. Showing all of them makes sure the EA will be able to read prices from your desired pair ring.
- 3. Enter the appropiate prefix and suffix
- If the symbol names of your broker are plain, such as EURUSD, GBPUSD and EURGBP you can skip this step. But if your symbols are named differently, for example fxEURUSDmini, or EURUSDfx, you need to set the proper prefix and suffix in the inputs, so the EA calls symbol names correctly. For example, if your EURUSD symbol is named EURUSDfx, then you should type "fx" as suffix. If your EURUSD symbol is named fEURUSDmini, then you should type "f" as prefix and "mini" as suffix.
- 4. Done!
- Everything is properly set up now and you'll see data on the screen.
Necessary actions during trading
It is important to constantly monitor the slippage incurred by the EA when executing trades. Since the EA trades combined inefficiencies from 3 pairs, any combined slippage of 3 pips also invalidates the deal and forbids the EA from making profits. The expert tab of the terminal displays the slippage incurred by each trade executed. Pay close attention to it. If the combined slippage for the trades goes above 1.5 pips, it might be a good idea to switch to other broker or find a better network trading location.
Settings and Input Parameters
When loading the expert to any chart, you will be presented with a set of options as input parameters. Don't despair if you think they are too many, because parameters are grouped into self-explanatory blocks.
- In this settings block you can choose which pair set to trade. You'll also need to type the suffix and prefix of the symbol names in your Metatrader platform. For example, if your broker offers the EURUSD symbol named as mEURUSDfx, you must type m as prefix and fx as suffix.
- Trading Settings
- This block controls the behavior of the trading activity.
-Trade Trigger - This parameter controls how deep the inefficiency must be for the EA to trade. A higher value means deeper inefficiencies are needed to trade, but it also means trading will happen less often.
- Profit Target - Amount of pips in profit needed to close the deal. A higher values means deals will be opened for longer. Make sure this parameter is never above the combined spread of the symbols traded.
- Expiration of trades - Optionally, you can select an expiration in time for the trades. This is very effective to cut exposure in situations at which slippage as ruined the trading opportunity.
- Money Manangement
- The starting lotsize is entered into the Lotsize parameter.
- EA Settings
- If you know what you are doing, you can change the Magic Number of the EA and the comment for the placed trades.