Skip to content

FRM Part I · FRM Exam Part I

The Black-Scholes-Merton Model: formula sheet

Full chapter guide

Key formulas

Stock price process (GBM)
dS = μS dt + σS dz
μ is expected return, σ is volatility, dz ~ Normal(0, dt). Percentage change dS/S is normal.
Log price process
d(ln S) = (μ − σ²/2) dt + σ dz
Follows from Ito's lemma. The drift of ln S is μ − σ²/2, not μ.
Distribution of ln S_T
ln S_T ~ Normal( ln S₀ + (μ − σ²/2)T , σ²T )
So S_T is lognormal. Standard deviation of ln S_T is σ√T.
Expected future price
E(S_T) = S₀ e^(μT)
Mean of the lognormal variable. Under risk-neutral valuation use r in place of μ.
Variance of S_T
Var(S_T) = S₀² e^(2μT) (e^(σ²T) − 1)
Standard lognormal result.
BSM differential equation
∂f/∂t + r S ∂f/∂S + ½σ²S² ∂²f/∂S² = r f
Holds for any derivative on a non-dividend-paying stock. μ does not appear.
Riskless hedge portfolio
Π = −f + (∂f/∂S) S
Short one derivative, long ∂f/∂S shares. The portfolio is riskless only for a short interval and must be rebalanced.
Risk-neutral valuation
f = e^(−rT) E*[payoff]
E* assumes the stock drifts at r, so E*(S_T) = S₀ e^(rT).
European call price
c = S₀ N(d1) − K e^(−rT) N(d2)
Non-dividend-paying stock. r is the continuously compounded risk-free rate.
European put price
p = K e^(−rT) N(−d2) − S₀ N(−d1)
Uses N(−d) = 1 − N(d).
d1
d1 = [ln(S₀ ÷ K) + (r + σ²÷2) T] ÷ (σ √T)
Use σ as a decimal (0.20, not 20).
d2
d2 = d1 − σ √T
Equals [ln(S₀ ÷ K) + (r − σ²÷2) T] ÷ (σ √T).
Put-call parity
c + K e^(−rT) = p + S₀
European options, same strike and expiry, no dividends.
Interpretation of N(d)
N(d2) = risk-neutral P(S_T > K); N(d1) = call delta
Put delta is N(d1) − 1, and N(−d2) = risk-neutral P(S_T < K).
Log (continuously compounded) return
uᵢ = ln(Sᵢ ÷ Sᵢ₋₁)
Use this for historical volatility. Ignore dividends unless the question says to adjust for them.
Sample standard deviation of returns
s = √[ Σ(uᵢ − ū)² ÷ (n − 1) ]
n is the number of returns, which is one fewer than the number of prices. Many questions set ū ≈ 0, which gives s = √[Σuᵢ² ÷ n]. Read the question to see which version is intended.
Annualizing volatility
σ per year = s × √252
Use the number of periods per year stated in the question. 252 trading days is the usual default, 12 for monthly returns, 52 for weekly.
Volatility over a horizon
Standard deviation over T years = σ × √T
Volatility scales with the square root of time, variance scales with time.
Standard error of a volatility estimate
Standard error ≈ σ̂ ÷ √(2n)
Approximate, for n observations. More data gives a tighter estimate.
Implied volatility condition
c_BSM(S, K, r, q, T, σ_imp) = c_market
Solve for σ_imp numerically. Same for puts: p_BSM(σ_imp) = p_market.
Newton-Raphson update
σ_new = σ_old − (c_BSM(σ_old) − c_market) ÷ Vega
Vega is the derivative of the option price with respect to σ.
VIX (variance form)
σ² = (2 ÷ T) Σ [ΔKᵢ ÷ Kᵢ²] e^(RT) Q(Kᵢ) − (1 ÷ T)(F ÷ K₀ − 1)²; VIX = 100 × σ
Q(Kᵢ) is the mid-quote of the out-of-the-money option at strike Kᵢ. K₀ is the first strike below the forward F. T is about 30 days. Know the structure, you are unlikely to compute it in full.
Merton call (continuous yield q)
c = S0e^(-qT)N(d1) - Ke^(-rT)N(d2)
Use for stock indices, and for stocks with a continuous yield. For a currency, q = rf. For a futures option, S0e^(-qT) becomes F0e^(-rT).
Merton put (continuous yield q)
p = Ke^(-rT)N(-d2) - S0e^(-qT)N(-d1)
Mirror image of the call. Note the signs on d1 and d2.
d1 and d2 with yield q
d1 = [ln(S0 / K) + (r - q + σ²/2)T] ÷ (σ√T); d2 = d1 - σ√T
The only change from plain BSM is r - q in place of r. Rates and σ are annual and continuously compounded.
Known discrete dividends
Use S* = S0 - PV(dividends) in place of S0, with q = 0
Discount each dividend at the risk-free rate from its payment date to today. Only dividends paid before expiry count. Volatility is that of S*, the stock price net of the dividends.
Currency options (Garman-Kohlhagen)
c = S0e^(-rf T)N(d1) - Ke^(-r T)N(d2), with d1 = [ln(S0 / K) + (r - rf + σ²/2)T] ÷ (σ√T)
S0 is the spot rate in domestic currency per unit of foreign currency. r is the domestic rate and rf the foreign rate.
Black's model for futures options
c = e^(-rT)[F0N(d1) - KN(d2)]; p = e^(-rT)[KN(-d2) - F0N(-d1)]; d1 = [ln(F0 / K) + σ²T/2] ÷ (σ√T)
F0 is the futures price today. The option expires at T, and the formula assumes the futures matures at or after T. σ is the volatility of the futures price.
Put-call parity with yield q
c + Ke^(-rT) = p + S0e^(-qT)
For futures options, c + Ke^(-rT) = p + F0e^(-rT). For discrete dividends, replace S0e^(-qT) with S0 - PV(dividends).
Forward price link
F0 = S0e^((r - q)T)
Substituting this shows that q = r gives Black's model with F0 as the underlying price.
Dilution factor
Dilution factor = N ÷ (N + M)
N = existing shares, M = new shares created if all warrants or options are exercised. Always between 0 and 1.
Warrant value
Warrant value = [N ÷ (N + M)] × c
c is the Black-Scholes-Merton value of an otherwise identical ordinary European call, using the current stock price S0 as the input.
Share price after exercise
S after = (N × S + M × K) ÷ (N + M)
S is the pre-exercise price per share. The firm receives M × K in cash and issues M new shares.
Warrant payoff at exercise
Payoff = N × (S − K) ÷ (N + M), if S > K
Equals S after − K. Zero if S ≤ K.
BSM call value
c = S0 × N(d1) − K × e^(−rT) × N(d2); d1 = [ln(S0 ÷ K) + (r + σ²÷2) × T] ÷ (σ × √T); d2 = d1 − σ × √T
For ESOs, set T equal to expected life, not contractual life.
Total cost of an option grant
Total cost = number of options × fair value per option
If dilution is to be reflected, use the diluted per-option value.
American vs European value
C ≥ c and P ≥ p
The early exercise right can only add value. It is never negative.
No-dividend call
C = c
Never optimal to exercise early when the stock pays no dividend and r ≥ 0. Strictly, c > S − K when r > 0.
Lower bound for a European call, no dividends
c ≥ max(S − K·e^(−rT), 0)
This bound is above S − K, which proves early exercise is not optimal.
Lower bound for a European put, no dividends
p ≥ max(K·e^(−rT) − S, 0)
The American put can be worth K − S, which can exceed this bound. That is why early exercise may pay.
American put-call bounds, no dividends
S − K ≤ C − P ≤ S − K·e^(−rT)
Parity is an inequality for American options, not an equality.
Bounds with dividends
S − D − K ≤ C − P ≤ S − K·e^(−rT), where D is the present value of dividends
Use this form when the stock pays known dividends during the option life.
Dividend-adjusted European call
Use S* = S − PV(dividends) in the Black-Scholes-Merton formula
Applies to European options with known discrete dividends.
Early exercise of a call before ex-dividend date
Exercise if D > K·(1 − e^(−r·Δt)) for the last ex-dividend date, roughly
A common rule: the dividend must exceed the interest earned on K until expiry. Treat it as a rule of thumb, since time value also matters.

Quick revision

  • The model assumes the stock price follows geometric Brownian motion, so returns are normal and prices are lognormal.
  • Volatility and the risk-free rate are assumed constant, and the model ignores transaction costs.
  • d1 = [ln(S0 ÷ K) + (r + σ²÷2)T] ÷ (σ√T), and d2 = d1 − σ√T.
  • European call: c = S0 N(d1) − K e^(−rT) N(d2).
  • European put: p = K e^(−rT) N(−d2) − S0 N(−d1).
  • Put-call parity for European options: c + K e^(−rT) = p + S0 for a non-dividend stock.
  • Implied volatility is the volatility that makes the model price equal the market price, and it is found by iteration.
  • Historical volatility is estimated from past returns, and it assumes the past is a guide to the future.
  • For a stock with known dividends, subtract the present value of the dividends from S0 before using the formula.
  • For options on indices and currencies, replace the dividend adjustment with a continuous yield or the foreign interest rate.
  • Warrants and employee options create new shares when exercised, which dilutes existing shareholders.
  • An American call on a non-dividend stock is never optimally exercised early, but an American put may be.

Common mistakes

  • Using μ as the mean of ln S_T. Fix: Always subtract σ²/2: the mean of ln S_T minus ln S₀ is (μ − σ²/2)T.
  • Saying the stock price is normally distributed. Fix: The log price is normal, so the price is lognormal. It is skewed and always positive.
  • Treating N(d2) as the real-world probability of finishing in the money. Fix: N(d2) is a risk-neutral probability, using drift r. Say risk-neutral whenever you interpret it.
  • Forgetting to discount the strike, using K instead of Ke^(−rT). Fix: Always compute Ke^(−rT) as its own step before combining terms.
  • Annualizing with √365 instead of √252, or multiplying by 252 instead of √252. Fix: Variance scales with time, volatility scales with its square root. Use the number of periods the question states, and 252 for daily data if none is given.
  • Dividing by n instead of n − 1, or using prices instead of returns. Fix: With n + 1 prices you have n returns. Use n − 1 in the sample variance unless the question tells you to assume a zero mean.
  • Using r - q in d1 but forgetting to multiply S0 by e^(-qT) in the price formula (or the reverse). Fix: q appears in two places: in d1 as r - q, and in the price as S0e^(-qT). Check both before you finish.
  • Applying F0 = S0e^((r - q)T) again to a futures price that is already given, or leaving out the e^(-rT) factor in Black's formula. Fix: In Black's model, F0 is already a forward price. Use it directly in d1 and discount the whole bracket by e^(-rT).
  • Using M ÷ (N + M) as the dilution factor. Fix: The factor scales the call value down to the holder's share of the gain. It is N ÷ (N + M), and it is always close to 1 when M is small.
  • Valuing an ESO using its full contractual life. Fix: ESOs are exercised early and forfeited on leaving. Use the expected life as T, or a tree with early exercise.

Exam tips

  • Expect a numeric question on the mean and standard deviation of ln S_T, then a normal probability. Remember μ − σ²/2 and σ√T.
  • Watch the wording: 'expected price' uses μ, 'expected log price' uses μ − σ²/2, and 'risk-neutral' uses r.
  • Conceptual questions often ask what is absent from the BSM equation. The answer is μ, and any risk preference.
  • Know the list of assumptions and which real-world features violate them: jumps, stochastic volatility, dividends, transaction costs, discrete trading.
  • Use a financial calculator or scientific mode for e^x and ln. Write each intermediate value to avoid rounding drift.
  • Expect numerical questions where you must compute d1, d2 and the price, often with N(d) values supplied. Practise the arithmetic until it is automatic.
  • Interpretation questions are common: N(d2) is the risk-neutral probability of exercise, N(d1) is the call delta, and N(−d2) applies to the put.
  • Use put-call parity to cross-check answers or to find a missing option price. It can save you two table lookups.