Compared to other financial securities’ markets, the cryptocurrency market can be somewhat inefficient. In other financial markets like Forex and stocks, the price of an asset is normally similar across the exchanges. Selling and buying prices depend on the spread set by the broker, but, with cryptocurrencies, the price of an asset across the various exchanges is at times very different.
The term ‘Arbitrage’
Arbitrage is a trading strategy that takes advantage of the price difference of assets in different markets. For example, let’s assume that the price of asset A is $1 in market X and $3 in market Y. Traders could opt to buy asset A in market X and sell it in market Y making a profit of $2 minus any overhead costs. It’s a small profit, but a profit nonetheless; and there are different types of arbitrages, namely: Spatial arbitrage, cross-border arbitrage, and statistical arbitrage.
Spatial and cross border arbitrage is more applicable to tangible goods, like apples. A trader buys the goods in one market at a cheaper price and sells them in another market in a different geographical location at a higher price to make a profit. Statistical arbitrage, on the other hand, refers to the method of identifying the price differences in the markets using mathematical/statistical formulas.
Arbitrage in cryptocurrencies
To use arbitrage in trading cryptocurrencies, you will have to first identify market inefficiencies.
Statistical arbitrage on different exchanges
One way to find market inefficiencies is by searching multiple crypto pairs on a number of exchanges. However, that would end up wasting a lot of precious time. Again, you may want to enter trades as quickly as possible whenever an opportunity arises to maximize your profit margin.
Since it would be difficult to find the inefficiencies fast enough to act on them by doing this manually, it’s advisable to come up with a crypto trading bot. A bot is able to do all the mathematical analysis involved in the statistical arbitrage. You can quickly comb through data from various sources to identify market inefficiencies and also act on them considering the additional set of criteria outlined below:
i. The trading fees on the exchanges involved must be low to ensure that there is profitability.
ii. For spatial arbitrage, the transaction speed should be very fast to ensure that the asset is sold at the intended price. Therefore, you have to choose exchanges that use a blockchain with very high transaction speeds.
iii. The volume of crypto assets you intend to trade must be sufficient to avoid volatility in price risk.
The following conditions are paramount for an arbitrage trade to be possible.
Gathering the data
By gathering data on crypto assets across a variety of exchanges, you can look at a number of websites that are fully dedicated to gathering dynamic market statistics for individual cryptocurrencies. The most common websites are CoinMarketCap.com and CoinGecko.com.
To program a trading bot, you will have to use the websites’ API so as to access the information.
Once you identify the difference in prices of a certain token over a number of exchanges either manually or by using a bot, the next step is choosing where to buy from and where to sell from. Normally, you would take the exchanges that give you the largest spread. The spread must be able to cater to the transaction fees.
For example, you may find that the price of Bitcoin against USD on Bitfinex is $9604.79, $9648.69 in Bitstamp, and $9653.23 in Gemini, and in Coinbase Pro is $9629.04. Therefore, the largest spread is between Gemini and Bitfinex with a spread of 4844%. A trader should look and see if the $48.44 difference is enough to cater for the transactions in both Bitfinex and Gemini and still be profitable.
However, the process of buying and withdrawing Bitcoin from Bitfinex may be too lengthy and prices could change drastically due to market volatility in cryptocurrencies. It wouldn’t be profitable to sell Bitcoins in Gemini.
Statistical Arbitrage On The Same Exchange
To reduce the risk involved in trading between different exchanges, we can use a different approach to statistical arbitrage. This will involve looking for arbitrage opportunities between a number of pairs of crypto assets within the same crypto exchange.
For efficiency, it is advised to use a script or trading bot to iterate through the pairs on the same exchange and come up with the average spread. With the average arbitrage, you can go ahead and decide to buy one crypto asset and sell another pair of the same asset. However, you will have to ensure that the average spread is enough to cater for the transaction fees.