The model is said to be perhaps the most popular method of valuing and managing exotic equity and foreign exchange options so that they match the market smile1. What valuation staff need to know next is how the model is fitted to the market surface and why recovering the local volatility is difficult.
Making volatility a function of price and time
A local volatility model makes the volatility of the underlying price a function of the current price and time only. This function is called the local volatility. With no dividends, under risk-neutral valuation, the price moves according to the following equation2:
Here is the interest rate and is a Brownian motion. If is constant, the price follows a geometric Brownian motion, the same as in the Black-Scholes model. In this model, is the only source of randomness driving the price, so once the price and time are known, the volatility at that time is determined.
Consider a hypothetical example in which , a function that does not depend on time. At a price of 100 the volatility is 20%, at 80 it is about 22.36%, and at 125 it is about 17.89%. The lower the price, the higher the volatility, which has the same direction as the downward-sloping smile common in equity options (Volatility Smiles and Surfaces).
When the local volatility is a function of the price only, the main term of the implied volatility is the local volatility at the price midway between the current forward and the strike3. A local volatility fitted to the market smile therefore has about twice the steepness of the smile slope4.
The Dupire formula
The Dupire formula gives the local volatility from the prices of market call options. Let be the price of a call with expiry and strike , given today's underlying price. In a local volatility model, this price satisfies the following partial differential equation in strike and expiry5:
Suppose the market call prices are available at all strikes and expiries. Solving this equation for determines the local volatility that matches the market prices5:
The numerator is the rate at which the call price grows as the expiry is extended, plus an adjustment of the strike for the interest rate. In the denominator, is the probability density of the price at expiry multiplied by the discount factor6. The denominator is the product of , the discount factor, and the probability density. The squared local volatility is the numerator divided by this product. The derivation is omitted here.
If you write the call price in terms of the implied volatility (the value on the volatility surface) and substitute it, the squared local volatility can be written with the derivative of the surface in the expiry direction and its first and second derivatives in the strike direction7. Once the slope and curvature of the market surface are known, the local volatility is determined.
This formula shows that the model can match the market surface. A model that uses the obtained this way reproduces the prices of calls and puts at all strikes and expiries, without adjustment8. When expiries are available only at discrete points, the local volatility is treated as a function independent of time within each expiry interval, and the model is fitted to market prices in order from the shortest expiry8. The same model can also value exotic options. The steps so far are as follows.
- Fit a function that is constant within each interval to the call prices at all strikes and expiries.
- Find the derivatives in the expiry direction and the strike direction.
- Use the Dupire formula to find the local volatility.
- Check that the model prices match the market call and put prices.
- Value exotic options.
In practice, market prices exist only at discrete expiries, so the function must be set constant within each interval, and a small error in a price makes the result hard to handle. This difficulty is covered in the section "The difficulty of recovering local volatility."
Worked example: a flat surface
Check the steps of the formula on an example you can follow by hand. Consider a hypothetical example in which the underlying price is 100, the interest rate is 1%, the expiry is 1 year, and the surface is flat, with an implied volatility of 20% at every strike. Differentiating the Black-Scholes formula for a call with a strike of 100 and an expiry of 1 year gives the following values9:
| Quantity | Value |
|---|---|
| Call price | 8.4333 |
| 4.4201 | |
| −0.4753 | |
| 0.019724 | |
| Numerator | 3.9448 |
| Denominator | 98.62 |
The numerator is 4.4201 + 0.01 × 100 × (−0.4753) = 3.9448, and the denominator is 0.5 × 100² × 0.019724 = 98.62. The ratio is 3.9448 ÷ 98.62 = 0.0400, and its square root is 0.20. The local volatility obtained from the flat surface is 20% at every strike and expiry, which takes us back to the Black-Scholes model with constant volatility.
The difficulty of recovering local volatility
Computing the implied volatility from market data poses no numerical difficulties. Recovering the local volatility, however, is an ill-posed problem (a problem in which a small change in the input can change the answer a lot) and requires careful treatment10. Market prices are visible only at discrete strikes, so the second derivative is approximated by a difference of prices at neighboring strikes (the butterfly price). The difference divides the price error by the square of the strike spacing, so a small error in a price can grow into a large error in the second difference.
On the flat surface of the previous example, suppose that only the middle price has an error of 0.01 (about 0.1% of the price of 8.4333). Keep the numerator at the correct value of 3.9448 and change only the difference in the denominator11.
| Strike spacing | Second difference (no error) | Local volatility (%) | Second difference (with error) | Local volatility (%) |
|---|---|---|---|---|
| 10 | 0.019364 | 20.19 | 0.019164 | 20.29 |
| 1 | 0.019720 | 20.00 | −0.000280 | Undefined |
With a spacing of 10, the error moves the second difference by only 0.0002 (2 × 0.01 ÷ 10²), and the local volatility moves by only about 0.1 percentage points. With a spacing of 1, the effect is 0.02 (2 × 0.01 ÷ 1²), which exceeds the second difference of 0.0197. The denominator becomes negative, the squared local volatility becomes negative, and the local volatility is undefined. A finer spacing brings the difference closer to the derivative, but makes it more sensitive to price errors.
The formula also has other conditions. Unless the denominator is positive and the numerator is 0 or more, the squared local volatility is not 0 or more. A butterfly price of 0 or more, and, when the interest rate is 0, a call price that does not fall as expiry lengthens, are necessary conditions for no-arbitrage (the "No-arbitrage constraints" section of "Volatility Smiles and Surfaces"). A positive denominator (a butterfly price above 0) is a stronger condition than the necessary condition for no-arbitrage. If a surface built by interpolation breaks this condition, the local volatility is undefined.
Local versus stochastic volatility
A stochastic volatility model is one in which the volatility is not determined by the underlying price and time alone, and is driven by a separate source of randomness12. In a local volatility model, the only randomness is the price, and once the price and time are given, the volatility is determined too. The Heston and SABR models are stochastic volatility models.
The two kinds of model are linked as follows. The squared local volatility obtained by applying the Dupire formula to the surface of a stochastic volatility model equals the expectation of the squared instantaneous volatility , conditional on the price at expiry being . The expectation is taken under the risk-neutral measure13.
The local volatility fitted to the surface produced by a stochastic volatility model is the square root of the model's squared volatility (the variance) averaged over each price. For this reason, the two models can reproduce the call and put prices of the same surface. The surface fixes only the distribution of the price at each expiry. It does not fix how the price moves in between, so for options whose payoff depends on the price along the way, such as a barrier option, the prices can differ14.
| Point of comparison | Local volatility | Stochastic volatility |
|---|---|---|
| How volatility is determined | Determined by a function of price and time | Not determined by price and time alone; driven by a separate source of randomness |
| Number of sources of randomness | One, which drives the price | One that drives the price and one that drives the volatility |
| How the model is fitted to the surface | The function is recovered from the surface and matches the prices at all strikes and expiries | The parameters are chosen to come as close to the surface as possible |
| Model prices for the same surface | The distribution at each expiry is the same, so call and put prices are the same | Payoffs that depend on the price along the way, such as barrier options, can differ |
| Smile movement when the price moves | Moves in the opposite direction to the market (next section) | A model that correlates price and volatility (SABR) is said to reproduce the smile movement15 |
How the smile moves when the underlying price moves
A local volatility model matches today's surface at every price, but how the smile moves after the underlying price moves is determined by the form of the model. When the local volatility is a function of the price only, the following result holds. Suppose the market smile is when the forward price is . After the forward moves to , the smile of the model is, to a first-term approximation16:
When the forward rises, the smile moves toward lower strikes, and when the forward falls, it moves toward higher strikes. In the market, the underlying price and the smile move in the same direction16. The model's prediction is opposite to the market.
Consider a hypothetical example in which the 1-year smile is 24% at a strike of 90, 20% at 100, and 17% at 110, and the underlying price (standing in for the forward) moves from 100 to 105. For a call with a strike of 100, compare three views17. The interest rate is 1%.
| View of the smile after the move | Volatility at strike 100 (%) | Call price after the move |
|---|---|---|
| The value at each strike stays (sticky strike) | 20.00 | 11.4698 |
| The shape at each moneyness stays (sticky delta) | 21.90 | 12.2087 |
| Prediction of the local volatility model | 18.50 | 10.8902 |
"How the surface moves when the market moves" in "Volatility Smiles and Surfaces" covers the sticky strike and sticky delta views. In the local volatility model's prediction, the volatility at strike 100 falls to the value at 105 on the surface before the move. That value is 18.5%, midway between 20% and 17%.
The delta is the Black-Scholes delta plus the vega times the amount by which volatility moves with the price (for a downward-sloping smile, the amount is positive under sticky delta and negative in the local volatility model). The next table approximates this amount using the slope of the smile (−0.35 percentage points per 1, or −0.0035 as a ratio, from the difference between strikes 90 and 110), and the amount added is ±0.1381, the vega of 39.45 times 0.0035.
The price table above uses 18.5%, found with the slope between 100 and 110, and 21.90%, found with the slope between 90 and 100. These slopes differ from the slope in the next table (between 90 and 110), so the amounts of movement differ.
| View of the movement | Delta before the move (approximation with the slope set to −0.35 percentage points per 1) |
|---|---|
| The value at each strike stays (sticky strike) | 0.5596 |
| The shape at each moneyness stays (sticky delta) | 0.6977 |
| Prediction of the local volatility model | 0.4215 |
Because the local volatility model moves the smile in the opposite direction to the market, the delta and vega obtained from the model become unstable, and hedging with them can turn out worse than hedging with the naive Black formula18. The problem is not whether the model is internally consistent, but whether the smile movement the model predicts matches reality.
To summarize the assumptions and limits of the model: the local volatility can be recovered from a market surface only when the surface satisfies the conditions of the Dupire formula, namely a positive denominator and a numerator of 0 or more. It is undefined if a surface built by interpolation breaks them. Even when the conditions hold, a small error in a price can grow into a large error in the second difference. Even if the model matches today's surface at every price, the smile movement it predicts after the price moves is opposite to the market, and the delta and vega can become unstable.
- After (underlying 105, local volatility)
- Before (underlying 100)
Volatility and call price after the move, and delta before the move, by view of the move
| View of the move | Volatility at the strike (%) | Call price after the move | Delta before the move | Added |
|---|---|---|---|---|
| sticky strike | 20.00 | 11.4698 | 0.5596 | 0.0000 |
| sticky delta | 21.90 | 12.2087 | 0.6977 | 0.1381 |
| local volatility | 18.50 | 10.8902 | 0.4215 | −0.1381 |
- Call price before the move (underlying 100)
- 8.4333
- Black-Scholes delta before the move
- 0.5596
- Vega before the move (per 1.00 of volatility)
- 39.45
- Slope of the smile (strike 90 vs 110, points per 1)
- −0.35
Simplifications
- The underlying is 100 before the move, and you enter the volatilities at strikes 90, 100 and 110. Between them the smile is a straight line; below 90 and above 110 it stays at the end values.
- The smile after the move is σ₀(K) for sticky strike, σ₀(K × 100 / price after the move) for sticky delta, and σ₀(K + price after the move − 100) for the local volatility prediction (the first term of Hagan et al.'s formula (2.10); the correction terms are ignored).
- The call price is the Black-Scholes price at the displayed volatility (to 2 decimal places), so the subtractions on screen add up.
- The delta is the Black-Scholes delta plus vega times the amount by which volatility moves with the price (the "Added" column). That amount is matched to the slope of the smile (strike 90 vs 110): −slope × K/100 for sticky delta and the slope for local volatility. It is not the slope of a real surface, and it is reasonable only near strike 100 (at 90 or 110 it can differ a lot from the delta found by repricing). With a steep slope of volatility, the call delta can fall outside 0 to 1.
- The market surface is just three points for one expiry. Finding the local volatility from a surface with Dupire's formula is not covered.
This simulator uses simplified calculations for learning. It cannot be used for valuing actual transactions or managing their risk. (Disclaimer)
About this simulator
Move the smile before the move (the volatilities at strikes 90, 100, and 110), the underlying price after the move, the call strike, the rate, and the expiry to compare the price and delta under the three views. The initial values are those of the worked example above. Setting the underlying price back to 100 makes the three prices equal. Lowering it to 95 raises the volatility at strike 100 under the local volatility prediction and lowers it under sticky delta. Switch the view on the chart to see each smile after the move.
Notes
-
Hagan et al., "Managing Smile Risk," Section 2.2 (page 87). The source says, "It is perhaps the most popular method of managing exotic equity and foreign exchange options." The source is a paper published in Wilmott magazine. ↩
-
Roger W. Lee, "Implied Volatility: Statics, Dynamics, and Probabilistic Interpretation," Section 2.2, equation (2.1) (page 5). The equation leaves out dividends and writes the price dynamics under risk-neutral valuation. ↩
-
Hagan et al., "Managing Smile Risk," Section 2.2, equations (2.7) and (2.8) (page 87). The correction term is described as small compared with the main term. ↩
-
Equation (2.9) (page 87) of the same source by Hagan et al. If the market smile is , the local volatility is multiplied by a correction term. The "twice" in the text is a calculation from this formula. ↩
-
Lee, Section 2.2.1, equations (2.2) to (2.4) (pages 5–6). Equation (2.3) is the Dupire formula and equation (2.4) defines the "implied local volatility" , which corresponds to in the text. ↩ ↩2
-
Martin Haugh, "Black-Scholes and the Volatility Surface," "What the Volatility Surface Tells Us" (page 6). If the probability density of the price at expiry is , then , and therefore . ↩
-
Lee, Section 2.2.1 (page 6). Substituting into equation (2.4) writes in terms of the first derivative of with respect to and its first and second derivatives with respect to . is the implied volatility and is a variable for the position of the strike. ↩
-
Hagan et al., "Managing Smile Risk," Section 2.2 (page 87). After calibration, the model reproduces the market prices of calls and puts at all strikes and expiries "without adjustment." The setup in equation (2.6) and the procedure of fitting from the shortest expiry are in the same place. ↩ ↩2
-
Calculation. The Black-Scholes formula (from Haugh's source) was differentiated with respect to strike and expiry, and evaluated at , , , , and . The table shows rounded values; the unrounded values give a numerator of 3.944793 and a denominator of 98.619833. ↩
-
Lee, Section 2.2.1 (page 6). The source says, "the computation of I from market data poses no numerical difficulties, the recovery of L is an ill-posed problem that requires careful treatment." ↩
-
Calculation. The call prices are 14.1929, 8.4333, and 4.6101 (strikes 90, 100, 110) for a spacing of 10, and 8.9185, 8.4333, and 7.9679 (99, 100, 101) for a spacing of 1. Prices are shown rounded to four decimals, and the second differences were computed from the unrounded prices. The error adds +0.01 to the middle price. ↩
-
Lee, Section 2.3 (page 8). For the stochastic volatility model , the source says, "In contrast to local volatility models, is not determined by and ." ↩
-
Lee, Section 2.3.1 (pages 8–9). The source says, "Under stochastic volatility dynamics, implied local variance at is the risk-neutral conditional expectation of , given ," and credits the argument to Derman and Kani. ↩
-
Haugh's source, "Example 2 (Same marginals, different joint distributions)" (page 7). The conclusion is on page 16. The statement that the joint distribution is not determined by the surface is on page 6. ↩
-
Hagan et al., "Managing Smile Risk," the abstract and Section 2.3 (pages 84–85 and 89). This is the authors' claim that the SABR model, which correlates price and volatility, captures how the smile moves. The SABR model is covered in detail on the SABR model page. ↩
-
Hagan et al., "Managing Smile Risk," Section 2.2, equation (2.10) (page 87). The smile after the move is multiplied by a correction term, and the source states that the model's prediction is opposite to the market (page 85 makes the same point). ↩ ↩2
-
Calculation. The call prices use the Black-Scholes formula (from Haugh's source), with an underlying price of 105, a strike of 100, an interest rate of 1%, and an expiry of 1 year. The 21.90% is the linear interpolation of 21.9048% between strikes 90 and 100, rounded; at 21.9048% the price is 12.2106. The delta is the delta of 0.5596 at the price before the move of 100, plus the product ±0.1381 of the vega 39.4479 and the movement ±0.0035. ↩
-
Hagan et al., "Managing Smile Risk," the abstract (page 84), Section 2.2, equation (2.12) (page 88). Delta and vega hedges derived from the model can be unstable and can be worse than hedges from the naive Black formula. ↩