Checking Dupire Local Volatility from an Implied Volatility Surface
Summary
The document discusses how to validate an implementation of Dupire’s equation when deriving local volatility from an implied volatility surface. The question proposes starting with a flat implied-volatility surface, then testing a surface with term structure but no strike skew. It also reports negative local variances when using a bivariate cubic spline across moneyness and a linear interpolation across expiry.
The only answer recommends linear interpolation, noting that the second derivatives involved in Dupire’s calculation can make cubic splines problematic. The exchange does not provide a full derivation, a worked test case, or a validated interpolation procedure, and it does not resolve what local-volatility term structure should result from the proposed expiry slope. It therefore serves as a short implementation caution: interpolation that behaves smoothly in implied volatility can still produce unstable derivatives and invalid local variances.
Key ideas
- Dupire’s equation derives local volatility from the shape of an implied-volatility surface.
- A flat implied-volatility surface is proposed as a basic implementation check.
- Cubic spline second derivatives can contribute to negative local variances.
- The answer suggests linear interpolation but does not establish a complete interpolation method.
Tags
Full text
# Dupire (Local Vol with Imp Vol) # Dupire (Local Vol with Imp Vol) 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. ## Answer by Animesh Saxena (score 0) https://quant.stackexchange.com/a/61703 I would suggest to use linear interpolation. The second derivative might cause problems with cubic spline.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.