I am currently working on a project for which I need the implied volatility surfaces, to estimate the value of plain-vanilla European options with different strikes (cannot be observed directly in the market). I collected American option chain data from a data source and calculated the implied volatilities with the Black-Scholes formulas. As you know, the price of an European option is not always equal to the price of an American option. Normally, in a positive interest rate environment and for non-dividend paying stocks, the price of an American call is equal to an European call. However, my data set do contain a lot of options which has dividend paying security as underlying and we currently live in a negative interest rate environment.

To solve this problem, I picked only out-of-the-money options to calculate the implied volatilities. I made this choice because out-of-the-money options will never be exercised (in this case the American option converts to an "European" option). When I did a random check for three option chains, I got really nice volatility smiles (typical school examples).

As mentioned, I need to make estimate for plain-vanilla options with different strike prices (most of them cannot be directly observed in the market). So I made the following simple regression, to interpolate between observed strike prices:


Which produces a lot of graphs as follows:

enter image description here

The regression matches the observed implied volatilities, I got a really high r2 score and I have no problem to interpolate the implied volatilities. However, sometimes I get a graph as follows (10-15% of the cases) :

enter image description here

As you can see, the regression is not able to interpolate due to the fact that there is a "broken" volatility surface. The observed implied volatility for a put option with strike 17 is equal to +/- 0.42 and the observed implied volatility for a call option with strike 19 is equal to +/- 0.52 (the share price is around 18.75). The time to maturity is 9 months. I already recalculated a couple of times, so, I am 98% sure I did not make a mistake. Furthermore, one extra detail is the following graph, in which you see that the r2 improves over time (last day is a data error):

enter image description here

My exact question is as follows: Do some has also faced a "broken" volatility surface? And what is it caused by? And how did you solved it?

  • $\begingroup$ It might be that the options on the left side of your diagram were not traded during a sharp intraday drop in the price of the underlying, so that the prices and implied vols of those options are stale. $\endgroup$ – Alex C Jul 4 '19 at 18:58
  • 1
    $\begingroup$ I have would guess that your calculation of the fwd that you're using to imply volatilities is wrong. You can check this by adding an arbitrary multiplier (ie 1.05) to the fwd before you calculate the vols, is should make it less "broken" if this is the case, you need to rethink how you are calculating the fwd. You could have issues with the timings of the quotes, your dividend data, borrow costs, interest rates, etc. $\endgroup$ – will Jul 4 '19 at 19:03
  • 1
    $\begingroup$ It can be liquidity too. Are you using mid price (=(Bid+Ask)/2) of the option to calculate IV. What if the spreads are out of whack? In that case you will get a lot of noise in your curve. $\endgroup$ – nimbus3000 Jul 5 '19 at 13:26
  • $\begingroup$ @AlexC The prices are not observed in the market but quoted by Euronext (settlement prices). $\endgroup$ – 10uss Jul 7 '19 at 19:55
  • $\begingroup$ @will Thanks for your comment, I will check your suggestion tomorrow. I agree it could also be the dividend data, I also check this tomorrow if I see the same pattern for options with non-dividend paying securities and update the question. $\endgroup$ – 10uss Jul 7 '19 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.