Calculating VIX-like number for single names

Discussion in 'Options' started by LM3886, Nov 10, 2021.

  1. LM3886

    LM3886

    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.
     
    Last edited: Nov 10, 2021
  2. 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.
     
    yc47ib, TooEffingOld and LM3886 like this.
  3. LM3886

    LM3886

    Using the expiration with around 30 DTE, I suppose?
     
  4. ajacobson

    ajacobson

    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
     
  5. ajacobson

    ajacobson

    Just checked they appear to still calculate and disseminate.
     
  6. thecoder

    thecoder

    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.
     
  7. 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)
     
    LM3886 likes this.
  8. 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)
     
  9. newwurldmn

    newwurldmn

    me too. And fixed strike vol though that has the obvious caveats but it’s actually the thing you trade.
     
    Atikon likes this.
  10. thecoder

    thecoder

    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...
     
    Last edited: Nov 10, 2021
    #10     Nov 10, 2021