Let's set the spot price as 1 (spot price of underlying security) and express each option contract as a point in 3D space $$ \{ x, y, z \} = \{ tenor, moneyness, premium \} $$ where the premium is also relative, like moneyness.

Past volatility, interest rates and in-the-money options are ignored, we are interested only in out-of-the money options.

Additionally we can add imaginary asymptotical points, contracts with $moneyness = 0$ and $moneyness = 10$ (10x spot price) and set its premium as zero. Just to introduce asymptotical constraints for our 3D surface.

All this would give us a set of points in 3D space. What would be the simple approach to interpolate it? Find points in-between? Find premium for arbitrary values of moneyness and tenor?

The simplest approach would be the Inverse distance weighting, find N nearest contracts to the given point $ \{ x, y \} = \{ tenor, moneyness \} $ and then compute the weighted average of its premiums.

I wonder if there are better simple options? I don't want to use BlackSholes model, because I don't intuitively understand how it works and I don't care about the past volatility and don't want to make too much assumptions about the surface. I want to stay close to the surface defined by the real prices, whatever shape it has and just interpolate it to fill the gaps. Just any universal and relatively simple method with the single assumption that surface is more or less smooth.


Just to be sure we are talking about the same things.

tenor - how much days remained till the expiration date, moneyness - how far strike price is from the spot price (relative, to spot price), premium - how much money you get if you sell option (relative, to spot price).

  • $\begingroup$ I'm not sure how premium differs from moneyness? The 3 dimensions for vol cube (e.g. for swaptions) are usually the expiry of the option, the tenor of the underlying swap, and the moneyness. $\endgroup$ Jun 30, 2020 at 21:15
  • $\begingroup$ @DimitriVulis If I'm not mistaken, option absolute params are {expiration, strike price, premium} and the same relative params are {tenor, moneyness, relative_premium}. It's the same as absolute, just the abs date converted to days remaining and strike and premium both divided by the abs spot price. Do I miss something? I.e. moneyness is how far option from the spot price, premium - how much money you get by selling it, no? $\endgroup$
    – Alex Craft
    Jun 30, 2020 at 21:20
  • 1
    $\begingroup$ Maybe other folks familiar with swaptions can comment on the vocabulary please? My recollection is, for example, a European receiver allows me in 3 months (option expiry) to start paying n (strike) fixed and receiving floating for 5 years (tenor of underlying swap). The moneyness is the difference between n and the swap 5y rate now. (Payer would allow me to receive fixed, pay floating). You could index your vol cube by n or by the moneyness. The premium is the fee for buying an option. $\endgroup$ Jun 30, 2020 at 22:30
  • $\begingroup$ @DimitriVulis hmm, swaptions looks like a more complex things, I was talking about the usual stock options, like PUT or CALL for the stock shares. $\endgroup$
    – Alex Craft
    Jun 30, 2020 at 23:55
  • $\begingroup$ Then I don't think you'd neeed a 3 dimensional vol cube... A 2 dimensional vol surface should suffice. $\endgroup$ Jul 1, 2020 at 0:09

1 Answer 1


As has been said in the comments, unless you are working with an asset class that has a second dimension, i.e, swaptions where you have not only the option expiry but also the underlying tenor, a surface would suffice. In the swaptions case you can either have a surface for ATM options or a given strike, or you will need a cube (3 dimensions): option expiry, swap tenor and strike (or moneyness).

For Equities and FX, for example, you will have 2 dimensions: (1) option expiry and (2) strike or moneyness or delta.

The option premium or vol (Black or Normal) would be the result value for each combination of the two dimensions.

As for interpolation, you won't be able to do a simple linear interpolation because that might violate nonarbitrage conditions.

SABR interpolation is simple enough and you just need to fit the parameters to a given section and get your vol from the model.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.