Equation for volatility surface parametrisation

Discussion in 'Options' started by ZeroReturn, Dec 1, 2017.

  1. I am looking for a very simple equation to parametrise a curve. The equation should only be dependant on the strike price K, the underlying price F, the at the money volatility Sigma and some other values for calibration.

    The equation should be able to produce results like in the chart below:
     
  2. Easiest is to fit a parabola, the equation of which is y = ax^2 + bx + c (polynomial of degree two). You'll need at least 3 vol points for the fit, suggest ATM 0d straddle vol,+25d call vol and -25d put vol. Since there are only three points you get an exact fit with a little linear algeba. Three equations with three unknowns. Convert your deltas to strikes, Kp, Kc and Ka. Invert the matrix:

    Kp^2 Kp 1
    Ka^2 Ka 1
    Kc^2 Kc 1

    Multiply by the vector:
    Vp
    Va
    Vc

    This will return the three parameters of the parabola, a b c.

    You can also, in a black-scholes world calc a curve via the vanna/volga method in terms of the atm , the 25d RR, and the 25d Fly.

    For stoch vol and other models that can explain skew and smile, you can try a model-based fit. Vary parameters of the model until you get the best fit on your points.

    For more complex curves use spline, higher degree polynomial, or rational function fits. Though these last three don't give you parameters that translate quite so easily into the usual level, slope, and curvature.
     
  3. SABR (you can find Pat Hagan's famous paper with all the specific formulae on the web) is one well-known method, but it's probably beyond the scope of the discussion here.

    In the "simpler" world of FX, this paper by Wystup etc offers a method (discusses what Kevin talks about above):
    https://www.econstor.eu/bitstream/10419/40186/1/613825101.pdf

    If you wanna really get into these topics, AFAIK, general work by Gatheral is the "gold standard".
     
  4. Thank you very much for these replies. This is basically exactly what I was looking for. I read about most of those models, but given the very theoretical papers, I sometimes struggle to convert this into python code or excel.

    These approaches look promising. I’ll try it out.
     
  5. I have tried most of them and found it is impossible to get an adequate fit with a parabola, or higher degree polynomial either. They tend to go seriously astray near the money. You could fit segments of the curve with them but that too has problems.

    I looked at Gatheral's and even have his code but it is enormously complex. I looked at SABR too.

    You can use spline fits but these amount to little more than (smoothed) interpolation in my opinion.

    In the end, I just went with interpolation. If it is adequate for what you want to do, there is no point trying for the (almost) impossible.

    Thanks to those who posted references and I will review them further. The Wystup paper looks very interesting.
     
    Last edited: Dec 4, 2017
  6. I currently still use a segmented curve where I basically build two custom made equations. It is absolutely rudimentary.

    [1] Vol(K) = Vol(ATM) * (F/K)^(1-callskew) for moneyness > 1, with moneyeness = F/K
    [2] Vol(K) = Vol(ATM) * (K/F)^(1-putskew) for moneyness <= 1, with moneyness = F/K

    I would like to apply segmented different function. What I like about my current approach, is that I can decide to increase put or call skew seperately. If you have more detailed ideas, please let me know. The options market on which I trade (Bitcoin Options) is extremely thin liquidity wise, so an interpolation is not really an option.
     
  7. srinir

    srinir

    Where is this bitcoin option listed?
     
  8. It is on deribit.com
     
    srinir likes this.
  9. sle

    sle

    I assume you are trying to make markets in bitcoin options? Here are some random thoughts.

    First of all, using a true model, especially one that includes some ideas about the dynamics of volatility makes sense if there are sufficient number of market participants that trade the product. From experience, if the market is still in it's developmental stages, it makes more sense to price options based on your own volatility prediction (as well as other distributional parameters).

    Second of all, most models that you are going to find assume an asset where the volatility is relatively low so the skew makes sense. If you have an asset that's realizing 10-20% a day on regular basis, the skew and kurtosis become almost irrelevant.

    My approach would be to build a smart vol predict model and pay a lot of attention to your transaction costs when hedging delta. It would be almost an ideal situation if you can combine some simpler delta-one strategies with trading volatility.
     
    #10     Dec 10, 2017
    jtrader33 likes this.