Chapter 12
Medium

The Black-Scholes Formula, Greeks, and Put-Call Parity

00 · Symbol Glossary

$N(x)$standard normal CDF

N(x)=P(Z≤x)N(x)=\mathbb{P}(Z\leq x) for Z∼N(0,1)Z\sim N(0,1). Appears in the Black-Scholes formula as a risk-neutral probability, inherited from GBM's log-normal terminal distribution (Chapter 08).

$d_1,\ d_2$the two BS formula inputs

d1=ln⁡(S/K)+(r+σ2/2)(T−t)σT−td_1=\dfrac{\ln(S/K)+(r+\sigma^2/2)(T-t)}{\sigma\sqrt{T-t}}, d2=d1−σT−td_2=d_1-\sigma\sqrt{T-t}. Both are standardized versions of ln⁡(ST/K)\ln(S_T/K) under the risk-neutral measure, differing only in whether the Itô convexity adjustment (σ2/2\sigma^2/2) is included.

$C,\ P$call and put value

C(S,t)C(S,t) and P(S,t)P(S,t) solve the Black-Scholes PDE of Chapter 11 with terminal conditions max⁡(S−K,0)\max(S-K,0) and max⁡(K−S,0)\max(K-S,0) respectively.

$\Delta,\ \Gamma$the first two Greeks

Δ=∂V/∂S\Delta=\partial V/\partial S (hedge ratio, Chapter 11) and Γ=∂2V/∂S2\Gamma=\partial^2V/\partial S^2 (its sensitivity to SS). Both are partial derivatives of the pricing function, not new randomness.

$\text{Vega}$sensitivity to volatility

∂V/∂σ\partial V/\partial\sigma. Not a Greek letter (a long-standing pricing-desk joke), but grouped with the Greeks because it measures the same kind of local sensitivity.


01 · The Boundary Condition for a Call

Chapter 11 derived the PDE Vt+rSVS+12σ2S2VSS−rV=0V_t+rSV_S+\tfrac12\sigma^2S^2V_{SS}-rV=0 but left the terminal condition unspecified — the PDE alone describes a whole family of instruments. A European call with strike KK and maturity TT pays

C(T,S)=max⁡(S−K,0)C(T,S) = \max(S-K,0)

at TT: buy the underlying at KK if that's cheaper than the market, walk away otherwise. This single boundary condition, applied to Chapter 11's PDE, has a closed-form solution — one of the few nonlinear-payoff PDEs in finance that does.


02 · The Black-Scholes Formula

Definition — Black-Scholes Call Formula

For a non-dividend-paying underlying with constant r,σr,\sigma,

C(S,t)=S N(d1)−Ke−r(T−t)N(d2)C(S,t) = S\,N(d_1) - Ke^{-r(T-t)}N(d_2)
d1=ln⁡(S/K)+(r+σ22)(T−t)σT−t,d2=d1−σT−td_1 = \frac{\ln(S/K)+\left(r+\frac{\sigma^2}{2}\right)(T-t)}{\sigma\sqrt{T-t}}, \qquad d_2 = d_1 - \sigma\sqrt{T-t}

Plain language: N(d2)N(d_2) is the risk-neutral probability the option finishes in the money (ST>KS_T>K), so Ke−r(T−t)N(d2)Ke^{-r(T-t)}N(d_2) is the present value of the strike you expect to pay, weighted by whether you actually pay it. SN(d1)SN(d_1) plays the analogous role for the asset side: it is the present value of receiving STS_T conditional on exercise, computed under a further change of measure (using the stock itself, rather than the bond, as numeraire) that shifts d2d_2 to d1d_1 by exactly the σ2(T−t)/2\sigma^2(T-t)/2 Itô adjustment. The call's value is the difference of these two conditional present values.

Example — Plugging in numbers

S=100S=100, K=100K=100, r=0.05r=0.05, σ=0.2\sigma=0.2, T−t=1T-t=1. Then d1=ln⁡(1)+(0.05+0.02)(1)0.2=0.070.2=0.35d_1=\dfrac{\ln(1)+(0.05+0.02)(1)}{0.2}=\dfrac{0.07}{0.2}=0.35, d2=0.35−0.2=0.15d_2=0.35-0.2=0.15. Using N(0.35)≈0.6368N(0.35)\approx0.6368, N(0.15)≈0.5596N(0.15)\approx0.5596: C≈100(0.6368)−100e−0.05(0.5596)≈63.68−53.23=10.45C\approx100(0.6368)-100e^{-0.05}(0.5596)\approx63.68-53.23=10.45.


03 · Put-Call Parity (Model-Free)

Definition — Put-Call Parity
C−P=S−Ke−r(T−t)C - P = S - Ke^{-r(T-t)}

At maturity, max⁡(ST−K,0)−max⁡(K−ST,0)=ST−K\max(S_T-K,0)-\max(K-S_T,0)=S_T-K for every possible STS_T — check both cases ST≥KS_T\geq K and ST<KS_T<K directly. A portfolio long a call and short a put has, at every path, exactly the payoff of a forward contract struck at KK. Discounting both sides back to tt gives the formula above, and the argument used nothing about Brownian motion, log-normality, or constant volatility — only that the two payoffs agree pointwise at TT.

Why 'model-free' matters

Put-call parity holds under jump-diffusion, stochastic volatility, or any other model of STS_T, because the derivation is a static replication at TT, not a PDE solved under specific dynamics. It is one of very few pricing relations in this subject that survives every model change in later, more realistic extensions.

❌ Treating parity as a Black-Scholes-specific check

Assuming that if C−P≠S−Ke−r(T−t)C-P\neq S-Ke^{-r(T-t)} for quoted market prices, the market must be using different σ\sigma for the call and put, or that Black-Scholes itself is wrong.

Why it breaks: parity is a replication identity true for any pricing model whatsoever — it follows from the payoffs alone, before any PDE or measure is chosen (Section 03). A violation is not evidence about volatility assumptions at all.

Consequence: a parity violation in real quotes signals an arbitrage opportunity (or transaction costs / stale quotes), not a modeling disagreement. Traders exploit it directly: buy the cheap side, sell the expensive side, lock in the difference risklessly.


04 · Greeks

The Greeks are partial derivatives of CC with respect to its inputs — no new randomness, just calculus applied to the closed-form formula.

GreekFormulaMeaning
Δ=∂C/∂S\Delta=\partial C/\partial SN(d1)N(d_1)shares to hold per option for a hedge (Chapter 11)
Γ=∂2C/∂S2\Gamma=\partial^2C/\partial S^2φ(d1)SσT−t\dfrac{\varphi(d_1)}{S\sigma\sqrt{T-t}}how fast Δ\Delta moves as SS moves
Θ=∂C/∂t\Theta=\partial C/\partial tinvolves −Sφ(d1)σ2T−t−rKe−r(T−t)N(d2)-\dfrac{S\varphi(d_1)\sigma}{2\sqrt{T-t}}-rKe^{-r(T-t)}N(d_2)time decay, usually negative for long options
Vega =∂C/∂σ=\partial C/\partial\sigmaSφ(d1)T−tS\varphi(d_1)\sqrt{T-t}sensitivity to volatility, always positive for calls and puts
ρ=∂C/∂r\rho=\partial C/\partial rK(T−t)e−r(T−t)N(d2)K(T-t)e^{-r(T-t)}N(d_2)sensitivity to the risk-free rate

(φ\varphi is the standard normal density.) Δ\Delta and Γ\Gamma are the same objects Chapter 11 used to build the hedge and read the PDE's convexity term — the formula just makes them explicit functions of (S,K,r,σ,T−t)(S,K,r,\sigma,T-t) instead of leaving them as unevaluated partial derivatives.


05 · Model Limits

Black-Scholes assumes constant σ\sigma, continuous trading with no transaction costs, no dividends, log-normal terminal prices, and a constant rr — a long list, and every real market violates at least one.

Where the assumptions bite

Options at different strikes on the same underlying, priced with the same expiry and market quotes, imply different σ\sigma when you invert the formula for it — the volatility smile. That contradicts "constant σ\sigma" directly: the model is being asked to explain a pattern it structurally cannot produce, because GBM has one volatility parameter, not one per strike. Practitioners use Black-Scholes as a quoting convention (translate a price into an implied σ\sigma) more than as a literal description of how StS_t moves.

Other limits worth naming: real log-returns have fatter tails than the normal distribution GBM implies (Chapter 08), so far out-of-the-money options are systematically underpriced by the formula relative to observed markets; American-style early exercise has no closed form here (the boundary condition assumed European, exercise only at TT); and discrete rebalancing in practice never achieves the continuous, costless hedge Section 03 of Chapter 11 assumed.

Practice — Reading a smile

If quoted call prices, when inverted for implied σ\sigma, give a higher number for deep out-of-the-money puts than for at-the-money options, what does that say about the market's belief in the probability of a large downward move, relative to what a single constant-σ\sigma log-normal model would assign? Which model assumption from Section 05 is being violated?


06 · Exercises

EXERCISE 12.1

Plug S,K,r,σ,T−tS,K,r,\sigma,T-t directly into the d1,d2d_1,d_2 formulas from Section 02.

S=50S=50, K=45K=45, r=0.03r=0.03, σ=0.25\sigma=0.25, T−t=0.5T-t=0.5. d1=ln⁡(50/45)+(0.03+0.03125)(0.5)0.250.5=0.1054+0.03060.1768≈0.768d_1=\dfrac{\ln(50/45)+(0.03+0.03125)(0.5)}{0.25\sqrt{0.5}}=\dfrac{0.1054+0.0306}{0.1768}\approx0.768. d2=0.768−0.250.5≈0.768−0.177=0.591d_2=0.768-0.25\sqrt{0.5}\approx0.768-0.177=0.591.

Compute d1d_1 and d2d_2 for S=50S=50, K=45K=45, r=0.03r=0.03, σ=0.25\sigma=0.25, T−t=0.5T-t=0.5.

EXERCISE 12.2

Use the put-call parity identity from Section 03, solved for PP.

P=C−S+Ke−r(T−t)P=C-S+Ke^{-r(T-t)}. Using the Example in Section 02 (C≈10.45C\approx10.45, S=100S=100, K=100K=100, r=0.05r=0.05, T−t=1T-t=1): P≈10.45−100+100e−0.05≈10.45−100+95.12=5.57P\approx10.45-100+100e^{-0.05}\approx10.45-100+95.12=5.57.

Using C≈10.45C\approx10.45 from the Example in Section 02, find PP for the same S,K,r,T−tS,K,r,T-t via put-call parity.

EXERCISE 12.3

Differentiate put-call parity, C−P=S−Ke−r(T−t)C-P=S-Ke^{-r(T-t)}, with respect to SS.

∂C∂S−∂P∂S=1\dfrac{\partial C}{\partial S}-\dfrac{\partial P}{\partial S}=1, so Δcall−Δput=1\Delta_{\text{call}}-\Delta_{\text{put}}=1. Since Δcall=N(d1)∈(0,1)\Delta_{\text{call}}=N(d_1)\in(0,1), this forces Δput=N(d1)−1∈(−1,0)\Delta_{\text{put}}=N(d_1)-1\in(-1,0) — puts always have negative delta, and the two deltas are linked without needing the put formula separately.

Differentiate put-call parity with respect to SS to find a relationship between Δcall\Delta_{\text{call}} and Δput\Delta_{\text{put}}.


07 · Chapter Summary

ConceptFormula / Fact
Call formulaC=SN(d1)−Ke−r(T−t)N(d2)C=SN(d_1)-Ke^{-r(T-t)}N(d_2)
d1,d2d_1,d_2d1=ln⁡(S/K)+(r+σ2/2)(T−t)σT−td_1=\dfrac{\ln(S/K)+(r+\sigma^2/2)(T-t)}{\sigma\sqrt{T-t}}, d2=d1−σT−td_2=d_1-\sigma\sqrt{T-t}
Put-call parityC−P=S−Ke−r(T−t)C-P=S-Ke^{-r(T-t)} — model-free
Δ\DeltaN(d1)N(d_1); call hedge ratio
Vegaalways positive; drives implied-vol quoting
Biggest limitconstant σ\sigma contradicted by the observed volatility smile

Next: Chapter 13 — Martingale Pricing, Risk-Neutral Valuation, and Completeness, which recasts this whole formula as a special case of a single discounted-expectation principle.