Using Forward Moneyness to Index Local Volatility
Summary
The document asks how to query an implied volatility surface when simulating an option under a local volatility model. The surface is described in terms of log forward moneyness and expiry. For vanilla implied volatility, the questioner uses the expiry forward price and strike; for local volatility, they ask whether the strike should be replaced by the simulated spot at each time step, giving log forward-to-spot moneyness.
The author reports comparing an expiry implied volatility of 3.13873% with an accumulated local volatility of 3.23428%, and asks whether the gap indicates an implementation error. This is a question, not a validated derivation or answer. The comparison alone does not establish correctness: the document does not specify how local volatility was derived, how accumulated volatility was defined, or the simulation and surface conventions. It offers a useful implementation issue for option pricing, but no evidence that the proposed lookup or numerical comparison is generally appropriate.
Key ideas
- The implied volatility surface is parameterized by log forward moneyness and expiry.
- The document asks whether local volatility should be queried using simulated spot in place of strike.
- It compares accumulated local volatility with expiry implied volatility as an implementation check.
- The reported difference is not enough to diagnose accuracy without further model and calculation details.
Tags
Full text
# How to use log moneyness in a local volatility context
# How to use log moneyness in a local volatility context
I am implementing a monte carlo to price various options using a local volatility model.
The implied volatility surface from which the local volatility is derived is a function of logmoneyness and expiry : $ \sigma_{implied} (log(F/K), T) $.
When using only the implied volatility to price a european option for example, I read the implied volatility with $log(F_T/K)$, with $K$ the strike of the option and $F_T$ the forward price of the underlying corresponding to the expiry of the option $T$.
With local volatility however, generally speaking, $K$ is replaced by $S$. So in my implementation, should I use $log(F_T/S_t)$ to read the local volatility for each step $t$ in the simulation?
In doing so, I compared the average accumulated local volatility until the expiry and compared it with the implied volatility corresponding to the expiry. These quantities are close together : 3.13873% implied volatility versus 3.23428% accumulated local volatility. Does this difference mean that my implementation needs to be improved to get a more accurate local volatility?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.