Skip to main content

Crypto Arbitrage 

Exploring the so-called ‘3-way arbitrage'trading strategy on Binance crypto currencies. Is this hype or is it profitable?

Just what a concept! Make 3 trades in rapid succession when you find favorable exchange rates and voila! Profits in seconds and no exposure to volatility.

How does this work?

Let's break this down utilizing a ridiculously simple bartering scenario. Whenever we exchange one crypto-currency for another we're bartering or exchanging fungible assets.

Let's image these scenario:

  • Jane has 10 almonds
  • Will has pineapples and will trade each for 5 almonds
  • Christine has mangoes and will trade evenly for a pineapple
  • Xavier has almonds and will trade 6 for every single mango

So in this arbitrage opportunity, Jane trades 10 almonds for 2 pineapples, and these for 2 mangoes which in turn she trades for 12 almonds.

She has profited 2 almonds through these trades as a result of anomalies in the exchanges.

Above is exactly the same type of 3-way arbitrage with crypto currencies.

What at first appears to be simple often is usually not.

Several important things to notice within the real-world of crypto markets:

  • price discrepancies between markets are anomalies, they have to be sniffed out deliberately
  • once an arbitrage opportunity is found it must be executed quickly or you will be left having an incomplete execution (1 or 2 trades as opposed to 3)
  • the trades must be done as a Limit-Order at the precise price identified in the arbitrage exploration (we'll try this out in a bit)
  • transaction fees will quickly erode the profitability of the trades (we'll examine this directly inside our code)

There's another key thing to understand about arbitrage trades but we'll enter into that after we've covered more details https://www.scamrisk.com/crypto-arbitrage/

Broken triangles?

The info above proves a hint, because the following line didn't show exactly the same arbitrage available in 17:00:30 therefore it was gone.Had we initiated a trade for BTC it may have executed but then the trade for AR might not have. We cannot be sure with only this information.

It is possible any particular one second later the USDT / BTC exchange was no longer offered by the limit price: BTC / USDT: 0.00002973 but now that we have the BTC perhaps the residual 2 trades are still possible. We simply cannot know this once we initiate the arbitrage exchange.

Each Binance REST API call takes no less than 200ms, based on where we're located (where your code is running). Binance servers can be found in Japan. A limit order (a ‘Taker') isn't instantaneous, it might take another 500ms+ to go back so our total time for 3 limit orders could realistically extend out to ~2secs. Of course there could be some inability to execute a control order as specified in that instant so there are many ways an arbitrage execution may don't complete.

Comments