Skip to content

Breeden-Litzenberger Formula: Risk-Neutral Density from Option Prices

Extract discounted tail probabilities and risk-neutral density from European option prices while controlling strike grids, arbitrage, smoothing, and data risk.

Updated

For educational purposes only; not investment advice. Investing may result in loss.

Direct answer

For one maturity, let C(K,T) be the time-zero price per underlying unit of a sufficiently regular European call, let D(0,T) be the discount factor, and let Q^T denote the pricing measure associated with that numeraire. Under matched settlement and no-arbitrage conditions,

-partial C(K,T) / partial K = D(0,T) x Q^T(S_T > K)

partial^2 C(K,T) / partial K^2 = D(0,T) x f_Q(K)

at continuity points. Thus f_Q(K) = [1 / D(0,T)] x partial^2 C / partial K^2. The first derivative is a discounted digital-call value and the second derivative is a discounted density, not an objective forecast. If the terminal distribution has an atom, the derivative can jump and that probability mass is not represented by an ordinary smooth density at the point.

Mechanism

  1. Freeze the claim and clock. Match underlying, expiration, European exercise, cash or physical settlement, multiplier, official S_T, quote timestamp, session, currency, and corporate-action state. American prices or mismatched settlement cannot be inserted unchanged.
  2. Normalize forwards and discounting. Estimate D(0,T), the matched forward, dividends, borrow, and any quanto or futures convention. Convert puts to synthetic calls only through matched put-call parity and keep option price per underlying unit separate from contract dollars.
  3. Clean the strike cross-section. Use synchronized bid, ask, size, and executable conditions; remove obvious errors and stale or crossed observations. Enforce decreasing call prices, convexity, sensible bounds, and calendar consistency before differentiating.
  4. Fit an arbitrage-aware curve. Choose whether to fit prices, implied volatility, digital prices, or a density; document knots, weights, regularization, extrapolation, and boundary conditions. A smooth curve is an estimator, not observed truth.
  5. Differentiate with the actual grid. For equal spacing h, use [C(K-h) - 2C(K) + C(K+h)] / h^2. For unequal neighbors K_- < K < K_+, use 2 x {[(C_+ - C) / (K_+ - K)] - [(C - C_-) / (K - K_-)]} / (K_+ - K_-). Do not apply the equal-grid formula to irregular strikes.
  6. Validate distribution restrictions. Check nonnegative density, total mass, forward-consistent first moment, call repricing, bid-ask sensitivity, tail mass, and stability across smoothing choices. Distinguish a continuous density from discrete atoms and truncated strike support.
  7. Version and interpret cautiously. Store the chain snapshot, cleaning decisions, curves, code, solver, and confidence or sensitivity bands. Compare risk-neutral and physical distributions only through an explicit pricing-kernel or risk-premium framework; do not label the extracted curve a market prediction.

Worked examples

  • Equal-grid density estimate. Synchronized European calls with one expiry have C(95) = $8.20, C(100) = $5.00, and C(105) = $2.80. With h = $5, discounted curvature at 100 is [$8.20 - 2 x $5.00 + $2.80] / $5^2 = $1.00 / 25 = 0.04 per dollar. If D(0,T) = 1, the local risk-neutral density estimate is 0.04 per dollar; it is not a 4% probability at exactly 100.
  • Vertical spread and average tail probability. From C(100) = $5.00 and C(105) = $2.80, the negative secant slope is ($5.00 - $2.80) / $5 = 0.44. It equals the discounted average of Q^T(S_T > K) over strikes 100 to 105. If D(0,T) = 0.98, the corresponding average risk-neutral tail probability is 0.44 / 0.98 = 44.897959%; it is not automatically the tail probability at either endpoint.
  • Unequal strike spacing. Let K_- = 95, K = 100, K_+ = 107, with C_- = $8.20, C = $5.00, and C_+ = $2.20. The left slope is ($5.00 - $8.20) / 5 = -0.64, the right slope is ($2.20 - $5.00) / 7 = -0.40, and the unequal-grid curvature is 2 x [-0.40 - (-0.64)] / 12 = 0.04 per dollar. The equal-grid denominator would be wrong here.
  • Negative butterfly diagnostic. With equal strikes 95/100/105 and prices $8.20, $5.60, and $2.80, the numerator is $8.20 - 2 x $5.60 + $2.80 = -$0.20, so curvature is -$0.20 / 25 = -0.008 per dollar. Buying the wings and selling two middle calls produces a nonnegative terminal butterfly payoff while receiving $0.20 per unit, or $20 at M = 100, before costs. This is an executable arbitrage only if quotes are synchronized, all legs fill, and financing, fees, exercise, settlement, and other frictions do not overturn it.

Extraction and validation checklist

  • Match one exact expiration, underlying, exercise style, settlement convention, currency, multiplier, and official terminal source.
  • Use synchronized option and underlying timestamps; separate venue quotes, consolidated data, last trades, and theoretical marks.
  • Record bid, ask, displayed size, crossed or locked status, stale flags, and executable package conditions.
  • Convert contract premiums to prices per underlying unit before taking strike derivatives.
  • Estimate the maturity-matched discount factor rather than inserting a par yield or an unrelated short rate.
  • Reconcile forwards, dividends, borrow, futures settlement, FX, and quanto terms before put-call conversion.
  • Apply parity only to matched European claims and retain conversion residuals as data-quality diagnostics.
  • Enforce call-price bounds, monotonicity, convexity, and appropriate calendar restrictions before extraction.
  • Use the actual strike grid; do not apply equal-spacing differences to unequal intervals.
  • Treat first differences as interval averages, not exact endpoint digital probabilities.
  • Distinguish density units such as probability per dollar from integrated probability mass.
  • Preserve atoms, jumps in digital prices, and contract-specific settlement discontinuities rather than smoothing them away silently.
  • Report the fitting domain, knots, weights, penalty, extrapolation, and boundary assumptions.
  • Stress price-space fits against volatility-space, digital-space, and direct-density alternatives.
  • Repeat extraction at bid, midpoint, ask, and perturbed clean datasets because second derivatives magnify noise.
  • Verify nonnegativity, near-unit total mass, forward-consistent mean, and repricing of observed calls within tolerances.
  • Treat missing deep-tail strikes as model-dependent extrapolation and report omitted tail mass.
  • Do not interpret risk-neutral moments as physical expectations without an explicit risk-premium model.
  • Separate theoretical static arbitrage from executable fills, fees, funding, margin, exercise, and settlement risk.
  • Archive raw data, corrections, code, solver settings, output version, review, and uncertainty diagnostics.

Common misconceptions

  • “The density is the market’s objective forecast.” It is a pricing-measure distribution that embeds state prices and risk premia.
  • “A density of 0.04 means a 4% chance at that exact price.” Density has inverse-price units and must be integrated over an interval.
  • “Raw midpoint differences reveal the true distribution.” Asynchrony, spreads, sparse strikes, and numerical differentiation can dominate curvature.
  • “Clipping negative density solves the problem.” Ad hoc clipping can conceal arbitrage violations and destroy repricing, mass, or mean restrictions.
  • “The formula applies unchanged to every option chain.” American exercise, discrete dividends, adjusted contracts, futures conventions, atoms, and settlement rules require explicit treatment.

Authoritative sources

Navigation

Search the wiki...