Quantitative Finance & Derivatives
Black-Scholes d1, d2 Log-Moneyness & Put-Call Parity Arbitrage Check Formula
Compute Black-Scholes-Merton standardized log-moneyness factors d1 and d2 using LN, SQRT, and EXP alongside Hans Stoll’s model-free European Put-Call Parity pricing residual.
Audit European option chains with exact d1, d2, and model-free Put-Call Parity!
Every Black-Scholes-Merton (1973) option valuation and Greek (Delta, Gamma, Vega, Theta) rests on two standardized log-moneyness coordinates over time to expiry T (in years, B6) and annualized volatility sigma (B5): d_1 = (LN(S / K) + (r + 0.5 * sigma^2) * T) / (sigma * SQRT(T)) and d_2 = d_1 - sigma * SQRT(T)! Notice why d_1 > 0 even when Spot S = Strike K = 100: positive risk-free drift r and convexity +0.5*sigma^2 push d_1 to +0.35 and d_2 to +0.15!
Better yet, European Call (C, B7) and Put (P, B8) quotes at identical strike K and expiry T must obey model-free Put-Call Parity regardless of volatility assumptions: C - P = S - K * EXP(-r * T). Any discrepancy exceeding bid-ask and borrow costs flags a synthetic conversion/reversal arbitrage!
| Derivatives Metric (S=100, K=100, r=5%, sigma=20%, T=1 yr) | Exact Closed-Form Expression | Evaluated Value |
|---|---|---|
| Black-Scholes d1 & d2 (ATM) | (0 + (0.05 + 0.02)*1) / 0.20 & d1 - 0.20 | d1 = 0.3500 | d2 = 0.1500 |
| In-the-Money Shift (S = 110) | (LN(1.10) + 0.07) / 0.20 | d1 = 0.8266 |
| Put-Call Parity Residual (C=10.45, P=5.57) | (10.45 - 5.57) - (100 - 100*e^-0.05) | +0.0029 (~$0.003 fair parity) |
Black-Scholes-Merton Standardized Log-Moneyness Factor d1
Evaluates (LN(S / K) + (r + 0.5 * sigma^2) * T) / (sigma * SQRT(T)) with positive S, K, sigma, and T guards.
=IF(OR(B2 <= 0, B3 <= 0, B5 <= 0, B6 <= 0), "S, K, Volatility, and Time T Must Be Positive", ROUND((LN(B2 / B3) + (B4 + 0.5 * (B5 ^ 2)) * B6) / (B5 * SQRT(B6)), 4))European Put-Call Parity Pricing Residual (C - P) - (S - K * e^(-r*T))
Measures deviation from no-arbitrage parity between market Call B7, Put B8, Spot B2, and discounted Strike B3 * EXP(-B4*B6).
=ROUND((B7 - B8) - (B2 - B3 * EXP(-B4 * B6)), 4)Try the example
Use the original values or change them to test your understanding.