Approximating Local Volatility from an Implied Volatility Surface
Summary
The document outlines a numerical route from option prices implied by a volatility surface to local volatility using Dupire's formula. It identifies the required inputs as the maturity derivative of call prices and the second strike derivative. Rather than derive analytic expressions for those sensitivities, it recommends approximating them with central finite differences across nearby maturities and strikes.
This provides a coding-oriented starting point for calculating local volatility from a grid of call prices. The excerpt does not include an Excel worksheet, a complete numerical example, or guidance on constructing a smooth arbitrage-consistent price surface. Because the method uses numerical derivatives, the choice of grid increments and the quality of the input surface matter; those practical issues are not addressed in the document. It points readers toward further references for fuller explanation.
Key ideas
- Dupire local volatility is calculated from maturity and strike derivatives of call prices.
- Central finite differences can approximate the maturity derivative using nearby maturities.
- A central strike stencil approximates the second derivative with respect to strike.
- The document gives derivative approximations but no worked numerical surface or implementation details.
- Input surface quality and finite-difference choices are practical concerns not covered in the excerpt.
Tags
Full text
# Numerical example of how to calculate local vol surface from IV surface
# Numerical example of how to calculate local vol surface from IV surface
I'm looking for an excel example (not a copy of Dupire's eqn) of how to convert an IV surface to a local vol surface. If unsuccessful I'll work through Dupire's eqn but would be helpful to look at an example first.
## Answer by user16651 (score 2, accepted)
https://quant.stackexchange.com/a/18567
I know one article (download) that explaining how to calculate local vol surface from IV surface and also chapter 18 of this book is very good In this context. However you know that Dupire’s (1994) formula for local volatility is \begin{align} \sigma_L(k,T)=\sqrt\frac{\frac{\partial C}{\partial T}}{\frac{1}{2}K^2\frac{\partial^2 C}{\partial K^2}} \end{align} where $C = C(K,T)$ is the time-$t$ call price with strike $K$ and maturity $T$ when the spot price is $S_t$.The analytic expressions for the derivatives required of the Dupire (1994) local volatility formula require extensive coding From a coding point of view, it is simpler to approximate the derivatives using finite differences. Write $C(K) = C(K,T)$ to emphasize the dependence of the European call price on the maturity T. We use a small time increment $\Delta t$ and approximate the time derivative as the central difference
\begin{align} \frac{\partial C}{\partial T}\approx\frac{C(K,T+\Delta T)-C(K,T-\Delta T)}{2\Delta t} \end{align} Similarly, we can use a small strike increment $\Delta K$ and approximate the second order strike derivative as the central difference \begin{align} \frac{\partial^2 C}{\partial K^2}\approx\frac{C(K-\Delta K,T)-2C(K,T)+C(K+\Delta K,T)}{(\Delta K )^2} \end{align}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.