Normalizing Option Data for Local Volatility Calibration
Summary
The document discusses calibrating a local volatility surface from option prices using the Andreasen–Huge interpolation approach. To accommodate nonzero rates and dividends, it proposes expressing the asset as a normalized variable: divide spot by its forward value so that the transformed process has zero drift. Option prices can be mapped into this zero-rate setup by rescaling strikes and prices, then the calibrated volatility can be mapped back to the original asset coordinates.
The response distinguishes an initial piecewise-constant volatility estimate from a final surface. It describes the initial estimate as a tool for generating a denser grid of option prices, from which local volatility points can be recovered with Dupire’s equation. The question of how best to interpolate those points remains open: linear interpolation may suffice for rough values, while smoother choices may be needed for Greeks. No numerical validation or comparison of interpolation schemes is supplied.
Key ideas
- Dividing the asset by its forward value produces a zero-drift variable for calibration.
- Market option prices can be transferred through strike and price rescaling.
- The initial piecewise-constant volatility estimate is used to generate denser option prices.
- Dupire’s equation can recover local volatility from the denser option-price grid.
- Interpolation choice depends on the application, especially whether Greeks are needed.
Tags
Full text
# Answer by Jesper Tidblom (score 2)
# Three questions regarding local volatility implementation (based on the Andreasen, Huge article "Volatility interpolation")
I am new to the area of local volatility interpolation and I am trying to make a decent implementation for calculating the local volatility surface from option prices using the basic methodology from the article "Volatility interpolation" by Andreassen, Huge combined with some later articles and results.
- In the article it is assumed all rates are zero. What is the most natural way of generalizing it to standard market conditions where rates are not zero?
- In the article a piecewise constant approximation to the local volatility surface is calculated. Then a lot of new call option prices are calculated, using the calculated surface, through a finite difference procedure. From these option prices I see many authors use the Dupire equation to again calculate the local volatility surface using finite differences. Why calculate the local volatility surface again, when we already had the piecewise constant (or optionally linear) surface? Or is that surface far too rough for any serious applications and we need points on a much more smooth surface? Or am I missing something very obvious here?
- A more general question. Let say I get so far that I can calculate the local volatility corresponding to all options in the grid. How do I then extract values from this surface when using it for other applications? We only have values at the grid points. Will it be ok to use linear interpolation? Sure, it introduces arbitrage, but if the grid is dense, the error should not be too bad, or?
Regarding question 1 :
- I tried converting market option prices to market option prices in an economy with zero rates. This is possible by a suitable rescaling the strike levels in Black formula. But somehow I don't know if that is the proper way of doing things.
- Then I tried thinking about replacing the underlying with the forward value process so that it's drift term is zero. However, There is not just one forward process involved, but one per expiry (since the forward maturity changes at each expiry when we move forward in time). So the current forward make discrete jumps at each expiry since it refers to different maturities. This will lead to strange things in the finite difference scheme in the Andersen article since one of the valuation points in the finite difference quotient for the T derivative of the options in the Dupiere formula will use one version of forward process and the other valuation point another. This did not seem right to me.
## Answer by Jesper Tidblom (score 2)
https://quant.stackexchange.com/a/55174
Ok, I did some investigations, asked around and got some answers to most of my questions. Since it might be of general interest for other people I present my findings here.
- How to transfer market data (option prices) from the real world to the simplified zero rate economy (used in the article by J. Andreasen, B. Huge) back and forth. We have an underlying asset $S(t)$ which satisfies $$ \frac{dS(t)}{S(t)} = (r(t) - d(t)) \, dt + \sigma(t, S) \, dW(t), \quad S(0) = S_0, $$ where $W(t)$ is a Brownian motion, $r(t)$ is the short rate, $d(t)$ is the dividend yield and $\sigma(t, S)$ is the local volatility surface (unknown to us so far). Introduce the notation $$ \mu(t) = r(t) - d(t), \quad F(0,t) = S_0 \cdot \exp(\int_0^t \mu(s) \, ds)$$ for the drift and the forward value at time $t$ seen from time $0$. Now introduce the variable $$ X(t) = \frac{S(t)}{F(0,t)}. $$ Using Ito's lemma we get (I skip those calculations. It is just a standard application of Ito's lemma for a quotient) $$ dX(t) = X(t) \cdot \sigma(t,S) \, dW(t), $$ where $W(t)$ is the same Brownian motion as the one used for $S$. We write this as $$ dX(t) = X(t) \cdot \hat{\sigma}(t,X(t)) \, dW(t), $$ where $$ \hat{\sigma}(t,X(t)) = \sigma(t, X(t) \cdot F(0,t)). $$ So once we have calculated $\hat{\sigma}(t,X(t))$ we can get $\sigma(t,S)$ by going backwards $$ \sigma(t,S(t)) = \hat{\sigma}(t, S(t) / F(0,t)). $$ There is one problem remaining here and that is that we want option prices for the variable $X(t)$ when the market prices are given for the variable $S(t)$. This is easily obtained by a rescaling though. Let us write the expression for the Black (undiscounted) call price as the usual expected value $$ \begin{eqnarray*}E[\textrm{max}(X(t) - K,0)] &=& E[\textrm{max}(\frac{S(t)}{F(0,t)} - K, \, 0)] \\ &=& \frac{1}{F(0,t)}E[\textrm{max}(S(t) - K \cdot F(0,t), \, 0)]. \end{eqnarray*} $$ The expectations $E[\textrm{max}(S(t) - K \cdot F(0,t), \, 0)]$ are just Black call option prices for the underlying $S(t)$ with strike $K \cdot F(0,t)$, which are observable on the market. So using this relation we can go back and forth between option prices in the real market and the zero rate market.
So by using this we can make or setup in the zero rate economy, calculate the local vol surface for $X(t)$ and then go back to $S(t)$ using the relations above.
- This rough one step proxy of the local volatility surface, was as I expected, not a good candidate for the real local vol surface and it does not satisfy the Dupire equation. One should one use construct and use it as a tool to obtain a denser option price grid which we then can use to construct the real sample points of the local volatility surface (using Dupires equation).
- The final question of interpolation of the dense grid of points on the local vol surface is still unknown to me. Or course it will depend on the application where we use the constructed local vol surface. If different kids of greeks need to be computed we need a smooth interpolation of some kind. But if we only need rough values, then I guess linear interpolation might be good enough.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.