How To Arbitrage Bitcoin Futures vs. Spot


One of the simplest and most profitable arbitrage strategies, is to earn the basis between spot and futures contracts. This post is meant to provide a step by step instruction on how to earn this basis using Bitcoin and BitMEX Bitcoin futures contracts.


Futures Contract: Gives the buyer or seller the economic benefit of owning or shorting Bitcoin.

Spot: The price of Bitcoin for immediate delivery.

Basis: Futures Price – Spot Price

The BitMEX futures contract that will be used in the following examples is the XBTZ16 contract.

XBTZ16 Contract Details:

Contract Value: 1 USD of Bitcoin at any price.

USD Contract Value: 1 USD

Bitcoin Contract Value: 1 USD / Bitcoin Price * Number of Contracts

Settlement Index: Kaiko BitMEX Index, 50% Bitstamp and 50% OKCoin USD, I will refer to this as the Spot Price.

Settlement Date: 30 December 2016 12:00 UTC

Step 1, Buy Spot vs. Sell Futures

Assume that the XBTZ16 price is $120, and the spot price is $100. The basis is $20.

The first step is to wire $5,000 USD to Bitsamp and OKCoin. Then you will by 50 Bitcoin on each exchange. You are now long 100 Bitcoin, and short $10,000.

After you have purchased the Bitcoin, send 20 Bitcoin to your BitMEX wallet. You now need to calculate the correct amount of XBTZ16 contracts to sell. You have bought $10,000 worth of Bitcoin. You will also generate the Basis * Number of Bitcoin Bought of profit.

Total USD to Hedge = $10,000 + ($20 * 100 Bitcoin) = $12,000

Since each XBTZ16 contract is worth 1 USD, you must sell 12,000 contracts.

XBTZ16 is leveraged so you do not need to send the full Bitcoin value of the order to BitMEX. The maximum leverage is 100x, but I advise the use of no more than 10x for this strategy.

Step 2, Calculate Your Profit

You have purchased Bitcoin for $100, and have sold it in the future for $120. You will earn the full basis regardless of where the Bitcoin prices is at settlement.

XBTZ16 profit and loss is based in Bitcoin. Assume the settlement price equals $100.

Bitcoin profit calculation = (1 USD / $100 – 1 USD / $120) * 12,000 = 20 Bitcoin

If the spot price is $100 on settlement date, then your 20 Bitcoin is worth $2,000. You have earned the $2,000 as predicted earlier.

Step 3, Settlement

On 30 December 2016, your XBTZ16 futures contracts will expire. Let’s assume that settlement price is $100. The settlement calculation period is 11:30 UTC to 12:00 UTC. A 30-minute time weighted average price (TWAP) is used; each minute the last price of the settlement index is stored, and an average of the 30 prices is taken to arrive at the final settlement price.

All Bitcoin that is not being used as margin must be sold in order to match the settlement price. Once the futures contract expires, the margin and the realised profit will be available to sell. At that time, withdraw the Bitcoin from BitMEX and sell these Bitcoin.

In the above example, we sent 20 Bitcoin to BitMEX as margin, and the remaining 80 Bitcoin we stored in our personal wallet. You will sell 80 Bitcoin between 11:30 UTC and 12:00 UTC. You will now have 20 Bitcoin of margin and 20 Bitcoin of profit to sell after XBTZ16 expires at 12:00 UTC.

Hopefully you will be able to sell all 120 Bitcoin, and match the settlement price of $100. You started with $10,000, and now you have $12,000. You have successfully used spot and futures contracts to generate a 20% return on capital.