Options Theory, Visually: Payoffs, Black–Scholes, and the Greeks

The Black–Scholes formula, C = S·N(d₁) − K e−rT·N(d₂), is the kind of result that's easy to memorise and hard to reconstruct: two cumulative normals that "fall out of the math" with no obvious reason for there being two. This note rebuilds the formula from the payoff upward, attaching every piece to a concrete mechanism — so the two terms have a meaning, not just a place in the equation.

Here's the whole story in one sentence, and everything below just unpacks it:

An option's price is the discounted, risk-neutral expectation of its payoff. You hold the right, not the obligation, to trade at a fixed price, so your payoff is bent — all upside, capped downside. Because the payoff is convex, volatility creates value; and because a dynamic hedge can replicate the option, no-arbitrage pins the price to a single number. Black–Scholes is just that expectation, written in closed form.

📈 The bent payoff: calls, puts, and P/L

Owning the stock is a straight line: gain a dollar when it rises, lose one when it falls. An option bends that line at the strike K. A call is the right to buy at K; a put is the right to sell at K. At expiry only the intrinsic value survives:

Call payoff = max(ST − K, 0)   ·   Put payoff = max(K − ST, 0)

You pay a premium up front, so your profit & loss is the payoff minus what you paid (and flipped if you're the seller). Toggle the contract, drag the strike, the premium, and the spot — the solid line is payoff at expiry, the dashed line is your P/L:

payoff at expiry profit / loss strike K
spot S105
strike K100
premium8.0
moneyness
breakeven

⏳ Before expiry: intrinsic value plus time value

Before maturity an option is worth more than its intrinsic payoff, because the future is still uncertain — there's time for the bet to come good. The live price is a smooth curve sitting above the kinked payoff, and the gap is the time value:

price = intrinsic value + time value

Drag time-to-expiry T toward zero and watch the curve melt down onto the hockey stick — the time value bleeds away. That decay is theta, and it accelerates near expiry:

option price (T > 0) payoff at expiry time value gap
T (yrs)1.00
vol σ0.25
price (ATM)
time value
K = 100, r = 2%. A call.

🌪️ Volatility is the whole game

Here is the engine room. Under the risk-neutral measure the stock drifts at the risk-free rate and its terminal price is log-normal. The option is worth the discounted average payoff over that distribution:

V = e−rT · EQ[ payoff(ST) ],   with   ST = S0 e(r − σ²/2)T + σ√T · Z,   Z ~ 𝒩(0,1)

Now the punchline. The payoff is convex — clipped at zero on the downside, open on the upside — so spreading the distribution wider adds expected payoff (big gains aren't cancelled by big losses, because the losses are capped). Drag σ: the bell fattens, the shaded expected-payoff mass grows, and the price climbs. The readout computes e−rTE[payoff] numerically — and it lands on the Black–Scholes price below.

density of ST payoff × density (value) strike K
vol σ0.25
E[payoff]·e−rT
Black–Scholes
S₀ = K = 100, r = 2%, T = 1. A call.

🧮 Black–Scholes in closed form

Where does the formula come from? Build a portfolio of the option and −Δ shares so the random moves cancel. A hedged, riskless portfolio must earn the risk-free rate — that no-arbitrage argument turns into the Black–Scholes PDE:

∂V/∂t + ½σ²S² ∂²V/∂S² + rS ∂V/∂S − rV = 0

Solve it with the terminal condition V(S, T) = payoff(S) and the discounted-expectation integral collapses into two cumulative normals:

C = S·N(d1) − K e−rT N(d2)
d1 = [ ln(S/K) + (r + σ²/2)T ] / (σ√T),    d2 = d1 − σ√T

Read it as the bet itself: N(d2) is the risk-neutral probability the call finishes in the money; N(d1) is that probability re-weighted by how much stock you'd be holding. Drive all five inputs and watch the price and the curve respond:

option price vs spot payoff at expiry current spot S
spot S100
strike K100
vol σ0.25
T (yrs)1.00
rate r0.02
price
d₁
d₂
N(d₁)
N(d₂)

🔢 The Greeks: slopes, curvature, and decay

The Greeks are just partial derivatives of the price — its sensitivities to each input. Two of them are right there in the picture: delta is the slope of the price curve, and gamma is its curvature. The tangent line below is delta; how fast that tangent rotates as you move spot is gamma.

Δ = ∂V/∂S = N(d1)  ·  Γ = ∂²V/∂S² = N'(d1)/(Sσ√T)  ·  𝜈 = ∂V/∂σ = S·N'(d1)√T
Θ = ∂V/∂t = −S·N'(d1)σ/(2√T) − rK e−rTN(d2)  ·  ρ = ∂V/∂r = K T e−rTN(d2)

Slide spot, volatility, and time. Δ a call's delta runs 0→1; Γ gamma peaks at the money; Θ theta is negative (time hurts the owner); 𝜈 vega is largest at the money and with more time left.

call price vs spot tangent (slope = Δ) current spot S
spot S100
vol σ0.25
T (yrs)1.00
Δ delta
Γ gamma
Θ / day
𝜈 / 1%
ρ / 1%
K = 100, r = 2%. A call.

🎲 Proof by simulation: Monte-Carlo onto Black–Scholes

If the price really is a risk-neutral expectation, we should be able to just sample it. Draw thousands of terminal prices ST from the log-normal, take each discounted payoff, and average. By the law of large numbers that running average must crawl onto the closed-form Black–Scholes price. Press start and watch the noisy estimate home in on the dashed line:

ĈN = (e−rT/N) Σi=1…N max(ST(i) − K, 0)  ⟶  CBS
speed
running estimate ĈN Black–Scholes C histogram of ST
samples N
0
estimate
Black–Scholes
rel. error
S₀ = K = 100, r = 2%, σ = 25%, T = 1. A call.
The whole arc in one breath. A payoff is a bet bent at the strike → its fair price is the discounted, risk-neutral expectation of that bet → because the bet is convex, volatility is what you're really buying → a hedging argument turns that expectation into the Black–Scholes PDE and its two-normal solution → the Greeks are how that solution moves → and a few thousand random draws reproduce the price from scratch, confirming the closed form numerically rather than taking it on trust.
Written on June 19, 2026