# Calculating implied volatility from moneyness/volatility values for date

For an option expiring at a particular date I have

Moneyness 0.4,0.7,0.85,0.95,1,1.05,1.15,1.3,2.5
Vol       0.105,0.075,0.045,0.045,0.202,0.045,0.045,0.075,0.085


How do I get the volatility for an option with a particular moneyness? Do I interpolate with an 8th degree polynomial? How would I then handle cases where moneyness is outside the range? Or do I need to do curve fitting?

The interpolation of the implied vol surface is no easy task unfortunately and it is subject of extensive research.

This is because you want the vol surface to have some nice characteristics, e.g.: be smooth, non arbitrable, etc.

Two approaches exist:

• Assuming a parametric form for the volatility surface and calibrating it on the quoted implied volatilies.
• Interpolation of the quoted implied volatilities. In this case, linear or polynomial might not be a good idea (not smooth), try cubic splines instead.

I will just add that everthing depends on what you want to do with this volatility afterwards.

• I will use them to calculate greeks. I am going with cubic spline but it doesn't work for values oustide abscissa's range. I don't know If i should just clamp it – Ivan Anatolievich May 18 '18 at 10:09

I would say the best solution will be curve fitting, which is definitely not an easy solution.

Depends on whether you are fitting interest rates or stocks/commodities. You might try SABR for the former and SVI for the letter. There are lots of papers about them that you should easily find online.

However, it also depends on you are doing research or developing production-level. If the former, you can easily find open source old in R or python to quickly play and visualize. If the latter, you might need to spend more time to handle edge cases solving nin-converging issues. Fittings always have many tricky things you need to figure out.