@DarkPoolTrading this is a great question.
Basically, my initial intention was to check if I could come up with different VIX's for any instrument. The formula is a bit of a hiccup but no rocket science.
Since I don't know anything about options and have not traded them, the issue I have is finding a "Ticker" for the "Near term and Next Term strike prices" or the rest of the inputs in the equation and plot them in Ninjatrader for instance. Of course, in an automated way, I wouldn't wish to check what bid and ask prices are and write them in excel every single time.
The following user says Thank You to ElChacal for this post:
Sorry ElChacal, I meant from TOS.
Trying to do it in Ninja I think is going to be such a headache data wise. I don't think there is much in the way of historic options data on retail data feeds.
You will probably have to store your own data and will not have the ability to back fill. I am sure it would be a great learning experience to calculate though.
If you know the option price, strike & underlying price, one can calculate historical Implied Volatility using Black-Scholes formula. This would require little programming in Python using Vollib quant library.
IV of an underlying stock can be roughly calculated using weighted average of IV of ATM & 2 near strike OTM put & call options.
that's no vix, there are two ways that one can come up with an iv for an underlying and 3 ways you can have the historical iv
1. for the underlying the simplest method is to use the atm IV including the moneyness relationship, for instance if your underlying is 18 to 18.24 you use the 18 strike iv as an itm, if it goes over 18,26 you use 18,50 as atm in the middle take into account the direction is coming the underlying from above or below. So if today is 18,24 you use 18 as atm for iv, tomorrow is 18,6 you use 18,50 BUT the values for yesterday will be kept as for 18. Thats the easy way that goes for a long time
2. you can take a more complex process that will weight the IV off al strikes, to to this you have 3 ways.
1. Actual contract volume weight,
2. open interest weight
3. a combination of 1 and 2
4 I have been experimenting of a combination of 1.2, and moneyness relationship
3 way is the iv calculation for each day for each exercise but is not the case you mention, this method will give an historical IV for each contract, regarding you use the method of absolute exercise price or you use the moneyness relationship (in this last case the atm one is the same as the first example I gave)
The following user says Thank You to jeremymag for this post:
Technically, implied volatility is only applicable for options. Implied volatility is a function of an option's price and is backed out from the price. Based on the option chain, you can see that each strike will likely have a different implied volatility based on the volatility skew / volatility smirk.
If you want to arrive at a single volatility number for the underlying, you would have to calculate a form of weighted average of the different implied volatilities of the option chain. For instance, the current VIX calculation uses a formula to derive expected volatility by averaging the weighted prices of out-of-the-money puts and calls.
The following 3 users say Thank You to optionNinja for this post:
VIX is interpreted as annualized implied volatility of a hypothetical option on S&P500 with 30 days to expiration, based on the prices of near-term S&P500 options traded on CBOE.
Contrary to what many people believe, the VIX is NOT calculated using Black-Scholes or any other option pricing model. There is a formula which directly derives variance from the whole set of prices of options with the same time to expiration. Two different variances for two different times to expiration are then interpolated or extrapolated to get 30-day variance. This variance is then transformed into standard deviation (by taking the square root) and multiplied by 100.
The following 4 users say Thank You to optionNinja for this post: