Skip to content
Finance Lessons

Options Pricing

The Black–Scholes Formula

The closed-form European call price C = S·N(d₁) − K·e^(−rT)·N(d₂): its lognormal, constant-vol, constant-rate assumptions, what d₁ and d₂ mean, why N(d₂) is the risk-neutral probability of finishing in the money, and a full worked example.

10 min Updated Jun 5, 2026

The binomial tree was a staircase: chop time into steps, price the option at each node, fold back. Add more steps and the staircase smooths into a ramp. In 1973, Fischer Black, Myron Scholes, and Robert Merton wrote down where that ramp lands — a single closed-form equation that gives a European option’s fair price with no tree to fold at all. It won a Nobel Prize, it underpins a multi-trillion-dollar market, and it fits on one line. Let’s earn that line.

Before we do, a gut check.

Before you read — take a guess

The Black–Scholes formula prices a European option exactly. What is the one input you cannot simply read off a screen?

The headline result

For a European call on a non-dividend-paying stock, the Black–Scholes price is:

C=S0N(d1)KerTN(d2)C = S_0\,N(d_1) - K e^{-rT}\,N(d_2)

where

d1=ln(S0/K)+(r+12σ2)TσT,d2=d1σT.d_1 = \frac{\ln(S_0/K) + \left(r + \tfrac{1}{2}\sigma^2\right)T}{\sigma\sqrt{T}}, \qquad d_2 = d_1 - \sigma\sqrt{T}.

Here N()N(\cdot) is the standard normal cumulative distribution function — for any number zz, N(z)N(z) is the probability that a draw from the bell curve lands below zz. It runs from 00 (far left) through 0.50.5 (at zero) up toward 11 (far right).

The put doesn’t need its own derivation — it falls straight out of put–call parity:

P=KerTN(d2)S0N(d1).P = K e^{-rT}\,N(-d_2) - S_0\,N(-d_1).

That’s the whole machine. Six inputs go in, one price comes out. The rest of this lesson is about why it has this exact shape, because once you can read the formula, the Greeks in the next lesson are just its derivatives.

Info:

One line, three Nobel laureates

Black and Scholes published the equation; Merton supplied the rigorous continuous-hedging argument and generalized it. Scholes and Merton shared the 1997 Nobel (Black had died in 1995). When practitioners say “Black–Scholes” they usually mean the Black–Scholes–Merton model.

The six inputs — five you can see, one you can’t

Remember the six drivers of an option’s premium from the previous topic? Black–Scholes is exactly those six drivers turned into arithmetic. Five of them you can read off a screen this instant; the sixth you have to forecast.

SymbolInputObservable?
S0S_0Current stock price (spot)Yes — quoted live
KKStrike priceYes — in the contract
TTTime to expiry (in years)Yes — count the days
rrRisk-free interest rateYes — from Treasury yields
qqDividend yield (optional)Yes — announced/estimated
σ\sigmaVolatility of the underlyingNo — a forecast

That asymmetry matters enormously. Plug five knowns and one guess into the formula and you get a price. But run it backwards — feed in a market price and solve for the σ\sigma that reproduces it — and you’ve extracted the market’s volatility forecast. That number has a name, implied volatility, and it’s the subject of two lessons from now.

Fill in the structure of the two helper terms.

Pick the right option for each blank, then check.

In d₁ the numerator is ln(S₀/K) plus (r + ½σ²)·T, all divided by . Then d₂ equals d₁ σ√T. The quantity σ√T is the stock's total over the option's life.

The assumptions — and what each one costs you

The formula is exact, but only inside a particular model of the world. Six assumptions buy you the clean closed form; each one is also where reality eventually pokes a hole.

AssumptionWhat it buysHow reality deviates
(a) Geometric Brownian motion ⇒ the terminal price STS_T is lognormally distributedA tractable bell-shaped distribution for lnST\ln S_TReal returns have fat tails and crashes — moves the bell curve can’t picture
(b) Constant volatility σ\sigmaA single number describes the spread at every level and dateVol clusters, spikes in panics, and varies by strike — the vol smile (a later lesson)
(c) Constant risk-free rate rrOne discount factor erTe^{-rT}Rates wander; for short-dated equity options this barely matters
(d) No dividends (or a continuous yield via S0eqTS_0 e^{-qT})The stock’s drift is cleanReal dividends are lumpy and discrete, not a smooth yield
(e) Frictionless, continuous trading, no arbitrageYou can hedge perfectly and costlesslyBid–ask spreads, fees, and gaps make the hedge imperfect
(f) European exerciseOnly one decision date to reason aboutAmerican options can be exercised early; needs a tree or numerics

Assumption (a) is the keystone. “Geometric Brownian motion” is a fancy way of saying the stock’s percentage returns are random and normally distributed, so the log of the price is normal — and therefore the price itself is lognormal: it can’t go negative, and it’s skewed with a long right tail. Hold that picture; the entire meaning of the formula lives in it.

Warning:

Constant volatility is the assumption that breaks first

Black–Scholes assumes one σ describes every strike and every date. Markets disagree loudly: solve for the σ implied by real option prices and you get different numbers across strikes — the volatility smile/skew. The model is a flawed-but-indispensable lens, and its most famous flaw is right here. We devote a whole lesson to it soon.

What the formula actually means

This is the payoff of the lesson. The equation isn’t a magic incantation — every piece has a plain-English job. Read it as (present value of what you receive) minus (present value of what you pay), each weighted by the right probability.

N(d2)N(d_2) — the risk-neutral probability of finishing in the money

Under the model’s risk-neutral world, N(d2)N(d_2) is the probability that the call finishes in the money, i.e. ST>KS_T > K at expiry. Picture the lognormal distribution of the terminal price: N(d2)N(d_2) is the shaded mass sitting above the strike — the slice of futures where exercising actually pays off.

Crank up volatility or time and that right tail fattens, pushing more probability above KK. Crank them down and the distribution tightens around today’s price. Play with it directly — drag σ and T and watch the in-the-money mass (which is N(d2)N(d_2)) swell and shrink:

The lognormal terminal price — and N(d₂) as the shaded mass above Kσ 20% · T 1y
Strike KMedian price
04693139186K
P(finish ITM) = N(d₂)
46%
Median price
98.02

The shaded area above the strike is N(d₂): the risk-neutral probability the call ends in the money. Fatten σ or stretch T and the right tail thickens, lifting that probability.

N(d1)N(d_1) — the delta, the hedge ratio

N(d1)N(d_1) is the call’s delta: how much the option’s price moves for a $1 move in the stock, and the share-fraction you must hold to hedge it. The term S0N(d1)S_0\,N(d_1) is the present value of receiving the stock, conditional on actually exercising — the expected value of the share you’ll collect, weighted toward the cases where you do collect it. (Note N(d1)N(d2)N(d_1) \geq N(d_2) always, since d1>d2d_1 > d_2: the share’s value gets more weight than the raw exercise probability, because when you do exercise you tend to be deep in the money.)

KerTN(d2)K e^{-rT}\,N(d_2) — the present value of paying the strike

The second term is what you hand over. You pay the strike KK only if you exercise, which happens with probability N(d2)N(d_2); you pay it at expiry, so discount it back with erTe^{-rT}. That product — strike, discounted, times the chance you actually pay it — is the present value of the cash you’ll fork over.

So the call price is simply:

S0N(d1)PV of the stock you get    KerTN(d2)PV of the cash you pay.\underbrace{S_0\,N(d_1)}_{\text{PV of the stock you get}} \;-\; \underbrace{K e^{-rT}\,N(d_2)}_{\text{PV of the cash you pay}}.

Get this and the formula stops being symbols. It’s a probability-weighted “what you get minus what you give.”

Match each piece of the call formula to what it represents.

Pick a term, then click its definition.

Sort each input by whether you can observe it directly or must forecast it.

Place each item in the right group.

  • Strike price K
  • Dividend yield q
  • Current spot price S₀
  • Risk-free rate r
  • Volatility σ
  • Time to expiry T

A full worked example

Let’s price an at-the-money one-year call with clean numbers, showing every step. Inputs:

  • Spot S0=100S_0 = 100
  • Strike K=100K = 100 (at the money)
  • Risk-free rate r=0.05r = 0.05 (5%)
  • Volatility σ=0.20\sigma = 0.20 (20%)
  • Time T=1T = 1 year

Step 1 — the spread term.

σT=0.20×1=0.20.\sigma\sqrt{T} = 0.20 \times \sqrt{1} = 0.20.

Step 2 — compute d1d_1. Since S0=KS_0 = K, we have ln(S0/K)=ln(1)=0\ln(S_0/K) = \ln(1) = 0, so the numerator is just the drift term:

d1=0+(0.05+120.202)10.20=0.05+0.020.20=0.070.20=0.35.d_1 = \frac{0 + \left(0.05 + \tfrac{1}{2}\cdot 0.20^2\right)\cdot 1}{0.20} = \frac{0.05 + 0.02}{0.20} = \frac{0.07}{0.20} = 0.35.

Step 3 — compute d2d_2.

d2=d1σT=0.350.20=0.15.d_2 = d_1 - \sigma\sqrt{T} = 0.35 - 0.20 = 0.15.

Step 4 — look up the normal CDF. Use this small reference table.

xxN(x)N(x)
0.000.5000
0.150.5596
0.350.6368
0.500.6915
1.000.8413

So N(d1)=N(0.35)0.6368N(d_1) = N(0.35) \approx 0.6368 and N(d2)=N(0.15)0.5596N(d_2) = N(0.15) \approx 0.5596.

Read N(d2)N(d_2) as a sentence: there’s about a 56% risk-neutral chance this call finishes in the money.

Step 5 — assemble the price. First the discount factor: erT=e0.050.9512e^{-rT} = e^{-0.05} \approx 0.9512. Then:

C=S0N(d1)KerTN(d2)=1000.63681000.95120.5596.C = S_0\,N(d_1) - K e^{-rT}\,N(d_2) = 100\cdot 0.6368 - 100\cdot 0.9512\cdot 0.5596.

C=63.6853.2310.45.C = 63.68 - 53.23 \approx 10.45.

The fair value of this one-year at-the-money call is about $10.45 per share — roughly 10.5% of the stock price, a useful rule of thumb for a 20%-vol, one-year, at-the-money option.

Tip:

Sanity check the magnitude

An at-the-money one-year call is worth roughly 0.4×S0×σT0.4 \times S_0 \times \sigma\sqrt{T} as a back-of-envelope approximation: 0.4×100×0.20=80.4 \times 100 \times 0.20 = 8, i.e. about $8 — in the right ballpark of our exact $10.45 (the rate rr lifts it a bit). If your full calculation lands an order of magnitude off, you’ve fat-fingered an input.

In the worked example, N(d₂) ≈ 0.5596. The single best plain-English reading of that number is:

Recompute d₁ for a slightly different contract: S₀ = 100, K = 100, r = 0.05, but now σ = 0.40 and T = 1. What is d₁? (Hint: ln(1)=0.)

Pricing the matching put

We don’t re-derive anything — put–call parity does the work. With the same inputs, the put price uses the complementary probabilities N(d1)N(-d_1) and N(d2)N(-d_2). Try it before peeking.

Show the matching put price via parity

Using N(z)=1N(z)N(-z) = 1 - N(z):

  • N(d1)=1N(0.35)=10.6368=0.3632N(-d_1) = 1 - N(0.35) = 1 - 0.6368 = 0.3632
  • N(d2)=1N(0.15)=10.5596=0.4404N(-d_2) = 1 - N(0.15) = 1 - 0.5596 = 0.4404

Then:

P=KerTN(d2)S0N(d1)=1000.95120.44041000.3632.P = K e^{-rT} N(-d_2) - S_0 N(-d_1) = 100\cdot 0.9512\cdot 0.4404 - 100\cdot 0.3632.

P=41.8936.325.57.P = 41.89 - 36.32 \approx 5.57.

The put is worth about $5.57 — cheaper than the $10.45 call. Check it against put–call parity, CP=S0KerTC - P = S_0 - K e^{-rT}: that’s 10.455.57=4.8810.45 - 5.57 = 4.88, and 10095.12=4.88100 - 95.12 = 4.88. They match, so the two prices are mutually consistent. The call is dearer because the positive rate rr tilts the risk-neutral drift upward, favouring the right-to-buy.

Which statements about the Black–Scholes model are true? (Select all that apply.)

Putting it together

Black–Scholes turns the binomial staircase into one closed-form line. Feed it six inputs — five observable, only σ\sigma a forecast — assume a lognormal terminal price with constant vol and rate, and out comes a European option’s fair value as the present value of the stock you’d receive minus the present value of the strike you’d pay, each weighted by the right probability. N(d2)N(d_2) is the chance you finish in the money; N(d1)N(d_1) is your delta.

Big picture

The Black–Scholes formula — the whole picture

  • Black–Scholes
    • The formula
      • C = S₀·N(d₁) − K·e^(−rT)·N(d₂)
      • Put via put–call parity
      • d₂ = d₁ − σ√T
    • Six inputs
      • Five observable: S₀ K T r q
      • One forecast: volatility σ
    • Key assumptions
      • Lognormal terminal price
      • Constant volatility
      • Constant rate, no arbitrage
      • European exercise
    • Meaning of the pieces
      • N(d₂) = prob finish in the money
      • N(d₁) = delta / hedge ratio
      • S₀·N(d₁) = PV of stock received
      • K·e^(−rT)·N(d₂) = PV of strike paid
    • Where it breaks
      • Fat tails vs lognormal
      • Vol smile vs constant σ
Every later lesson hangs off this: the Greeks differentiate it, implied vol inverts it, and the vol smile is where its constant-σ assumption fails.

Recap: the Black–Scholes formula

Question 1 of 50 correct

In C = S₀·N(d₁) − K·e^(−rT)·N(d₂), what does N(d₂) represent?

Check your answer to continue.

Next up — The Greeks — we stop treating the price as a number and start differentiating it. Delta you’ve already met (it’s N(d1)N(d_1)); now meet its siblings — gamma, theta, vega, and rho — each one a partial derivative of this very formula, measuring how the price reacts as one input twitches.

Mark lesson as complete