I'm looking for some historical implied volatility data (not to be confused with historical volatility data) and found Market Chameleon. Does anyone have knowledge of the data quality of Market Chameleon data, the implied vol data in particular? I'm open to other suggestions for good historical implied vol data as well. EDIT: I want it for US equities and equity indexes to start.
Those MC guys are good. We have historical implied volatility data too. Here’s a link to our data API explorer: https://docs.orats.io/data-explorer/index.html If you are looking for historical quotes, the API is not appropriate for that and we would provide access to our FTP for near end-of-day files back to 2007. Here is a sample of our near end-of-day file that we have back to 2007: http://s3.amazonaws.com/assets.orats.com/ORATS_SMV_Strikes_20200420.zip Here are some links for the data API: https://docs.orats.io/datav2-api-guide/ https://www.orats.com/data-api/ https://www.orats.com/historical-quotes/ https://blog.orats.com/hs-search-results?term=data+api&type=BLOG_POST&id=6125614442 Here are some tutorial videos: backtesting fhttps://youtu.be/vltz55YyFzw trading scanner Data API
I pull implied volatility through IB API. You get a different implied volatility for each strike and expiration. I think the IB IV is the ATM IV for the front month or averaged over the first couple expirations...not sure.
Thanks @ET180. Just to be clear, you pull *historical* IV through the IB API or just current IV? In other words, suppose I want daily data of what the IV *was* on the past for a specific equity over the past X years... is that the sort of data you're pulling? I don't care about the IV on specific strikes and expirations for this specific analysis - averaged IV is fine. (I do care about the IV on specific strikes and expirations when I'm looking only at *today's* IV and am about to place an order, but that's a different story.)
If a rolling 30d ATM IV is enough, there is a ton of data available out there MC, ORATS, ivolatility, quantcha, Quandl, Finpricing, yada yada. HOWEVER!: Data quality in options heavily erodes the less volume an individual chain has. At least I started using option book data and calculate the simple metrics from bid/ask midpoint for that reason. Also the question is how the average is calculated and which maturities and deltas you want to be included. Do you want to have a VIX style calculation that includes the entire chain or do you want the 50 delta call? In the long run it is always the best to set up your own database and collect bid/offer prices. Mongo DB and jupyter notebook is sufficient. For me all the cursing and "wasted time" was totally worth it.
Good points. We work hard to utilize historical data, score bid-ask quality, and smooth the volatility surface in order to get quality constant maturity, constant delta IV readings. https://docs.orats.io/datav2-api-guide/core-research.html#the-smile Below are a smattering of SMV Summary data definitions. Field Definition ticker underlying symbol annActDiv annual dividend from the next year of expected dividends annIdiv annual implied dividend given options prices put call parity borrow30 implied hard-to-borrow interest rate at 30 days to expiration given options prices put call parity borrow2y implied hard-to-borrow interest rate at two years to expiration given options prices put call parity confidence total weighted confidence from the monthly implied volatilities derived from each month’s number of options and bid ask width of the options markets exErnIv10d implied 10 calendar day interpolated implied volatility with earnings effect out exErnIv20d implied 20 calendar day interpolated implied volatility with earnings effect out exErnIv30d implied 30 calendar day interpolated implied volatility with earnings effect out exErnIv60d implied 60 calendar day interpolated implied volatility with earnings effect out exErnIv90d implied 90 calendar day interpolated implied volatility with earnings effect out exErnIv6m implied 6 month interpolated implied volatility with earnings effect out exErnIv1y implied one year interpolated implied volatility with earnings effect out ieeEarnEffect implied earnings effect (percentage of expected normal move) to make the best-fit term structure of the month implied volatilities impliedMove percentage stock move in the implied earnings effect to make the best-fit term structure of the month implied volatilities impliedNextDiv next implied dividend given options prices put call parity iv10d 10 calendar day interpolated implied volatility iv20d 20 calendar day interpolated implied volatility iv30d 30 calendar day interpolated implied volatility iv60d 60 calendar day interpolated implied volatility iv90d 90 calendar day interpolated implied volatility iv6m 6 month interpolated implied volatility iv1y one year interpolated implied volatility mwAdj30 ATM weighted market width in implied volatility terms interpolated to 30 calendar days to expiration mwAdj2y ATM weighted market width in implied volatility terms interpolated to 2 years to expiration nextDiv next dividend amount rDrv30 derivative or curvature of the monthly strikes at 30 day interpolated. The derivative is the change in the slope for every 10 delta increase in the call delta rDrv2y derivative infinite implied rSlp30 best-fit regression line through the strike volatilities adjusted to the tangent slope at the 50 delta. The slope is the change in the implied volatility for every 10 delta increase in the call delta rSlp2y implied infinite slope rVol30 implied volatility at 30 days interpolated rVol2y implied volatility at 2 year interpolated rip dollar amount of options to start ignoring in delta calculation riskFree30 continuous interest (risk-free) rate interpolated to 30 calendar days to expiration riskFree2y continuous interest (risk-free) rate interpolated to 2 years to expiration skewing Skewing is the difference between rVol30 and adjusted rVol2y where sqrtMinDays is 45 * 0.5. ((rVol30 - rVol2y * (1 - 1/sqrtMinDays)) * sqrtMinDays) contango short-term contango of at-the-money implied volatilities ex-earnings totalErrorConf total weighted squared error times the confidence in the monthly implied volatility dlt5Iv10d 10 calendar day interpolated implied volatility at the 5 delta dlt5Iv20d 20 calendar day interpolated implied volatility at the 5 delta dlt5Iv30d 30 calendar day interpolated implied volatility at the 5 delta dlt5Iv60d 60 calendar day interpolated implied volatility at the 5 delta dlt5Iv90d 90 calendar day interpolated implied volatility at the 5 delta dlt5Iv6m 180 calendar day interpolated implied volatility at the 5 delta dlt5Iv1y 365 calendar day interpolated implied volatility at the 5 delta exErnDlt5Iv10d 10 calendar day interpolated implied volatility at the 5 delta with earnings effects removed exErnDlt5Iv20d 20 calendar day interpolated implied volatility at the 5 delta with earnings effects removed exErnDlt5Iv30d 30 calendar day interpolated implied volatility at the 5 delta with earnings effects removed exErnDlt5Iv60d 60 calendar day interpolated implied volatility at the 5 delta with earnings effects removed exErnDlt5Iv90d 90 calendar day interpolated implied volatility at the 5 delta with earnings effects removed exErnDlt5Iv6m 180 calendar day interpolated implied volatility at the 5 delta with earnings effects removed exErnDlt5Iv1y 365 calendar day interpolated implied volatility at the 5 delta with earnings effects removed dlt25Iv10d 10 calendar day interpolated implied volatility at the 25 delta dlt25Iv20d 20 calendar day interpolated implied volatility at the 25 delta dlt25Iv30d 30 calendar day interpolated implied volatility at the 25 delta dlt25Iv60d 60 calendar day interpolated implied volatility at the 25 delta dlt25Iv90d 90 calendar day interpolated implied volatility at the 25 delta dlt25Iv6m 180 calendar day interpolated implied volatility at the 25 delta dlt25Iv1y 365 calendar day interpolated implied volatility at the 25 delta exErnDlt25Iv10d 10 calendar day interpolated implied volatility at the 25 delta with earnings effects removed exErnDlt25Iv20d 20 calendar day interpolated implied volatility at the 25 delta with earnings effects removed...
With consistent and thorough methods of calculating IV and HV you can see some interesting phenomenon in the market. For example, the put-call skew we call slope is very shallow (bottom red horizontal line below) vs historical right now. I think this is owing to the interest rate plays in the market now, ie buying calls, selling puts, selling underlying betting on rising rates. Also, the RobinHood effect, retail buying way OTM calls had significantly moved the skew but that is reverting as seen by the 2nd chart in green showing the 5 delta IV divided by the 75 delta call IV.