Getting historical options data

I want to be able to use Python for extracting options data from a database.

For our project focused on modeling implied volatility surfaces, we require historical end-of-day (EOD) data for US options spanning the last two to three decades, including major well-traded symbols, as well as less traded symbols with sparse implied volatility surfaces. The dataset should include:

  • option strike price,
  • expiration date,
  • closing price or preferably implied volatility, and
  • underlying asset prices necessary for calculating log moneyness.

Additionally, we need daily market data, specifically:

  • S&P 500 returns,
  • VIX values, and
  • 13-week Treasury Bill rates as a proxy for the risk-free rate.

The final dataset should feature:

  • log moneyness,
  • time to maturity in years,
  • implied volatility,
  • market return,
  • market volatility, and
  • the treasury rate for each symbol at each trading day.

The following website is a suitable example: https://optiondata.org.

Best Answer

  • @harian Thanks for your question - we have written an article on how to get expired RICs for options and building historical and backtesting historical options. Please see it here. I hope this can help.