(this article was first published on humminbot.io)
Welcome back to our Educational Center, where we aim to help you to learn more about market making, arbitrage, and everything related to algorithm trade.
Today we will talk about a different strategy that can be used with hummingbot: Cross-Exchange market making.
The objective of this article is to help you understand:
If you already understand how arbitrage and pure market making work, cross-exchange market making (XEMM) becomes really simple: all you have to do is to combine both operations in one.
Here's a simple explanation of the concept of cross-exchange market making:
Pretty neat right? I made $10 of profit selling something I didn't own by simply doing a back-to-back, simultaneous buy and sell of the guitar.
Wait... that sounds a lot like arbitrage, so what's the difference?
OK, here's how this situation would be for arbitrage:
Did you notice the subtle difference? For step #2 in cross-exchange market making, I was the one proactively telling people I had something to sell and I was setting my price. Does this concept sound familiar? In the transaction with Bob, ****I was the maker and Bob was the taker.
On the other hand, for step #2 in arbitrage, I was simply going around and searching to find if someone else had already said they wanted to buy a guitar at a higher price. In the arbitrage scenario, Carol was the maker, and I was the taker.
In my transaction with Alice in both scenarios, I was a taker: I accepted her offer for a guitar and her price.
An arbitrageur acts as "taker/taker"; he is the taker on the buy and the sell transaction. Arbitrage is more passive because an arbitrageur just monitors prices and searches for opportunities to act on. On the other hand, a cross-exchange market maker acts as "maker/taker"; he proactively tries to create trade opportunities by creating maker orders on one side of the trade.
In our previous article on pure market making, we explained that a market maker is someone who places both bid and ask orders in order to facilitate trading. You can see that in the cross-exchange market making example above, I am acting as a maker, offering a guitar to sell and specifying a price. So that's one half of what a market maker does.
But I can also do the same transaction for the buy side. I have another friend, Dave, who wants to buy a guitar, but he is only willing to pay $95. At this price, he and Alice can't trade, because his budget of $95 is below Alice's asking price of $100. Since I know that I can sell a guitar to Dave, at the same time I'm going around trying to sell Alice's guitar, I can go around offering to buy another guitar that I can sell to Dave.
Now I have both sides: I can offer to buy a guitar for $85 and sell a guitar for $110. I am now acting as a market maker. The interesting thing about cross-exchange market making that you may have noticed is:
In cross-exchange market making, a trader acts as a normal market maker on one exchange (the "maker exchange"), creating buy and sell orders. However, the trader eliminates the inventory risk usually associated with market making by using another exchange (the "taker exchange") to simultaneously offset (or "hedge") any trades filled on the maker exchange.
That is why we mentioned earlier that cross-exchange market making kind of looks like a combination of pure market making + arbitrage.
A financial environment where the same asset is traded in different marketplaces is susceptible to what is known as market inefficiency, where the information about the value of the asset takes some time to dissipate to all the exchanges.
This can be easily noticed by looking at the differences between bid and ask prices offered on each order book, as can be seen on the screenshot of the BTC/USDT order book on two different exchanges at the moment in time:
(continue reading this article on humminbot.io)