Quant Sandbox
DerivativesPortfolio & RiskFixed IncomeCorporate FinanceStochastic ModelsGuide
Guide
Derivatives pricing
01Forwards, calls and puts02Combining positions03Arbitrage and the forward price04Put–call parity05The one-step binomial model06Risk-neutral probabilities07Multi-step trees and backward induction08American options and early exercise09Delta and hedging10Geometric Brownian motion11The Black–Scholes formula12The Greeks: gamma, vega, theta and rho13Implied volatility and the volatility smile14Stochastic volatility and the Heston model15Static replication: Breeden–Litzenberger and Carr–Madan16Exotic options: barriers, Asians and digitals
Portfolio & risk
01Returns and volatility02Diversification and correlation03The efficient frontier and the capital market line04Risk aversion and the optimal complete portfolio05CAPM, beta and the security market line06Performance measures: Sharpe, Treynor, Jensen and information ratio07Factor models and systematic risk08Value at Risk and expected shortfall
Fixed income
01Bond prices and yields02Duration and convexity03Immunization and duration matching04Spot rates, forward rates and the yield curve05Bond futures and the cheapest-to-deliver06Interest rate swaps07Callable bonds and negative convexity08Credit risk: default probabilities and credit spreads
Corporate finance
01Interest, compounding and discounting02Annuities, perpetuities and loan amortization03Net present value and internal rate of return04The weighted average cost of capital05Capital structure and the Modigliani–Miller theorems06Discounted cash flow valuation07Relative valuation with multiples08Real options: the value of flexibility
Stochastic models
01Random walks and Brownian motion02Probability spaces, σ-algebras and random variables03Filtrations, adapted processes and stopping times04Conditional expectation and martingales05Properties of Brownian motion06The reflection principle and first passage times07The Brownian bridge08The Itô integral09Itô's lemma10Kolmogorov equations and the Feynman–Kac formula11Change of measure and Girsanov's theorem12Monte Carlo option pricing13Simulating SDEs: the Euler–Maruyama scheme14Mean reversion: Ornstein–Uhlenbeck and Vasicek15Jumps and the Merton jump-diffusion model
Knowledge graph

© 2026 Quant Sandbox · A study aid for quantitative finance

Privacy & dataNo cookies

This site does not use cookies and asks for no personal data. It keeps a few small settings in your browser's local storage — your chosen theme and language, the sidebar layout, and your progress and answers in the Guides — so it remembers them on your next visit. This data never leaves your device; clearing your browser storage removes it. Inputs you change can also be captured in the page URL, so you can share or bookmark a specific setup. The site uses Vercel Web Analytics, a privacy-friendly, cookieless service that records only anonymous, aggregated usage (such as page views) without identifying you or tracking you across other sites.

Guide/Derivatives pricing

Static replication: Breeden–Litzenberger and Carr–Madan

Lesson 15 of 16 · 1 min read

The previous lessons priced options inside a model: a tree, geometric Brownian motion, a stochastic variance. This lesson goes the other way. It starts from the call prices quoted in the market and asks what they tell us without any model. Two results answer it. Breeden–Litzenberger reads the risk-neutral distribution of STS_TST​ off call prices, and Carr–Madan builds any European payoff from bonds, a forward and options. Both extend the last section of "Combining positions" and use the pricing rule from "Risk-neutral probabilities".

Prices as discounted expectations

A European payoff is paid only at maturity TTT and depends only on the price at that date: X=f(ST)X = f(S_T)X=f(ST​). Calls, puts, forwards and the butterfly are all of this kind. By the rule from "Risk-neutral probabilities", its price today is the discounted expectation under Q\mathbb{Q}Q. Suppose STS_TST​ has a risk-neutral density q(K)q(K)q(K) under Q\mathbb{Q}Q, so that Q(a<ST<b)=∫abq(K) dK\mathbb{Q}(a < S_T < b) = \int_a^b q(K)\,dKQ(a<ST​<b)=∫ab​q(K)dK. Then

V0=e−rT EQ[f(ST)]=e−rT∫0∞f(K) q(K) dK.V_0 = e^{-rT}\,\mathbb{E}^{\mathbb{Q}}[f(S_T)] = e^{-rT}\int_0^{\infty} f(K)\,q(K)\,dK.V0​=e−rTEQ[f(ST​)]=e−rT∫0∞​f(K)q(K)dK.

The variable of integration is called KKK on purpose: it runs over the possible values of STS_TST​, and these will be matched with strikes. If we knew qqq, every European payoff could be priced by one integral. The question is where qqq comes from.

The butterfly and the density

Take three calls with strikes K−hK - hK−h, KKK and K+hK + hK+h, all with the same maturity. Write C(K)C(K)C(K) for the price today of the call with strike KKK. The butterfly from "Combining positions" buys one K−hK-hK−h call, sells two KKK calls and buys one K+hK+hK+h call. Its payoff is a tent of height hhh centred at KKK and zero outside (K−h,K+h)(K-h, K+h)(K−h,K+h). Divide the position by h2h^2h2: the tent now has height 1/h1/h1/h and base 2h2h2h, so its area is 1.

As hhh shrinks the tent becomes a narrow spike of area 1 at KKK. Its expected payoff is approximately q(K)q(K)q(K) times its area, so it tends to the density q(K)q(K)q(K). Pricing the scaled butterfly by the formula above gives

C(K−h)−2C(K)+C(K+h)h2  ⟶  e−rT q(K)(h→0).\frac{C(K-h) - 2C(K) + C(K+h)}{h^2} \;\longrightarrow\; e^{-rT}\,q(K) \qquad (h \to 0).h2C(K−h)−2C(K)+C(K+h)​⟶e−rTq(K)(h→0).

The left-hand side is the central difference that approximates a second derivative, so the limit is ∂2C/∂K2\partial^2 C/\partial K^2∂2C/∂K2.

The Breeden–Litzenberger formula

The same result follows by differentiating the call price directly. Write it as an integral over the density:

C(K)=e−rT∫K∞(s−K) q(s) ds.C(K) = e^{-rT}\int_K^{\infty} (s - K)\,q(s)\,ds.C(K)=e−rT∫K∞​(s−K)q(s)ds.

Differentiate with respect to KKK. The integrand vanishes at the lower limit s=Ks = Ks=K, so only the derivative of (s−K)(s - K)(s−K) remains:

∂C∂K=−e−rT∫K∞q(s) ds=−e−rT Q(ST>K).\frac{\partial C}{\partial K} = -e^{-rT}\int_K^{\infty} q(s)\,ds = -e^{-rT}\,\mathbb{Q}(S_T > K).∂K∂C​=−e−rT∫K∞​q(s)ds=−e−rTQ(ST​>K).

So the slope of the call price across strikes is minus the discounted probability of exercise. Differentiating once more removes the integral:

∂2C∂K2=e−rT q(K)⟺q(K)=erT ∂2C∂K2.\frac{\partial^2 C}{\partial K^2} = e^{-rT}\,q(K) \quad\Longleftrightarrow\quad q(K) = e^{rT}\,\frac{\partial^2 C}{\partial K^2}.∂K2∂2C​=e−rTq(K)⟺q(K)=erT∂K2∂2C​.

Breeden–Litzenberger: the risk-neutral density of STS_TST​ is q(K)=erT ∂2C/∂K2q(K) = e^{rT}\,\partial^2 C/\partial K^2q(K)=erT∂2C/∂K2. It is read directly from call prices across strikes, with no model for how the price moves.

The implied density and the skew

In "The Black–Scholes formula" a single σ\sigmaσ gives every call price, and the density read off them is the lognormal density of geometric Brownian motion. "Implied volatility and the volatility smile" showed that markets quote a different implied volatility for each strike, typically higher for low strikes. Feeding such prices into Breeden–Litzenberger gives a density that is no longer lognormal: higher prices for low-strike options mean more risk-neutral probability of large falls, so the left tail is fatter.

An example: with S0=100S_0 = 100S0​=100, r=5%r = 5\%r=5%, T=1T = 1T=1 and a flat σ=20%\sigma = 20\%σ=20%, the probability Q(ST<80)\mathbb{Q}(S_T < 80)Q(ST​<80) is about 10.0%. Let the implied volatility instead be σ(K)=0.2−0.2ln⁡(K/F)\sigma(K) = 0.2 - 0.2\ln(K/F)σ(K)=0.2−0.2ln(K/F), with forward price F=S0erTF = S_0e^{rT}F=S0​erT. The density read off these prices gives about 11.9%.

The figure fixes S0=100S_0 = 100S0​=100, r=5%r = 5\%r=5% and T=1T = 1T=1. Sliders set the volatility σ\sigmaσ, a skew that moves the implied volatility linearly in ln⁡(K/F)\ln(K/F)ln(K/F) (0 means flat Black–Scholes), and the centre KKK and half-width hhh of a butterfly. The chart shows the density q(K)q(K)q(K) read off the call prices; with a non-zero skew the lognormal density of the flat-volatility model is drawn for comparison. The readouts give the butterfly price divided by h2h^2h2, the exact value e−rTq(K)e^{-rT}q(K)e−rTq(K) it approximates, and the total mass ∫q dK\int q\,dK∫qdK, which stays close to 1. Shrink hhh and watch the butterfly approach the density value; then make the skew negative and watch the left tail grow.

Risk-neutral density from call pricesOpen in Payoff Lab →
20%
0.050.6
0.00
-0.40.2
100
50160
5.0
0.520
Implied density q(K)
Butterfly price / h²
0.01867
e^(−rT) q(K)
0.01876
Total probability ∫q dK
1.0000

With σ=20%\sigma = 20\%σ=20%, no skew and centre 100, the exact value is e−rTq(100)≈0.01876e^{-rT}q(100) \approx 0.01876e−rTq(100)≈0.01876. A butterfly with h=5h = 5h=5 gives 0.01867 and one with h=1h = 1h=1 gives 0.01876.

The spanning formula

Breeden–Litzenberger turns call prices into a density. Carr–Madan does the reverse: it writes a payoff as a combination of option payoffs. Let fff be twice differentiable and fix any level a>0a > 0a>0, called the anchor. Taylor's theorem with the remainder written as an integral (one integration by parts) gives, for S>aS > aS>a,

f(S)=f(a)+f′(a)(S−a)+∫aSf′′(K) (S−K) dK.f(S) = f(a) + f'(a)(S - a) + \int_a^S f''(K)\,(S - K)\,dK.f(S)=f(a)+f′(a)(S−a)+∫aS​f′′(K)(S−K)dK.

For S>aS > aS>a the factor (S−K)(S - K)(S−K) is positive inside the integral and (S−K)+=0(S-K)^+ = 0(S−K)+=0 for K>SK > SK>S, so the integral equals ∫a∞f′′(K)(S−K)+ dK\int_a^{\infty} f''(K)(S-K)^+\,dK∫a∞​f′′(K)(S−K)+dK. The case S<aS < aS<a is the mirror image and produces puts. Both cases combine into

f(S)=f(a)+f′(a)(S−a)+∫0af′′(K) (K−S)+ dK+∫a∞f′′(K) (S−K)+ dK.f(S) = f(a) + f'(a)(S - a) + \int_0^a f''(K)\,(K - S)^+\,dK + \int_a^{\infty} f''(K)\,(S - K)^+\,dK.f(S)=f(a)+f′(a)(S−a)+∫0a​f′′(K)(K−S)+dK+∫a∞​f′′(K)(S−K)+dK.

Read it term by term: f(a)f(a)f(a) zero-coupon bonds, f′(a)f'(a)f′(a) forward contracts with delivery price aaa, and at every strike KKK an amount f′′(K) dKf''(K)\,dKf′′(K)dK of puts below the anchor and calls above it. Taking prices of both sides, with P(K)P(K)P(K) the put price:

V0=e−rTf(a)+e−rTf′(a)(F−a)+∫0af′′(K) P(K) dK+∫a∞f′′(K) C(K) dK.V_0 = e^{-rT}f(a) + e^{-rT}f'(a)(F - a) + \int_0^a f''(K)\,P(K)\,dK + \int_a^{\infty} f''(K)\,C(K)\,dK.V0​=e−rTf(a)+e−rTf′(a)(F−a)+∫0a​f′′(K)P(K)dK+∫a∞​f′′(K)C(K)dK.

Choosing a=Fa = Fa=F makes the forward cost nothing, and every option in the portfolio is out of the money: puts below FFF, calls above it. The log contract behind a variance swap is replicated exactly this way, with f′′(K)=1/K2f''(K) = 1/K^2f′′(K)=1/K2.

Piecewise-linear payoffs

If fff is made of straight pieces, f′′f''f′′ is zero everywhere except at the kinks. At a kink KiK_iKi​ the slope jumps by cic_ici​ (slope after minus slope before), and f′′f''f′′ acts like a point mass of size cic_ici​ there. The integrals collapse into sums, and the portfolio holds finitely many options, cic_ici​ of them at each kink. With a=0a = 0a=0 there are no puts and we recover the bonds-stock-calls recipe of "Combining positions"; with aaa above the last kink there are only puts.

Carr–Madan: for any anchor aaa, a payoff is f(a)f(a)f(a) bonds, f′(a)f'(a)f′(a) forwards struck at aaa, puts below aaa and calls above it, with f′′(K) dKf''(K)\,dKf′′(K)dK options at strike KKK. Every choice of aaa pays the same at TTT, so without arbitrage every choice costs the same.

A worked example

Take the payoff that is 0 below 90, rises with slope 1 from 90 to 100 and stays at 10 above 100. Its kinks are at 90 (slope change +1+1+1) and 100 (slope change −1-1−1). Use S0=100S_0 = 100S0​=100, r=5%r = 5\%r=5%, T=1T = 1T=1 and Black–Scholes prices with σ=20%\sigma = 20\%σ=20%, so F=100e0.05≈105.13F = 100e^{0.05} \approx 105.13F=100e0.05≈105.13.

  • Calls (a=0a = 0a=0): f(0)=0f(0) = 0f(0)=0 and f′(0)=0f'(0) = 0f′(0)=0, so long one 90 call and short one 100 call, the bull call spread. Cost 16.70−10.45=6.2516.70 - 10.45 = 6.2516.70−10.45=6.25.
  • Around FFF (a=Fa = Fa=F): f(F)=10f(F) = 10f(F)=10 and f′(F)=0f'(F) = 0f′(F)=0; both kinks lie below FFF, so they become puts. Hold 10 bonds, long one 90 put and short one 100 put. Cost 10×0.9512+2.31−5.57=6.2510 \times 0.9512 + 2.31 - 5.57 = 6.2510×0.9512+2.31−5.57=6.25.

Check the second portfolio at ST=95S_T = 95ST​=95: 10+0−5=510 + 0 - 5 = 510+0−5=5, the target value. The two portfolios have the same payoff for every STS_TST​, so they have the same price; their equality is put–call parity applied at each kink. A kink above FFF would have been replicated with a call.

Finitely many strikes

Listed options trade only at a grid of strikes, say every 5. A payoff with kinks between grid points, or with curved pieces, can then be replicated only approximately: the portfolio follows the straight-line interpolation of fff between neighbouring strikes. The same limitation affects the density, because ∂2C/∂K2\partial^2 C/\partial K^2∂2C/∂K2 must be estimated from finitely many prices, and the far tails, where few strikes are quoted, are the least reliable part.

Summary

  • The price of a European payoff f(ST)f(S_T)f(ST​) is e−rT∫f(K) q(K) dKe^{-rT}\int f(K)\,q(K)\,dKe−rT∫f(K)q(K)dK, with qqq the risk-neutral density.
  • A butterfly scaled by 1/h21/h^21/h2 prices a narrow spike; in the limit q(K)=erT ∂2C/∂K2q(K) = e^{rT}\,\partial^2 C/\partial K^2q(K)=erT∂2C/∂K2, and ∂C/∂K=−e−rTQ(ST>K)\partial C/\partial K = -e^{-rT}\mathbb{Q}(S_T > K)∂C/∂K=−e−rTQ(ST​>K).
  • The density implied by a negative skew has a fatter left tail than the lognormal.
  • Carr–Madan writes any payoff as bonds, a forward and options weighted by f′′f''f′′; for piecewise-linear payoffs this is one option position per kink, sized by the slope change.
  • Different anchors give different portfolios with the same payoff and therefore the same price; with a finite strike grid the replication is approximate.
Try itDraw a payoff and compare its three replicating portfolios in the Replicate payoff tab of the Payoff lab →
← PreviousStochastic volatility and the Heston modelNext →Exotic options: barriers, Asians and digitals
Connections
Static replication: Breeden–Litzenberger…
Open the full graph →
Labs for this lesson
Payoff LabBlack–Scholes