I am trying to implement a local volatility pricer using Monte Carlo and Dupire's equation in function of implied volatilities and I was told that first of all I have to check Dupire is well implemented so I was reccommended to prove it like this:

-The first step, to check Dupire's function, was to get the local volatility surface from a flat implied volatility surface. As it is flat and we know that local vol skew is double of the implied vol skew I expect also a flat local vol surface with the same value of the implied vol surface (since ATM value is the same for both), am I wrong?

-The second step would be to chek Dupire with an implied volatility surface with some slope in the expirys term but without skew (flat in the strikes). The question is: what I should expect from this? I understand that it should be a local volatility surface without skew in the moneyness term (as I said its skew is double of implied volatility and it is flat) but don't know about the expiry term.

-Finally I can't prove this case because I get negative local variances (complex local vols) so I can't plot the surface. I am using a bivariable cubic spline over moneyness and linear in expiry with python functions bisplrep and bisplev but I would like if anyone can tell me which interpolation scheme I should use.

This is the implied volatility surface I artificially created and which I am using to check step 2, but as I said I obtain complex local vols with that kind of interpolation. enter image description here

  • 1
    $\begingroup$ Negative local variance may come from calendar arbitrage, can check by plotting total variance $\sigma^2T$ and see whether it is increasing. Since the skew is flat, negative local variance is less likely to come from butterfly arbitrage. $\endgroup$
    – ryc
    Commented Mar 20, 2021 at 7:45
  • $\begingroup$ Thanks! I checked it by plotting total variance and it was pretty weird due to the way I generated the temporal slope. Then I fixed it and now it is increasing so I dont get negative local variance. My final question is: what should I expect about de local vol surface, to be the same as the implied volatility surface? or maybe to have some more/less temporal slope than IVS? $\endgroup$ Commented Mar 23, 2021 at 16:43
  • $\begingroup$ this is well described in Gatheral book "The volatility surface". The slope of the local variance in log-moneyness is around twice that of the implied variance. In time, it all depends on your interpolation. Linear interpolation will lead to piecewise flat looking local variance. $\endgroup$
    – jherek
    Commented Sep 25, 2023 at 7:48

1 Answer 1


I would suggest to use linear interpolation. The second derivative might cause problems with cubic spline.

  • $\begingroup$ Very odd recommendation. What the author of the post does is relatively standard. Not sure how linear interpolation can work with Dupire since it involves second derivatives. $\endgroup$
    – jherek
    Commented Sep 25, 2023 at 7:45

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.