Has anyone tried it? Is it even useful? I wanted to plot and visualize the volatility change of single name stocks. ATM IV doesn't take skew into account, while strike IV curves/surfaces have too many data points to visualize easily. TOS can plot an implied volatility curve for each stock, but I don't know what it is exactly. I see that ivolatility.com has the proprietary IVX as a single number to characterize the volatility of each stock. But something that can be calculated by myself would be nice.
You may wish to consider implementing the method documented in the "https://cdn.cboe.com/resources/vix/vixwhite.pdf". Just simplify by a single expiration to address each independently. I tried it, but don't find it useful for me (I prefer using the ATM IV which has no skew). Guess it depends on what you really need.
CBOE used to calculate and disseminate about two dozen vols. Not all were tradeable and not certain they still do it. These were the stocks and symbols. CBOE Equity VIX® on Apple: ticker VXAPL CBOE Equity VIX® on Amazon: ticker VXAZN CBOE Equity VIX® on Goldman Sachs: ticker VXGS CBOE Equity VIX® on Google: ticker VXGOG CBOE Equity VIX® on IBM: ticker VXIBM
Just curious: how do you define ATM IV? Do you take for ATM IV the IV of the nearest strike (to spot), or do you rather linearly (or otherwise) interpolate it further to the current spot of the underlying? I do the latter one (but of course this requires some calculation), so I think there could be different definitions (and with it different results) for ATM IV.
I "try" to use most fitting metric to what I am doing, so typically, will focus on the specific expiration I am placing trades in. (I normally do not do time spreads, so single expiration is most common for me)
I examine the nearest to the money strikes, then just use linear approximation to get the ATM_IV. (for me, that seems adequate and close enough) Code snip: slope=(LowerAvgIV-UpperAvgIV)/(lowStrike-highStrike) DeltaX=highStrike-lowStrike ATM_IV=LowerAvgIV+(slope * DeltaX)
me too. And fixed strike vol though that has the obvious caveats but it’s actually the thing you trade.
Thx, I think I'm using a similar method (though I've to study yours more deeply). Mine in C/C++ is as follows: Code: IVmid = (vCall[i].IV + vCall[i - 1].IV) / 2.0; Kmid = (vCall[i].Strike + vCall[i - 1].Strike) / 2.0; mulfac = Spot / Kmid; Call_ATM_IV = IVmid * mulfac; The index i is the next after the highest ITM, so the two ITM and OTM strikes get used in the calc. Similar with Puts, though minor differences exist, due to the direction of the ITMs...