The Arbitrage Made Easy lessons will present simple yet profitable arbitrage strategies that can be employed by traders using a combination of spot Bitcoin trading and BitMEX derivatives contracts. The Bitcoin/USD exchange rate will be referred to using the symbol XBTUSD.
Lesson 1 will focus on the arbitrage of price differentials between spot XBT exchanges.
After spending some time trading XBT, traders will notice that sometimes there are large differences between exchanges. Savvy traders can capture these price differentials in a riskless manner. This lesson will assume that the trader’s home currency is USD. Therefore, the trader wants zero risk in USD terms. Traders will use a portfolio of USD and XBT to capture arbitrage opportunities risklessly.
During this lesson we will refer to the “cheap exchange” as exchange A, and the “expensive exchange” as exchange B. The goal as with any trade is to buy low on exchange A, and sell high on exchange B.
Step 1: Construct a Portfolio of Half USD and Half XBT
The arbitraging of spot exchange requires traders to buy XBT cheaply on exchange A, and sell XBT expensive on exchange B simultaneously. If a trader started with just USD the following steps would have to be taken to conduct the arbitrage:
- Wire USD to exchange A
- Sell USD buy XBT
- Transfer XBT to exchange B, wait for 1-6 confirmations
- Sell XBT for USD on exchange B
- Remit USD from exchange B to home bank account
- Repeat
There are several problems with that trade flow. Wiring USD can take upwards of 5 business days depending on the bank and country. By the time the funds reach exchange A, the arbitrage opportunity could have disappeared. In step 3, the price of XBT could move against the trader before he is able to sell on exchange B.
The optimal structure would be to have a portfolio of USD and XBT spread out across the relevant exchanges. When an opportunity presents itself, traders can act immediately and capture the arbitrage before it evaporates.
Going forward a XBT spot price of $500 will be assumed. A portfolio of $5,000 and 10 XBT has been constructed. The total portfolio value is $10,000 = $5,000 + 10 XBT * $500.
Step 2: Sell XBT Futures Contracts to Eliminate Price Risk
The home currency is USD, traders do not want to have any exposure to XBT exchange rate fluctuations. Trading BitMEX futures contracts is the best way to eliminate currency risk. BitMEX offers a futures contract that locks in the future USD value of Bitcoin, called the XBU series.
Step 2a: Selling XBUU14 Futures Contracts
Each XBUU14 (BitMEX USD / Bitcoin September 26, 2014) is worth $100 of Bitcoin. The underlying is the XBTUSD spot price. For this lesson, the current XBTUSD price is $500. The current price of the XBUU14 contract is $500. To determine the proper amount of contracts to sell, the trader should consider the USD value of XBT that he wishes to hedge. The current USD value of the 10 XBT held is $5,000 = $500 * 10 XBT. The portfolio needs to sell 50 contracts = $5,000 / $100.
Now the sample portfolio looks as follows:
$5,000 cash
10 physical Bitcoin
Short 50 XBUU14 contracts
The below table shows the USD value of the portfolio as spot XBTUSD changes:
XBTUSD | USD Cash | Physical XBT | XBT Profit XBUU14 | USD Portfolio Value |
300 | $5,000 | 10 XBT | 7 XBT | $10,000 |
400 | $5,000 | 10 XBT | 3 XBT | $10,000 |
500 | $5,000 | 10 XBT | 0 XBT | $10,000 |
600 | $5,000 | 10 XBT | -2 XBT | $10,000 |
700 | $5,000 | 10 XBT | -3 XBT | $10,000 |
Because of the XBUU14 hedge, the portfolio value stays constant at $10,000 no matter the XBTUSD price. Now the Bitcoin price volatility will not affect the returns from this arbitrage strategy.
Step 3a: Full Circle Arbitrage Between Exchanges A and B
Now that the portfolio has been constructed and hedged to eliminate currency risk, it is time to capture riskless profits. Exchange A trades at $480, while exchange B trades at $500. The below steps describe how to arbitrage the two exchanges.
- Deposit $5,000 onto exchange A; deposit 7 XBT onto exchange B
- Buy 7 XBT on exchange A for a cost of $3,360 = 7 XBT * $480
- Simultaneously sell 7 XBT on exchange B and receive $3,500
- Withdraw $3,500 from exchange B, then wire $3,500 to exchange A
- Transfer 7 XBT from exchange A to B
- Repeat
The above trade generated $140 in gross profit. USD deposit and withdrawal fees as well as exchange trading fees must be deducted. The result will be the net profit from this arbitrage trade. The amount of times the portfolio can be churned is limited by the speed of USD wire transfers and the size of price gap between exchange A and B.
Notice that only 7 XBT could be used as working capital for the arbitrage opportunity. This is because BitMEX requires margin to be posted against the short 50 XBUU14 contracts. BitMEX requires an initial margin of 30%, given short 50 XBUU14 contracts are worth 10 XBT (1/$500 * $100 * 50 Contracts), 3 XBT must be deposited as margin with BitMEX leaving 7 XBT for arbitrage purposes.
Step 3b: Exchange A and B Spread Trading
Instead of withdrawing USD from exchange B and transferring again back to exchange A, a trader can play the spread between the two exchanges. Exchange A trades at $480, while exchange B trades at $500. The below steps describe how to spread trade.
- Deposit $5,000 onto exchange A; deposit 7 XBT onto exchange B
- Buy 7 XBT on exchange A for a cost of $3,360 = 7 XBT * $480
- Simultaneously sell 7 XBT on exchange B and receive $3,500
- Prices on exchange A and B equalise at $500
- Buy 7 XBT on exchange B for a cost of $3,500
- Simultaneously sell 7 XBT on exchange A and receive $3,500
- Exchange A now contains $5,140
- Exchange B now contains 7 XBT
- Wait for the spread between A and B to widen again and repeat
The above trade has generated $140 in gross profit. USD deposit and exchange trading fees must be deducted. The result will be the net profit from this arbitrage trade. Spread trading does not require the withdrawal of USD from exchange B and subsequent deposit onto exchange A which reduces fees paid. However, traders must wait for the spread to collapse before the portfolio can be rebalanced.