modeling the vol surface when missing (quite a bit of) data

Discussion in 'Options' started by Baozi, May 21, 2019.

  1. Baozi

    Baozi

    Hi all,

    recently I have been bumping my head on the vol surface (pun intended).

    My conundrum is: I only have data for options expiring in 1M, 2M, 4M and 6M, however with this data I would like to create a vol surface model to have an idea (for instance) of the volatility level at 3M, or at 15DTE.

    The two solutions I have been playing with are: 1) recording the IVs every day while averaging them into different buckets, for instance 5-10DTE, 10-15DTE, 15-20DTE etc. In theory after a few expiration cycles I should have an idea of the average level for a given strike/maturity.

    solution 2) would be simply interpolating the missing data.

    the issue I have with #1 is that data does not come from the same point in time, so it is not very reliable if the underlying moved a lot in between different data points, and as for #2 well.. "interpolating" sounds tre quant, however IMHO is not so much better than a monkey throwing darts...

    Anyone of the big guys of ET (@sle, @Kevin Schmit , @newwurldmn , @srinir, @destriero) is willing to point me in the right direction?
     
  2. jamesbp

    jamesbp

    Much depends on why you want to model the vol surface in the first place
    Plenty of alternatives to consider

    - See the Volatility Surface by Jim Gatheral
    - See interpolation methods used by Peter Hoadley's software https://www.hoadley.net/options/develtoolsimpliedvolcalc.htm
    - You could calibrate the Vols you have to a model for Skew/Kurtosis or similar ... and then adjust DTE to create Vols for dates required

    All just a snapshot in time

    Cheers
    James
     
    Baozi likes this.
  3. Baozi

    Baozi

    @jamesbp

    thanks for the inputs.. regarding the first two suggestions, the name gatheral sends shivers down my spine (I'm no phd!), and Peter Hoadley uses cubic spline interpolation, which is fancy, but still an interpolation after all.

    On your third suggestion however you got my interest. Calibrating vols using skew/kurtosis? How? Can you be more specific or point me to a paper about it?
     
  4. jamesbp

    jamesbp

    I use the Corrado-Su model ( provided in Espen Haug's Option Pricing Formula Book ) to calibrate the option chain for Index options with European Exercise.

    The model requires 3 parameters, Vol, skew, kurtosis ... which I derive using excel's solver function to get the best fit to the option chain

    There are limits in the OTM wings for the calibration process ... so I overlay a curve fit to get Vols / option prices for OTM strikes

    I then have a reasonable set of model parameters that I can use
    ... to generate option prices with different time to expiry
    ... to flex the vol input ... using the root time method and 30 day vols

    There are definitely better ways to do this
    ... but it works fine for the purpose that I need it to

    Cheers
    James
     
  5. Wheezooo

    Wheezooo

    Solution #2. Keep things smooth.
     
  6. Matt_ORATS

    Matt_ORATS Sponsor

    Hi Baozi
    I just put up a blog for you explaining an approach https://blog.orats.com/modeling-the...structure-with-incomplete-options-market-data
    First, a good at-the-money (ATM) IV needs to be determined for each expiration.
    Second, any earnings effects needs to be removed.
    Third, a term structure formula based on the square root of time is used to solve for the best fit through the expiration IVs.
    Finally, using the term structure formula, the IV at specific dates can be calculated.
    I hope this helps.
    Matt
     
    Atikon, faust and Baozi like this.
  7. Baozi

    Baozi

    Cool! My question became blog material!
     
  8. jamesbp

    jamesbp

    Matt
    Interesting blog ... thanks
    I think your approach allows interpolation of term structure, but Baozi was looking for a way to calibrate the IV Surface / Option Chains ... do you extend your approach to do this ?
    Cheers
    James
     
  9. newwurldmn

    newwurldmn

    No perfect answer. It depends on why you are doing this. We did it so we didn’t have to store a vol surface into a database and we quoted a lot of OTC. Then we used an interpolation function but that has drawbacks as they generally didnt get the wings right and didn’t work for all cases (surfaces that had large events or skew was positive).

    If you are looking for just a point (like a weekly option equivalent on monthly data or if you are simulating a specific option, I would do it the below way:

    I would calculate the forward vol between two expiries And then determine the tenor you care about as function of the forward vol and the observable implied vol that is shorter than the tenor.

    So 3m would be something like sqrt(((2/3)*2m))^2 + ((1/3)*(forwardvol2m,4m))^2)

    You could also do this for the atm and then interpolate the otms by averaging the skews of the two sandwiching tenors and applying that to the 3M.

    Personally I just used the formula above. It was good enough for my purposes.

    Of course there are caveats for descrete events like earnings.
     
    Last edited: May 22, 2019
    Atikon and Baozi like this.
  10. ironchef

    ironchef

    In general, for equities/equity indices, without discrete event, is volatility sticky delta or sticky strike? What if there is a discrete event?

    Thanks.
     
    #10     May 22, 2019