Arte SheetsLearn. Try. Understand.

Quantitative Finance & Derivatives

Merton Jump-Diffusion Option Pricing via Poisson-Weighted Black-Scholes

Price European options under sudden lognormal jumps using Merton’s (1976) jump-compensated Poisson-weighted Black-Scholes sum and verify convergence to pure Black-Scholes at lambda = 0.

Compensate risk-neutral drift k_bar before summing Poisson jump states

Merton (1976) models sudden crashes or earnings gaps by superimposing a compound Poisson jump process (intensity lam, log-jump mean mu_J, log-jump SD del_J) onto continuous diffusion volatility sig. A common implementation bug is forgetting the risk-neutral drift compensator k_bar = EXP(mu_J + 0.5 * del_J^2) - 1 and modified Poisson intensity lam_p = lam * (1 + k_bar).

Conditional on n = 0, 1, 2, 3 jumps over horizon T, the asset log-return is normal with effective variance sig_n^2 = sig^2 + n * del_J^2 / T and effective rate r_n = r - lam * k_bar + n * (mu_J + 0.5 * del_J^2) / T. With S = 100 (B2), K = 100 (B3), r = 0.05 (B4), sig = 0.20 (B5), T = 0.5 (B6), lam = 0.40 (B7), mu_J = -0.12 (B8), and del_J = 0.15 (B9), k_bar = EXP(-0.10875) - 1 = -0.103045, lam_p * T = 0.179391, and the 4-term Poisson weights capture 99.996% of total mass.

Jump State nPoisson Weight w_n (lam_p*T = 0.1794)Conditional BSM Call c_n
n = 0 JumpsEXP(-0.1794) = 0.835779c_0 at r_0 = 0.0912, sig_0 = 0.2000
n = 1 Jumpw_0 * 0.179391 = 0.149931c_1 at r_1 = -0.1263, sig_1 = 0.2915
n = 2..3 Jumps0.013448 + 0.000804 (Sum = 0.999963)Captures fat-tail jump dispersion
Merton Jump Call vs Pure BSMSUM(w_n * c_n) / SUM(w_n)7.6062 (vs pure BSM 6.8887 at lam = 0)

Expected Percentage Jump Size k_bar and Compensated Intensity Formula

Compute k_bar = EXP(mu_J + 0.5 * del_J^2) - 1 first to verify the direction and magnitude of the drift compensation -lam * k_bar.

=ROUND(EXP(B8 + 0.5 * B9^2) - 1, 6)

Normalized 4-State Merton Jump-Diffusion Call Formula

Place jump count n = 0, 1, 2, 3 in D2:D5, evaluate conditional Poisson weight w_n in E2:E5 and conditional Black-Scholes call c_n in F2:F5, and normalize SUMPRODUCT(E2:E5, F2:F5) / SUM(E2:E5). Setting lam = 0 in B7 collapses w_0 = 1 and w_1..w_3 = 0, matching pure Black-Scholes 6.8887.

=IF(OR(B5 <= 0, B6 <= 0, B7 < 0, B9 < 0), "Invalid Jump Input", ROUND(SUMPRODUCT(E2:E5, F2:F5) / SUM(E2:E5), 4))

Try the example

Use the original values or change them to test your understanding.

Further reading