Skip to content

    Under active development. New calculators and features ship every week. Everything currently runs free while the site matures — pricing pages are a preview, checkout is not open yet.

    Calculates locally in your browser · Dupire local volatility
    Derivatives / local vol

    Local volatility surface

    Black-Scholes assumes one volatility for every strike and maturity, and the smile is the market saying that is wrong. Dupire showed that a single function σ(S,t) reproduces the entire vanilla surface exactly. This differentiates a parametric surface to recover it, and shows where the second strike derivative makes that differentiation fragile.

    ATM implied22.84%Density122.009ArbitrageClean
    Local volatility
    16.63%
    at 110 strike and 1.00 years
    Implied volatility
    21.90%
    5.28 points from the local
    ATM skew
    2.71 pts
    per 10% move in strike, at this maturity
    Call price
    6.037
    per 100 of spot, 1.00 years
    Implied against local, by strike and maturity
    Two different objects: the implied is what the market quotes, the local is what the diffusion must use.
    16.6% local
    Implied against local, by strike and maturity
    StrikeTImpliedLocalDifference
    800.2532.95%43.61%10.66
    900.2527.77%28.79%1.03
    950.2526.13%25.10%-1.03
    1000.2525.01%22.97%-2.05
    1050.2524.34%21.95%-2.39
    1100.2524.05%21.91%-2.14
    1200.2524.45%24.39%-0.05
    800.5032.06%37.52%5.46
    900.5026.90%25.62%-1.28
    950.5025.28%22.46%-2.82
    1000.5024.17%20.56%-3.61
    1050.5023.51%19.72%-3.78
    1100.5023.23%19.71%-3.52
    1200.5023.64%21.93%-1.71
    801.0030.73%29.85%-0.88
    901.0025.57%21.30%-4.27
    951.0023.95%18.81%-5.14
    1001.0022.84%17.31%-5.54
    1051.0022.18%16.62%-5.56
    1101.0021.90%16.63%-5.28
    1201.0022.31%18.47%-3.85
    802.0029.35%22.70%-6.66
    902.0024.08%17.10%-6.98
    952.0022.40%15.25%-7.14
    1002.0021.23%14.07%-7.16
    1052.0020.52%13.50%-7.02
    1102.0020.19%13.45%-6.74
    1202.0020.51%14.75%-5.76
    805.0030.70%18.07%-12.64
    905.0024.41%14.70%-9.71
    955.0022.27%13.36%-8.91
    1005.0020.67%12.28%-8.38
    1055.0019.53%11.51%-8.02
    1105.0018.81%11.06%-7.75
    1205.0018.38%11.04%-7.34

    On this surface the local volatility sits below the implied at every strike, because the curvature inflates the second strike derivative — the denominator of Dupire. Flatten the curvature to zero and the two converge.

    Inspect the model
    Choose a quick result view, a scaled comparison, or the complete diagnostic set.
    The smile at three maturities
    Short-dated skew is steep and long-dated skew is flat: the market prices the same fear, spread over more time.
    The smile at three maturities0.0007.3814.7622.1429.5236.9080808585909095951001001051051101101151151201200.25y implied1y implied5y implied
    Local volatility surface
    What the diffusion actually uses. Higher than implied in the wings, lower at the money.
    Local volatility surface0.0009.7719.5429.3139.0748.8480808585909095951001001051051101101151151201200.25y local1y local5y local
    Canonical equations
    The exact relationships implemented by this engine.

    σ²(K,T) = [C_T + (r−q)K C_K + qC] / (½K² C_KK) · The exact local variance that reprices every vanilla.

    f(K) = e^{rT} ∂²C/∂K² · The denominator is the risk-neutral density; negative means arbitrage.

    σ(k,T) = σ_ATM(T) + s(T)k + c k² · A quadratic in log-moneyness, with a decaying skew.

    ∂σ/∂k at the money · What a desk hedges, not the level.

    finance methodology

    A clear path from inputs to results.

    Black-Scholes assumes one volatility for every strike and maturity, and the smile is the market saying that is wrong. Dupire showed that a single function σ(S,t) reproduces the entire vanilla surface exactly. This differentiates a parametric surface to recover it.

    Step-by-step methodWorked exampleAssumptions explained

    How to use

    1. Set the spot, the rate and the dividend yield.
    2. Shape the surface with the short and long ATM volatilities, the skew and the curvature.
    3. Pick a strike and maturity to inspect.
    4. Read the implied volatility, the local volatility and the density between them.

    The formula

    σ2(K,T)=∂TC+(r−q)K ∂KC+qC12K2∂KKC\sigma^2(K,T) = \frac{\partial_T C + (r-q)K\,\partial_K C + qC}{\tfrac12 K^2 \partial_{KK} C}

    Reference: Dupire (1994), Pricing with a Smile; Breeden & Litzenberger (1978) for the density identity.

    Worked example

    A 110-strike, one-year option on a skewed surface

    Inputs
    • Spot 100, 3% rate, no dividend.
    • Short-dated ATM vol 26%, long-dated 18%, skew −18 points, curvature 0.8.
    • Inspect the 110 strike at one year.
    Calculation path
    1. 1

      The surface gives an implied volatility of 21.90% at the 110 strike.

    2. 2

      The ATM implied at one year is 22.84%, so the smile has fallen 0.94 points across that range.

    3. 3

      Differentiating the surface in T gives the numerator of Dupire; differentiating twice in K gives a density of 122.0.

    4. 4

      The ratio is a local variance of 0.0277, so the local volatility is 16.63%.

    5. 5

      The local sits 5.3 points below the implied because the curvature inflates the denominator.

    Result

    21.90% implied · 16.63% local · density 122.0.

    Interpreting the result

    The local volatility is lower than the implied at every strike on this surface, and that is a direct consequence of the curvature: the second strike derivative in the denominator grows faster than the time derivative in the numerator. Set the curvature to zero and the two converge, which is the flat-surface test the engine is built around.

    Assumptions & limitations

    • The surface is parametric and smooth, so the derivatives exist everywhere.
    • Rate and dividend are constant.
    • The local volatility is a deterministic function of spot and time — no stochastic volatility.
    • Differences are central, with a strike step proportional to the strike.

    Frequently asked questions

    Why is local volatility hard in practice?

    Because Dupire differentiates the surface twice in strike. A surface fitted to a finite set of quotes is noisy, and the second derivative amplifies the noise into negative or infinite local variance. Real desks smooth the implied density rather than the volatility.

    Does local volatility predict the smile correctly?

    It reprices today's vanillas exactly but gets the dynamics wrong: it implies the smile moves in a way that the market does not. That failure is why stochastic and rough volatility models exist.

    What does a negative density mean?

    It means the surface admits arbitrage: a butterfly spread with a negative price. The engine reports the density rather than silently taking the square root of a negative variance.

    Why the cross term in the surface?

    A quadratic in log-moneyness is the simplest form that has a skew and a curvature with analytic derivatives, which keeps the finite differences clean.

    Methodology last reviewed 2026-10-22. Results are informational and not financial or engineering advice — see our disclaimer.