Skip to content
All library documents

Finite-Difference Density Estimates and Option Smile Arbitrage

Article Quant Q&A · Author: user39039

Summary

The document examines estimating a risk-neutral density from European call prices using the Breeden–Litzenberger relationship, which links the density to the second derivative of call price with respect to strike. The author approximates this derivative with a centered second-order finite difference, pricing calls from implied volatilities interpolated across a nonuniform strike grid. The practical question is how to choose the strike step when smaller steps are theoretically closer to a local derivative but produce more negative density estimates.

The reported difficulty is most pronounced for short expiries with steep volatility smiles. The author suspects that cubic-spline interpolation may introduce irregularities and asks whether a nonuniform difference formula using widely spaced strikes remains accurate. The document presents the problem rather than a solution or empirical validation. A finite step introduces approximation error, while small steps can amplify interpolation and numerical noise; negative estimates may signal genuine static arbitrage, a poor fit, or numerical artifacts. Any diagnosis therefore depends on the interpolation method, strike spacing, and stability of the resulting prices.

Key ideas

  • The Breeden–Litzenberger relation estimates risk-neutral density from the strike curvature of call prices.
  • A centered finite difference approximates that curvature, with a trade-off between local accuracy and numerical stability.
  • Spline interpolation of a steep implied-volatility smile can affect nearby option prices and derived density estimates.
  • Nonuniform strike spacing requires an appropriate finite-difference formula, and wide spacing can weaken local accuracy.
  • Negative density estimates may reflect arbitrage, interpolation artifacts, or numerical error, so stability checks matter.

Tags

Full text
# Stability of Finite Difference method for Breeden-Litzenberger


# Stability of Finite Difference method for Breeden-Litzenberger












I am trying to derive a risk-neutral density from European call option prices using a second order finite difference scheme. Let $C(K,T)$ be the price of a European call with strike $K$ and expiry $T$ then the risk-neutral density of the log price returns can be computed using Breeden-Litzenberger theorem.

I have given a set of strikes $K_1, \ldots, K_n$ (not equidistant and can lie far away) with corresponding implied volatilities $\sigma(K_1,T), \ldots, \sigma(K_n,T)$. Say I want to calculate the density for some interior strike $k_p$ with $1 < p < n$, I do: \begin{align} f(K) & \approx e^{rT} \frac{C(K_p+\Delta,T)-2C(K_p,T)+C(K_p-\Delta, T)}{(\Delta)^2} (*) \end{align}

My question is how to choose $\Delta$? Ideally I choose $\Delta$ as small as possible because the above approximation is valid for $\Delta \to 0$. However, when I choose $\Delta$ small (say $\Delta=0.01$), the density tends to be negative for more strike points than when I choose $\Delta$ larger. This is mainly the case for shorter expiries (1 month, 3 months) where the smile can be quite steep. I don't see this problem for longer maturities.

Questions

(1) Why do I see this behaviour? One important note is that to calculate $C(K_p \pm \Delta, T)$, I use a cubic spline to interpolate the volatility smile to obtain $\sigma(K_p \pm \Delta,T)$. The European call price is calculated using the Black model. It seems that when using the cubic spline it actually creates more arbitrages when choosing $\Delta$ small. I don't want to use an arbitrage free smoothing model because the objective is to test the raw vol smile for arbitrage ...

(2) Since the strikes can be quite far away and are non equidistant, I have tried using an non-equidistant version of $(*)$ where I basically set $\Delta = K_i - K_j$, but these $\Delta's$ can be quite large so I am not sure if the approximation is really valid in that case. I have to say that in this case there are very few arbitrages to detect.

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.