IAI Actuarial Core Principles · Economic Modelling
Black-Scholes derivative-pricing model: formula sheet
Key formulas
- Share price model (GBM)
- dS = μS dt + σS dZ
- Z is standard Brownian motion. μ and σ are constant in the basic model.
- Lognormal share price
- ln(S_t / S_0) ~ N((μ − σ²/2)t, σ²t)
- Continuously compounded returns are normal, so S_t cannot be negative.
- Risk-neutral drift
- Under the risk-neutral measure, μ is replaced by r
- This holds for a share paying no dividends. The option price does not depend on μ.
- Put-call parity (no dividends)
- c + K e^(−rT) = p + S_0
- Follows from no arbitrage alone, for European options. It does not need lognormality.
- Implied volatility
- σ_imp is the σ that makes the Black-Scholes price equal the market price
- If the assumptions held, σ_imp would be the same for all strikes and terms.
- GBM stochastic differential equation
- dS(t) = μ S(t) dt + σ S(t) dB(t)
- μ is the drift and σ the volatility, both per year. B(t) is standard Brownian motion.
- Solution of GBM
- S(t) = S(0) exp{(μ − σ²/2)t + σB(t)}
- Follows from applying Ito's lemma to ln S(t).
- Distribution of log return
- ln(S(t)/S(0)) ~ N((μ − σ²/2)t, σ²t)
- Normal, so S(t) is lognormal. Variance is σ²t, so the standard deviation is σ√t.
- Lognormal parameters
- If ln S(t) ~ N(m, v) then E[S(t)] = exp(m + v/2) and Var[S(t)] = exp(2m + v)(exp(v) − 1)
- Here m = ln S(0) + (μ − σ²/2)t and v = σ²t.
- Mean and variance of share price
- E[S(t)] = S(0)e^(μt); Var[S(t)] = S(0)² e^(2μt)(e^(σ²t) − 1)
- Substitute m and v into the lognormal formulas.
- Ratio over a period
- S(t+s)/S(t) is lognormal and independent of the past up to time t
- Same distribution as S(s)/S(0). Gives independent increments of log price.
- Normal probability from log price
- P(S(t) > K) = 1 − Φ[(ln K − m) ÷ √v]
- Convert to the standard normal Z, then use tables.
- d1
- d1 = [ln(S₀ ÷ K) + (r + σ²/2)T] ÷ (σ√T)
- S₀ is the current share price, K the strike, r the continuously compounded risk-free rate, σ the annual volatility, T the time to expiry in years. ln is the natural log.
- d2
- d2 = d1 − σ√T
- Equivalent to [ln(S₀ ÷ K) + (r − σ²/2)T] ÷ (σ√T).
- European call price
- C = S₀N(d1) − Ke^(−rT)N(d2)
- N(.) is the standard normal cumulative distribution function. For a share with no dividends.
- European put price
- P = Ke^(−rT)N(−d2) − S₀N(−d1)
- Uses N(−x) = 1 − N(x).
- Put-call parity
- C − P = S₀ − Ke^(−rT)
- Holds for European options on the same share, strike and expiry, with no dividends. Use it to check your answers.
- With a continuous dividend yield q
- Replace S₀ by S₀e^(−qT) in d1, d2 and the price. d1 = [ln(S₀ ÷ K) + (r − q + σ²/2)T] ÷ (σ√T)
- Parity becomes C − P = S₀e^(−qT) − Ke^(−rT).
- Share price under P
- dS = μS dt + σS dW
- Geometric Brownian motion in the real world. μ is the real-world drift.
- Share price under Q
- dS = rS dt + σS dW̃
- Replace μ by r. Volatility σ is unchanged. Assumes a constant risk-free rate and no dividends.
- Delta-hedged portfolio
- Π = V − ΔS, with Δ = ∂V/∂S
- Holding −Δ shares per option removes the dW term over a short interval.
- Black-Scholes PDE
- ∂V/∂t + ½σ²S² ∂²V/∂S² + rS ∂V/∂S − rV = 0
- Holds for any derivative on a non-dividend share under the model assumptions. The payoff comes from the boundary condition at T.
- Risk-neutral pricing
- V(t) = e^(−r(T−t)) E_Q[V(T) | S(t)]
- Expectation is under Q, discounting at the risk-free rate.
- Terminal condition for a call
- V(S, T) = max(S − K, 0)
- For a put use max(K − S, 0).
- Black-Scholes call price
- C = S N(d1) − K e^(−rτ) N(d2)
- τ = T − t. N is the standard normal distribution function.
- d1 and d2
- d1 = [ln(S/K) + (r + ½σ²)τ] ÷ (σ√τ); d2 = d1 − σ√τ
- For a non-dividend share. N(d2) is the Q-probability the call finishes in the money.
- Black-Scholes put price
- P = K e^(−rτ) N(−d2) − S N(−d1)
- Consistent with put-call parity: C − P = S − K e^(−rτ).
- Market price of risk
- λ = (μ − r) ÷ σ
- Links P and Q: dW̃ = dW + λ dt.
- d1 and d2
- d1 = [ln(S ÷ K) + (r + σ²/2)T] ÷ (σ√T); d2 = d1 − σ√T
- Non-dividend-paying share, constant r and σ, continuously compounded r. S is the share price, K the strike, T the time to expiry in years.
- Black-Scholes prices
- Call = S·Φ(d1) − K·e^(−rT)·Φ(d2); Put = K·e^(−rT)·Φ(−d2) − S·Φ(−d1)
- Φ is the standard normal distribution function. Put-call parity: C − P = S − K·e^(−rT).
- Delta
- Δ(call) = Φ(d1); Δ(put) = Φ(d1) − 1
- Call delta is in (0, 1). Put delta is in (−1, 0). Put delta equals call delta minus 1.
- Gamma
- Γ = φ(d1) ÷ (S·σ·√T)
- φ is the standard normal density, φ(x) = e^(−x²/2) ÷ √(2π). Same for a call and a put.
- Vega
- Vega = S·φ(d1)·√T
- Same for a call and a put. This is per unit change in σ (so divide by 100 for a one percentage point change).
- Theta
- Θ(call) = −S·φ(d1)·σ ÷ (2√T) − r·K·e^(−rT)·Φ(d2); Θ(put) = −S·φ(d1)·σ ÷ (2√T) + r·K·e^(−rT)·Φ(−d2)
- Per year. Divide by 365 for an approximate per-day figure.
- Rho
- ρ(call) = K·T·e^(−rT)·Φ(d2); ρ(put) = −K·T·e^(−rT)·Φ(−d2)
- Per unit change in r.
- Black-Scholes PDE in Greeks
- Θ + r·S·Δ + ½·σ²·S²·Γ = r·V
- Holds for the value V of any derivative on a non-dividend-paying share. It links theta and gamma.
- Delta-gamma approximation
- ΔV ≈ Δ·δS + ½·Γ·(δS)²
- Use for the change in option value for a share price change δS. Add Vega·δσ and Θ·δt if those change.
- Delta hedge
- Shares held = −(number of options held × Δ)
- For a written call, hold +Δ shares per option. Portfolio delta is the sum of position deltas. Gamma-neutral hedging: choose option quantities so that total Γ = 0.
- Log return
- R_i = ln(S_i ÷ S_(i-1))
- Use continuously compounded returns, because GBM implies they are normal. Do not use simple percentage returns unless the question says so.
- Sample variance of returns
- s² = Σ(R_i − R̄)² ÷ (n − 1)
- n is the number of returns, which is one fewer than the number of prices. Divide by n − 1 unless the question gives a different convention.
- Annualised historical volatility
- σ̂ = s × √m
- m is the number of return periods per year: 12 for monthly, 52 for weekly, about 252 for daily (trading days). Use the m the question specifies.
- Distribution of log return under GBM
- ln(S_t ÷ S_0) ~ N((μ − σ²/2)t, σ²t)
- The variance of the log return is σ²t, which justifies the √ time scaling.
- Approximate standard error of a volatility estimate
- se(σ̂) ≈ σ̂ ÷ √(2(n − 1))
- Holds approximately when returns are independent and normal. It shows that more observations give a more precise estimate.
- Black-Scholes call price
- C = S_0 N(d1) − K e^(−rT) N(d2), d1 = [ln(S_0 ÷ K) + (r + σ²/2)T] ÷ (σ√T), d2 = d1 − σ√T
- For a European call on a non-dividend-paying share, with constant r and σ. The put is P = K e^(−rT) N(−d2) − S_0 N(−d1).
- Vega
- Vega = ∂C/∂σ = S_0 φ(d1) √T
- φ is the standard normal density. Vega is positive for calls and puts and is the same for both with the same strike and maturity. It is used as the slope in Newton-Raphson.
- Newton-Raphson for implied volatility
- σ_(n+1) = σ_n − (C_BS(σ_n) − C_market) ÷ vega(σ_n)
- Start from a sensible guess such as 20%. Repeat until the model price matches the market price to the accuracy required.
- Forward price with continuous yield
- F0 = S0 e^((r − q)T)
- q is the continuous dividend yield, or the foreign rate for a currency. With q = 0 this is the usual forward price.
- Call price with continuous yield q
- C = S0 e^(−qT) N(d1) − K e^(−rT) N(d2)
- European call. Only S0 is discounted at q. The strike is discounted at r.
- Put price with continuous yield q
- P = K e^(−rT) N(−d2) − S0 e^(−qT) N(−d1)
- European put. Use the same d1 and d2 as the call.
- d1 and d2
- d1 = [ln(S0/K) + (r − q + σ²/2)T] ÷ (σ√T); d2 = d1 − σ√T
- Drift is r − q, not r. The volatility σ is that of the underlying asset price.
- Garman-Kohlhagen (currency options)
- Replace q by rf. S0 = domestic price of one unit of foreign currency; r = domestic rate; rf = foreign rate
- Call on foreign currency: S0 e^(−rf T) N(d1) − K e^(−r T) N(d2). Check the quote direction first.
- Black 76 (options on futures or forwards)
- C = e^(−rT) [F N(d1) − K N(d2)]; P = e^(−rT) [K N(−d2) − F N(−d1)]; d1 = [ln(F/K) + σ²T/2] ÷ (σ√T)
- F is the futures or forward price for the same date. This is the yield formula with q = r and S0 replaced by F.
- Known cash dividends
- S0* = S0 − Σ Di e^(−r ti)
- Sum over dividends paid before expiry. Use S0* in place of S0. Applies to European options.
- Put-call parity with yield
- C − P = S0 e^(−qT) − K e^(−rT)
- Use it to get the put from the call, or to check your answer. For futures: C − P = e^(−rT)(F − K).
Quick revision
- Black-Scholes assumes continuous trading, no transaction costs, constant volatility and a constant risk-free rate.
- Share price follows geometric Brownian motion: dS = μS dt + σS dW.
- Under GBM, ln(S_t) is normal, so S_t is lognormal.
- Call price: c = S₀ N(d1) − K e^(−rT) N(d2).
- Put price: p = K e^(−rT) N(−d2) − S₀ N(−d1).
- d1 = [ln(S₀ ÷ K) + (r + σ²/2)T] ÷ (σ√T), and d2 = d1 − σ√T.
- Put-call parity for European options on a non-dividend share: c + K e^(−rT) = p + S₀.
- The real-world drift μ does not appear in the price. Only r and σ do.
- Delta of a call is N(d1). Delta of a put is N(d1) − 1.
- Gamma and vega are the same for a call and a put with the same strike and expiry.
- Implied volatility is the σ that makes the model price match the market price.
- A volatility smile shows that constant volatility does not hold in the market.
Common mistakes
- Saying Black-Scholes assumes the share price is normal. Fix: Say the price is lognormal. The log of the price, and so the continuously compounded return, is normal.
- Listing assumptions without saying how they fail. Fix: Add one sentence of real-world failure and one of effect for each assumption you list.
- Using μt as the mean of the log return. Fix: Always write the log return as N((μ − σ²/2)t, σ²t). The μ alone appears only in E[S(t)] = S(0)e^(μt).
- Writing E[S(t)] = S(0)exp((μ − σ²/2)t). Fix: Use E[S] = exp(m + v/2). The v/2 = σ²t/2 cancels −σ²t/2, leaving S(0)e^(μt).
- Using σ² in place of σ in the denominator, or forgetting the square root of T. Fix: The denominator is always σ√T. Write σ√T on its own line first and reuse it for d2.
- Treating N(d1) as the probability the call finishes in the money. Fix: N(d2) is the risk-neutral probability of finishing in the money. N(d1) is the delta of the call.
- Leaving μ in the PDE or in the risk-neutral price. Fix: After hedging, μ cancels. Under Q the drift is r. Never use μ to price a derivative.
- Saying risk-neutral valuation assumes investors are risk neutral. Fix: Say that the no-arbitrage price is the same as it would be in a risk-neutral world. It is a pricing technique, not a claim about behaviour.
- Using the call delta formula Φ(d1) for a put. Fix: Write put delta as Φ(d1) − 1, which is negative. Check that your put delta is between −1 and 0.
- Getting the hedge direction wrong, such as buying shares when the position is a long call. Fix: Work out portfolio delta first, then hold the opposite amount in shares. Long call has positive delta, so short Δ shares. Writer of a call buys Δ shares.
Exam tips
- Always pair each assumption with its failure and effect. A bare list earns few marks.
- Learn the volatility smile or skew as your lead piece of evidence. It links assumptions to market data.
- Be precise with wording: price is lognormal, returns are normal.
- In MCQs, check whether a statement comes from the model's assumptions or from market observation.
- If the question asks for a calculation as well, state that you are assuming constant σ and r, and then compute.
- Write the log return distribution as the first line of every answer. It earns method marks even if later arithmetic slips.
- Be ready to derive the solution by applying Ito's lemma to ln S. Show that d(ln S) = (μ − σ²/2)dt + σ dB, since 'show that' questions ask for this.
- In MCQs, watch for distractors that use μ instead of μ − σ²/2, or σ instead of σ√t. Check your answer against these traps.