Loading...

Plus+ Python

Bitcoin Spot vs BTC Quarterly Futures Basis Spread Analysis in Python

Bitcoin Spot vs BTC Quarterly Futures Basis Spread Analysis in Python

What is the Basis
The basis refers to the difference between the futures price of a commodity and its spot price. In other words, it's the difference between the price of a futures contract and the market price of the underlying asset that the contract represents. This difference arises due to a variety of factors, such as storage costs, interest rates, transportation costs, and supply and demand factors in the market. The basis can be positive or negative, and it reflects the market's expectation of the future spot price of the underlying asset. If the basis is positive, it means that the futures price is higher than the expected spot price, and if the basis is negative, it means that the futures price is lower than the expected spot price. The basis is a key concept in futures trading and is closely monitored by traders to identify trading opportunities and manage risk.

Basis Convergence
As a futures contract approaches its expiry date, the basis risk between the futures price and the spot price of the underlying asset tends to converge towards zero. This is because at expiry, the futures price and the spot price should theoretically be the same, assuming no storage or other costs. As a result, traders who had entered into futures contracts with a long or short position may need to take offsetting positions in the spot market to reduce their exposure to basis risk. This convergence towards the spot price at expiry is known as "convergence of futures to spot" and is an important consideration for futures traders looking to hedge their positions.

The Analysis
It may be slightly hard to tell from the first graph where BTC Spot price is plotted directly against the most recent, 3/31/2023 Quarterly Futures prices (as chart not quite zoomed enough); but the futures price spent the majority of its time trading in positive basis space (meaning that the futures price was higher than spot). In mid January, the spread between futures and spot got as wide as $250+! It is interesting to note that periods of widening in basis seem to be followed by pullbacks in price for this comparison.

BTC Spot Price vs Futures Price


Basis Spread: Futures Price - Spot Price


The Code
We have included all of the code used to generate the basis comparison analysis for BTC basis and resulting spread and commented every line. Feel free to modify to fit to your purpose. The script loads the two data sets independently into Pandas DataFrames, then merges the two data sets together respective to each Date. The basis is then added as an additional column, and graphs are produced. We use Binance data available on CryptoDataDownload.

Plus+ membership required

Create a Plus+ account to view the live codebase.

This article has a fully working, notebook-ready code block. Sign up for Plus+ to access it and the rest of the 20+ premium articles.

Subscribe to Plus+ Browse Plus+ articles