Can You Make Money Doing Pure Arbitrage On Crypto Markets?

By Nelson Guilherme Cardoso Guimarães on ALTCOIN MAGAZINE

--

For quite some time, I have been interested in markets, maybe it all started when I was working for a big bank years ago, for whatever the reason the fact is that it all seems very peculiar that so many people would spend time and money on what to me seemed to be a zero-sum game. After a while, I came to realize that markets represent a way for a group to express its consensus on the price of some asset, which conveys the many implicit beliefs of its participants.

Having a mechanism that conveys price is so important that many attribute this to be the reason that systems that avoid markets eventually fail. Controversies aside, a very liquid market allows everyone to have access to certain assets with a price that seems “fair” for the trading participants and that is where the idea of “efficient” markets comes from. A market is said to be efficient if all the information available is already reflected on the price itself, there are many degrees of efficiency, which I won’t be discussing, but the main point is that if the market is not efficient then there are opportunities to trade assets in such markets and make a profit from it purely from some information that is yet not reflected on the price.

Arbitrage

One of the most basic ways you can explore the inefficiencies of the markets is by doing “arbitrage” which is basically finding assets that are priced differently in different markets and buying and selling them for a profit. This is very rare and usually doesn’t last much time. Make no mistake, a retail investor cannot make a penny with pure arbitrage on the S&P 500, the volume required (even if the opportunity exists) is enormous. But as the title suggests my interest here is to explore opportunities in the market of crypto assets.

Why Crypto?

I first noticed arbitrage opportunities back when I was living in Brazil and was going soon to move to Japan, while still at the beginning of trying to understand the whole crypto world I was curious to see how much was bitcoin being sold for in the land of the rising sun. I was shocked.

It was way cheaper to buy bitcoin in Japan than in Brazil, my immediate reaction was to think ways that I could profit from it and then I started questioning why there are not more people doing it? Because if they were, these opportunities wouldn’t exist in the first place.

The answer to my questions came when I tried to make such trades, buying crypto with fiat money required to have a proper bank account in such a country and that does not come easy if you are not a resident, luckily for me I was soon going to be.

Let's Become A Millionaire

I remember the very first thing that I did when I arrived in Japan was to open a bank account and a crypto exchange account. And so I began to trade it, buying bitcoin in Tokyo and sending it to São Paulo and sending fiat back again. Thanks to the 19th-century banking technology it would take a week for a trade to be concluded, different time zones certainly didn't help those at the bank. But after my first trade, I made a 20% profit (after fees and before taxes). I was amazed, how could it be that this was so unexplored that even with very little money one could have these margins.

Anyways, the fact is that I didn't become a millionaire, I was able to do only a couple of more trades after the price difference became so close that the fees charged by the multiple parties turned the trades unprofitable.

Do I Still Have Hopes?

Yes, I do.

My intuition suggests that if there is an opportunity of arbitrage for retail investors it must be on markets where the volume being traded is not as big as the traditional stock markets, which is exactly the case for crypto assets. Also, due to the lack of regulation and the intrinsic decentralized nature of this world makes it possible for a wide range of assets and exchanges to appear every single day.

To corroborate my intuition a simple google search on crypto arbitrage will show you a range of tools and newsletters that give you lists of exchanges where you can find these opportunities.

Do It Yourself

Despite the availability of this sort of data, they often hide part of the information in order to protect their business model. Because of that, I decided to do the analysis by myself, on top of that, being an engineer I get excited about the opportunity to build something.

Exploratory Analysis

My objective was to explore the arbitrage opportunities that were open on the same exchanges that I once did my trades. To achieve that I built a monitoring tool to stream the prices of Bitcoin over three days. The exchanges I chose were Mercado Bitcoin and Bitflyer which among the most traded exchanges of Brazil and Japan respectively.

To make this situation more realistic for the average trader, the prices reflect the most advantageous bid and ask for a trade equivalent to 1 BTC that was present on the orders book at the moment of the query.

The plots below show the results of the query, shown at first separately denominated in JPY and BRL

BTC variation at Biftlyer in JPY
BTC variation at Mercado Bitcoin in BRL

As you can see the trends in both graphs are similar but they do present very different prices. It is noticeable that the prices in Japan are still lower than in Brazil, so the best situation would be to buy bitcoin in Bitflyer and sell it in Brazil. To visualize the size of this opportunity I use USD to denominate prices on both exchanges.

Buying BTC at Biflyer and selling it at Mercado Bitcoin

On plotting the distribution of profit margins we can see that the profit margins have a very wide range and, at some points, the price in Japan is even higher than in Brazil. Another interesting aspect is that very rare events can bring up unique opportunities for profit. we can see that a USD 200 profit is achievable, the issue is that they don’t present themselves all the time, and unless you can be watching the market 24/7 the only alternative is to use an automated trading system to seize these windows.

Profits windows over the period analyzed
Small windows may provide good opportunities for trade

Fees And Taxes

After adding taxes and fees related to the whole transaction (using the cheapest wire transfer I could find) the profit we could make is around 0.95% if we traded on the highest profitable window we found during the monitoring period. It might seem low but this trade has practically only operational risks and considering that you can conclude a trade in 7 days, and imagining that can find such trades every week, we are talking about profits of 45% a year (not compounded). Obviously, we can’t take for granted that the market will behave the same way in the future neither we are saying that it is possible for any individual to perform this way. All considered it is fair to say that the market presents unexplored opportunities for those with enough interest and courage.

It is important to note that this window stayed open for 2 minutes. 2 minutes on a window of 2 days, 17 hours and 34 minutes, or 0.05% of the time.

No Banks

One possible idea to try to avoid delays on the trades due to slow banking operations would be to try to complete all the trades only by buying and selling cryptocurrencies within the exchanges. For that to be possible we need to find at least one pair of cryptocurrencies that, at the same moment, one of them would be cheaper on exchange 1 and the other should be cheaper on exchange 2.

Operations

In this scenario, I will be operating BTC and ETH on the same exchanges as we discussed in the previous arbitrage situation. I will explore two possibilities

  1. Buy BTC in Bitflyer -> Sell BTC in Mercado -> Buy ETH in Mercado -> Sell ETH in Bitflyer
  2. Buy BTC in Mercado -> Sell BTC in Bitflyer -> Buy ETH in Bitflyer -> Sell ETH in Mercado

Data

In this experiment, I collected data during a period of 3 days and 18 hours. The prices converted to US dollar can be seen below

Two notes here: First, my bot failed to collect data from Bitflyer during some hours (seen as the straight line on the plot), I will ignore this period for the purposes of this analysis, second we can see that the prices of BTC and ETH, though highly correlated, have shown a lot of variations in terms of when the prices of one crypto is cheaper or more expensive with respect to the other exchange. That is exactly what we are looking for.

The Profits

After filtering the data to detect only the moments where we have profitable trades I am left with very few data points, and the profit margins are even slimmer than before, as shown in the next plot.

At first glance, these results can be disappointing, but there is a catch. Here the trades (for the most part) don’t take days to be concluded, instead, we can expect the trades to average 10 minutes for confirmation in BTC. The highest profit we could make during this period is around 25 USD, but if we accumulate the profits over the period we see a different picture

If the trader were able to take all the opportunities presented, he would accumulate a profit of 2353 USD. Offering a much greater profit margin than the previous arbitrage scenario. Obviously, one could not take all the trade opportunities either because of the very low returns and operational risk involved or because of the need to wait at least 10 minutes between each trade. Even in this scenario, around 1000 USD could be made during this period.

Conclusions

The exploratory analysis shows that it is possible to find profitable trades but they don’t appear as often as we would like.

Also, we limited ourselves to only two exchanges, adding more exchanges and different cryptocurrencies would increase the odds of being consistently profitable and to find new opportunities as well.

It is clear though that an automated system is needed to handle the operations.

Next Steps

To be able to capture these opportunities I am going to enhance the monitoring tool that I have built so far to become a full trading platform.

The progress will be posted soon.

--

--