Discussion of article "Triangular arbitrage" - page 7

 
Комбинатор:

Can you explain that sentence? I don't understand.

Before you trade arbitrage, you need to set boundary conditions on the volume of open position for each symbol. Let's say, for example, for EURUSD max. volume is 10 lots. Let's assume that you have reached this volume. Accordingly, you cannot open in BUY on EURUSD anymore. That is why you make EURUSD_Ask equal to DBL_MAX. Then there will be no arbitrage situation where EURUSD_Ask is involved and you will not open BUY EURUSD.


Usually such a markup is made dynamic on the same aggregators. The higher the position on the LP, the stronger is the markup of the corresponding side of the symbol. And from a certain threshold the markup is made infinite - the side is switched off from aggregation


Some arbitrage implementations create a virtual aggregator, where synthetic constructions act as LPs. For example, USD_LP for EURUSD is EURGBP * GBPUSD. Accordingly, stacks are built for each symbol from such LPs. Arbitrage is when such a synthetic stack has a negative spread.

 
Alexey Viktorov:

In any case, it is not possible to do what is in the quote on the forex market. That's exactly what I was talking about. I don't know of any other options.

I didn't see it in the quote. Arbitrage on the marginal market (not exchange - it is required to close a position) assumes ideally closing and opening of opposite arbitrage situations. But in practice it is not like that. We take a market-neutral EURUSD / (EURGBP * GBPUSD), both prices of which fluctuate near one, and run a flat TS on it. This means that after the arbitrage is opened, it can be closed not with arbitrage, but with a small spread.

In general, I will not describe it. You have somewhat theoretical ideas.

 
fxsaber:

Practised arbitration...

Based on your picture on page 4.


Buying EUR for USD, buying CAD for EUR and selling CAD for USD.

Classic triangle arbitrage. But if buying EUR occurs at the moment of buying CAD for EUR, then to sell CAD for USD it is necessary to perform reverse operations, sell CAD for EUR and at this moment broker converts EUR into deposit currency, i.e. into USD.

 

Please explain to me

Теперь разберемся с ценами bid и ask. Порядок действий будет такой:

  1. We buy EURUSD, i.e. we use the ask price. We have plus euros and minus dollars on our balance.
  2. We express EURUSD through two other pairs.
  3. GBPUSD: there are no euros here, but there are dollars, and we have to sell dollars. To sell dollars in GBPUSD, we need to buy this pair. So, we use ask. If we buy, we will get plus pound and minus dollar on the balance.
  4. EURGBP: we need to buy the euro and sell the pound, which we do not need. We buy EURGBP and use the ask. On the balance we have plus euro and minus pound. It all adds up.

Everything seems to be logical, but

1. Buy EURUSD. We have an open position...

3. And we have to sell dollars. To sell dollars in GBPUSD, we need to buy this pair. We have a second position.

4. We need to buy euros and sell the pound, which we don't need. We buy EURGBP. And the third position.

To close all these positions, what should be taken into account to benefit from this witchcraft?

 
Alexey Viktorov:

Based on your picture on page 4.

Buying EUR for USD buying CAD for EUR and selling CAD for USD

Classic triangle arbitrage. But if buying EUR occurs at the moment of buying CAD for EUR, then to sell CAD for USD it is necessary to perform reverse operations, to sell CAD for EUR and at this moment the broker converts EUR into the deposit currency, i.e. into USD.

Unfortunately, I don't understand the problem.

 
Комбинатор:

Buy 1 EURUSD,

chain EUR - GBP - USD

Sell 1 EURGBP with limit (ideally FOK) executes 0.3,

update the data, for EUR --> USD the best chain is EUR - AUD - USD.

Sell 0.7 EURAUD executes 0.3.

So we have a divergence for EUR, USD, GBP, AUD, which we need to close in an optimal way. Everything is quite simple here, because there is only one negative deviation (USD). Plus we should keep in mind that the cost of switching from one currency to another can vary depending on the lot.

If I understood correctly, you need to have some arbitrary positions on symbols to get a market-neutral position. The only option here is to subtract (mentally) from the current skewed position the maximum(the directions of open positions have not reversed) market-neutral portfolio and then close the rest to the markets.

 
Gentlemen synthetic arbitrageurs (oh, what a term), I hope you are planning to climb the fence during significant news... otherwise, all your theoretical synthetic arbitrageurs may get a big bang for their buck if they didn't have time to suddenly gain a position.

In general, the idea of arbitrage is good, I would even say too good. But in practice it is very rarely feasible within the framework of a single platform.
 

The bogey arbitrage that is so easy to fall for.


 
fxsaber:

The bogus arbitrage that is so easy to fall for.

What server?

 
MetaQuotes Software Corp.:

New article Triangular arbitrage has been published:

Author: Alexey Oreshkin


great article!!!

do you have the MQL4 version of it?

thansk and best regards.