Loading...

Plus+ Python

Find Any Expired Option Instrument Chain on DeriBit

Find Any Expired Option Instrument Chain on DeriBit

Why why why
The DeriBit API has an endpoint that allows you to lookup expired instrument names, however, it only is for recently expired contracts within the last few weeks and not farther. We will demonstrate a proof of concept that will utilize some other API endpoints on DeriBit to find expired options for any given month back in time. If you've found your way to this article, you may already have a reason for wanting to find these instrument names. For example, what if you want raw transactional data for an option chain that is expired? The first thing you need to determine is what option chains were trading for a given time period. You could use the raw transactional data to create a volatility surface, create OHLCV tick data for an option contract, or look for unusual option activity before key events! We will demonstrate in this article how to find expired DeriBit option chains for any month, year or maturity date (this includes both puts and calls). This includes when the maturity date schedule of the option is unknown to start!

The Code
This is what we will be doing in this script: 1) Setting our variables 2) finding the maturities in a given month 3) finding all related option chains for a given maturity. Our variables will allow us to tell the script which year and month to search in, and then the symbol like BTC. The script will examine and look at every possible maturity date in the month. Once that is completed, we will use what we found to find the full option chain for every monthly maturity found. This will give us a complete picture of what option chains were available for trading for any given maturity or timeframe. The results of the option chains that we find are stored in a local SQLite database. Of course, every line of code is commented so you can take this and fit to your purpose. In our next article, we will extend on this use case and scrape historical trade data for every chain that we choose and save that to our database as well.

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