Welcome to THETAWIKI. If you like to create or edit a page please make sure to login or register an account. All registered users please make sure to provide a valid email address.

GBM with local volatility

From ThetaWiki
Jump to: navigation, search

Model Overview

Local volatility models were designed to explain the "smile" and "skew" exhibited in the implied volatility of options on identical assets. The basic idea is that volatility, instead of being constant, is a determistic function of time. Thus, in a local volatility framework, the risk neutral asset price process is governed by

$ \frac{d S(t)}{S(t)} = r(t)dt \ + \ \sigma_{Loc}(S(t),t) \ d W(t), \qquad (LV.1) $

where $ r(t) $ is the expected instantaneous stock price return, $ \sigma_{Loc}(S(t),t) $ the local volatility function and $ d W(t) $ is a standard Brownian motion process under the risk-neutral measure $ Q $.

The best-known local volatility model were developed by Bruno Dupire in 1994 [1]. The Dupire equation states that

$ \sigma_{Loc}(K,T) = \sqrt{2\frac{\frac{\partial C}{\partial T}+rK\frac{\partial C}{\partial K}}{K^2\frac{\partial^2 C}{\partial K^2}}}, \qquad (LV.2) $

where $ C $ is the price of call option for maturity $ T $ and strike $ K $, and $ r $ is the risk-free rate. The operator $ \partial $ denotes partial derivative. In this manner, a local volatility surface can be obtained from an array of call prices for different maturities and strike prices. This local volatility can then be used in a Monte-Carlo pricer or PDE solver to price exotic options.

Local Volatility Implementations

Obtaining local volatility using the Dupire equation is problematic. With limited amount of call price data for specific maturities and strikes available, numerical differentiation may yield large error and unustable (complex) values for local volatility. Call prices may also be noisy for deep-out or deep-in the money options.

As a result, the local volatility function implemented in Theta Suite follows the following rules:

1. Calculate the implied volatilities from quoted option prices

2. Interpolate the implied volatilities on a grid using radial (multi-quadratic) basis functions

3. Smooth the implied volatilities using smoothed cubic splines; the smoothing parameter is increased until there is no arbitrage in the implied volatility surface

4. Use the Dupire equation in the implied volatility form to get the local volatility

5. Calculate option prices for the local volatility model using Monte-Carlo simulation method, and compare with market prices


  1. Dupire, B., January 1994, Pricing with a Smile, Risk, vol. 7, no. 1, p18-20.