One of the simplest and most profitable crypto arbitrage strategies is to earn the basis between spot and futures contracts – also known as basis trading. This article provides step-by-step instructions on how to basis trade with crypto futures and spot, using Bitcoin and BitMEX futures contracts.
Back to Basics
Before diving into the basics of trading crypto futures and spot, it is important to understand the terms that will be used in the article, as listed below.
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
To explain the strategy in more depth, BitMEX’s XBTU23 futures contract will be used as an example.
The details of the contract can be found here.
Step 1: Buy Spot vs. Sell Futures
Assume that the XBTU23 price is $30,100 USD, and the spot price is $30,000 USD. This makes the basis $100.
Meet Karen. Karen deposits $30,000 USD to BitMEX Spot, which she then uses to purchase one Bitcoin on the exchange. She is now long one Bitcoin and short $30,000 USD.
Out of the one Bitcoin, Karen puts up 0.2 as margin to trade the XBTU23 futures contract. She then needs to calculate the correct amount of futures contracts to sell.
Karen purchased $30,000 worth of Bitcoin. She will also generate a profit of = Basis * Number of Bitcoin purchased.
Total USD to Hedge = $30,000 + ($100 * 1 Bitcoin) = $30,100.
Please note that Hedge here refers to the USD amount of futures contract that Karen must trade to counter her spot position.
As each XBTU23 contract is worth one USD, Karen must sell 30,100 contracts.
XBTU23 is leveraged, meaning she does not need to send the full Bitcoin value of the order to BitMEX. The maximum leverage on the platform is 100x, but it is recommended that no more than 10x be used for this particular strategy.
Step 2: Calculate the Profit
Karen has purchased Bitcoin for $30,000 (spot price), and will have sold it in the future for $30,100 (futures price). She will earn the full basis regardless of the Bitcoin price at settlement.
XBTU23’s profit and loss is calculated in Bitcoin. Assume the settlement price equals $30,000. Karen’s Bitcoin profit can be calculated as below:
Bitcoin profit calculation = (1 USD / $30,000 – 1 USD / $30,100) * 30,100 = 0.0033 Bitcoin.
If the spot price is $30,000 on the settlement date, then Karen’s 0.0033 Bitcoin is worth around $100. She has earned $100 as predicted.
Step 3: Settlement
On 29 September 2023, Karen’s XBTU23 futures contracts expired. Let’s assume that the settlement price is $30,000.
The settlement calculation period begins 11:30 UTC and ends 12:00 UTC on the same day. The .BXBT30M Index – a 30-minute time weighted average price (TWAP)- is used. Every minute, the last price of the settlement index is recorded, and an average of 30 prices is taken to arrive at the final settlement price.
The remaining 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 realised profit will be available to sell. So at the contract’s expiry, Karen should sell her remaining Bitcoin.
In the above example, Karen used 0.2 Bitcoin as margin, and stored the remaining 0.8 Bitcoin. Now, Karen must sell her remaining Bitcoin between 11:30 UTC and 12:00 UTC, before the contract’s expiry. After XBTU23 expires at 12:00 UTC, she will have 0.2 Bitcoin of margin and 0.0033 Bitcoin of profit.
In the best scenario, Karen will be able to sell all 1.0033 Bitcoin, and match the settlement price of $30,000.
Using the trading strategy above, Karen started with $30,000 and now has $31,000 – generating a 3.33% return on her capital. This is an example of how to arbitrage in crypto between the futures and spot market on BitMEX – also known as basis trading.
For more educational resources on trading at BitMEX, we invite you to head here for our growing portal of educational guides that cover trading, and the wider cryptocurrency ecosystem.
As always, be the first to know about our latest updates by connecting with us on Discord, Telegram, and Twitter. We encourage you to also check our blog regularly. In the meantime, if you have any questions please contact Support.