The Black-Scholes-Merton model explained: d1, d2, put-call parity and the Greeks
The Black-Scholes-Merton (BSM) model gives a closed-form price for a European option on a non-dividend-paying asset (Merton extended it to a continuous dividend yield). It is a core topic in FRM® Part I (Valuation and Risk Models), and its Greeks reappear in market risk. For the wider picture see the FRM page, and for how option losses break simple risk models see Value at Risk explained.
Inputs and assumptions
Five inputs: the current asset price S, the strike K, the time to expiry T in years, the continuously compounded risk-free rate r, and the volatility sigma. The asset price follows geometric Brownian motion, so log returns are normal. The usual assumptions:
- volatility and the risk-free rate are constant,
- no dividends (or a known continuous yield), no transaction costs, no arbitrage,
- trading is continuous and the asset can be shorted freely,
- the option is European, exercisable only at expiry.
The formulas
d1 = [ln(S/K) + (r + sigma^2 / 2) x T] / (sigma x square root of T)
d2 = d1 - sigma x square root of T
Call = S x N(d1) - K x exp(-rT) x N(d2)
Put = K x exp(-rT) x N(-d2) - S x N(-d1)
N is the standard normal cumulative distribution. N(d2) is the risk-neutral probability that the call finishes in the money. N(d1) is the call's delta, and also the share of the stock held in the replicating portfolio. The call is then a leveraged stock position, S x N(d1), financed by borrowing the present value of K weighted by N(d2).
Put-call parity ties the two prices together: C + K x exp(-rT) = P + S. So P = C - S + K x exp(-rT).
Worked example
An invented stock, Colterra Instruments, trades at 100. Price a six-month European call with strike 105, r = 3%, sigma = 25%, no dividends. (Computed in Python using the error function for N.)
- sigma x square root of T = 0.25 x 0.7071 = 0.1768.
- d1 = [ln(100/105) + (0.03 + 0.03125) x 0.5] / 0.1768 = -0.10.
- d2 = -0.10 - 0.1768 = -0.28.
- N(d1) = 0.459 and N(d2) = 0.390.
- Present value of the strike = 105 x exp(-0.015) = 103.44.
- Call = 100 x 0.459 - 103.44 x 0.390 = 5.58.
- Put by parity = 5.58 - 100 + 103.44 = 9.01 (a direct calculation from the put formula gives the same figure).
The call is out of the money, so its price is all time value. The put is more valuable because the strike is above the spot price.
The Greeks in plain words
- Delta: the change in option value for a 1 unit move in the asset. Call delta is N(d1), here about 0.46, and put delta is N(d1) - 1, about -0.54.
- Gamma: how fast delta changes as the asset moves. It is highest near the money and the same for a call and put with the same terms; here about 0.022 per 1 unit.
- Vega: the change in value for a 1 percentage point rise in volatility. It is positive for both calls and puts; here about 0.28.
- Theta: the change as time passes. Long options usually lose value daily; here the call decays by roughly 0.02 a day.
- Rho: sensitivity to the interest rate. Positive for calls, negative for puts; here about 0.20 per percentage point for the call.
Delta hedging makes a position insensitive to small moves, but gamma means the hedge must be adjusted as the price changes. That adjustment is where real hedging costs and model errors arise.
Usual mistakes
- Putting volatility in percent (25) instead of decimals (0.25), or time in months instead of years.
- Mixing up N(d1) and N(d2), or forgetting that the put uses N(-d1) and N(-d2).
- Forgetting to discount the strike in parity.
- Treating BSM as exact for American options, which can be exercised early, or for dividend payers without adjusting.
- Assuming a single flat volatility. Observed implied volatilities vary with strike and maturity (the smile or skew), which signals that returns are not lognormal; see fat tails, skewness and kurtosis.
How the exam typically tests it
Typically you are asked for a price from given d1 and d2 values, to apply put-call parity, to interpret a Greek, or to say which assumption fails in a described situation. Questions often give normal table values rather than ask you to derive them. Charta's practice questions for this topic let you rehearse these calculations.
Common questions
What do N(d1) and N(d2) mean?
N(d2) is the risk-neutral probability of finishing in the money. N(d1) is the call delta, which is a probability-like quantity but not the same one.
How do I get the put price from the call price?
Use put-call parity for European options: P = C - S + K x exp(-rT), with the same strike and expiry.
Which inputs are not observable?
Volatility. The other four inputs are observed or agreed, so the market often quotes implied volatility, the figure that makes the model match a traded price.
Why does a long option have positive gamma and vega?
The option's payoff is convex, so large moves help the holder more than they hurt, and higher volatility raises the chance of a large favourable move.
Sources
- GARP, the FRM programme: what the exam is and its two parts.
The exam and the syllabus can change. Check GARP's current details before you book.