Options Pricing · Lesson 3 of 11

Black-Scholes Formula

The equation that changed markets · 20 min

Before this lesson

Comfortable with exponents and natural logs, and willing to treat the normal distribution N(d) as a lookup at first — it's explained here, not assumed.

The Nobel Prize Formula

On May 1, 1973 — just five days after the CBOE opened for trading — the Journal of Political Economy published "The Pricing of Options and Corporate Liabilities" by Fischer Black and Myron Scholes. Two journals had already rejected it. In 1997, Scholes and Robert Merton shared the Nobel Prize in Economics for the work (Black had passed away in 1995 and Nobels aren't awarded posthumously), with the committee calling it "a major contribution to economic sciences" — which undersells it a bit, honestly.

What the formula actually did was give options a real, theoretical price for the first time. Before 1973, pricing an option was mostly a matter of feel and negotiation. After 1973, there was an actual number to anchor around — and within a few years, nearly every options trader on the planet was using some version of it. The CBOE went as far as handing traders on its floor calculators pre-programmed with the formula.

The Setup: Geometric Brownian Motion

Black and Scholes needed a model of how stock prices move, and they landed on geometric Brownian motion (GBM). The core idea: over a tiny slice of time, the percentage change in a stock's price is normally distributed, with mean μ dt and standard deviation σ √dt — μ being the expected return, σ the volatility.

Written out: dS = μS dt + σS dWt, where dWt is one increment of a Wiener process — a continuous-time random walk. This has a nice consequence: log returns, log(St/S0), end up normally distributed, which makes the stock price itself log-normally distributed. That's actually the sensible outcome — prices can never dip below zero, and a 10% gain followed by a 10% loss doesn't get you back to where you started, which is exactly the kind of asymmetry a log-normal distribution captures and a normal one doesn't.

Under this model, the price at time T starting from today's price S works out to:

ST = S · exp((μ − σ²/2)T + σ√T · Z)

with Z ~ N(0,1). That σ²/2 term is a small correction from Jensen's inequality — since log is a concave function, the expected log return ends up a touch below μ.

The Key Insight: Risk-Neutral Pricing

Here's the part of the paper that made everyone sit up: the option's price turns out not to depend on the stock's expected return μ at all. That sounds wrong on first read — shouldn't a call option on a stock everyone expects to rise be worth more?

The reasoning behind it is subtle but airtight. If you hold a call and continuously delta-hedge it — constantly buying and selling the underlying to stay delta-neutral — you can strip out all the directional risk from the position entirely. Whatever's left over is a hedged portfolio that has to earn exactly the risk-free rate, or there's an arbitrage sitting right there. But notice what that means: the drift μ never actually appears in the pricing equation — it cancels out completely. You can price the option as if the stock simply grows at the risk-free rate r, regardless of what anyone actually believes about it. That's risk-neutral pricing.

Mechanically, that just means swapping μ for r in the GBM formula:

ST = S · exp((r − σ²/2)T + σ√T · Z), where Z ~ N(0,1)

From there, the option's price is simply the expected payoff under this risk-neutral world, discounted back at the risk-free rate.

The Black-Scholes Formula

Take the expected value of max(ST − K, 0) under that log-normal distribution, discount it, and out comes the formula everyone knows:

C = S · N(d₁) − K · e−rT · N(d₂)
P = K · e−rT · N(−d₂) − S · N(−d₁)

where:

  • d₁ = [ln(S/K) + (r + σ²/2)·T] / (σ·√T)
  • d₂ = d₁ − σ·√T = [ln(S/K) + (r − σ²/2)·T] / (σ·√T)
  • N(·) is the standard normal CDF — the probability a standard normal variable falls below a given value

Interpreting Each Term

The formula isn't just symbol-pushing — each piece has a clean, readable meaning. For a call:

  • N(d₂) is the risk-neutral probability the call finishes in-the-money (ST > K) — roughly, the odds you actually end up owning the stock.
  • N(d₁) is a delta-adjusted version of that same probability — the expected fraction of the stock's value you effectively hold through the option. It's always a touch bigger than N(d₂), a consequence of the log-normal distribution's skew.
  • S · N(d₁) is the present value of receiving the stock, conditional on the call getting exercised.
  • K · e−rT · N(d₂) is the present value of having to pay the strike K, conditional on that same exercise.

So the call's price is really just what you get minus what you pay — the stock side minus the strike side — each one weighted by its probability and discounted back to today.

What d₁ and d₂ Measure

d₁ and d₂ are best thought of as standardized versions of "how deep in-the-money is this option":

  • ln(S/K) captures the distance between stock and strike in log-space — positive means S > K, an in-the-money call
  • (r + σ²/2)·T adjusts for the log-normal process's built-in drift
  • σ·√T rescales everything by how much uncertainty has accumulated over the option's life

Two sanity checks worth internalizing: as T → 0 approaching expiration, the whole formula collapses down to plain intrinsic value, C → max(S − K, 0). And as σ → 0, meaning a world with no uncertainty at all, it gives you exactly the discounted certain payoff. Both edge cases behave exactly the way common sense says they should.

The Assumptions (and Their Violations)

Black-Scholes rests on five assumptions, and every single one of them is at least somewhat wrong in the real world:

  1. Constant volatility: real volatility drifts over time and varies by strike. That's exactly why traders talk about a "volatility smile" — different implied vols at different strikes — which is, strictly speaking, a direct contradiction of the model's own assumptions.
  2. Log-normal returns: real stock returns have fatter tails than a log-normal distribution predicts — extreme moves happen far more often than the model expects. Black Monday in 1987, when the Dow fell 22.6% in a single day, was a 27-sigma event under Black-Scholes — a move the model says should essentially never happen.
  3. No jumps: stocks gap overnight and on news constantly. GBM only knows how to model smooth, continuous price paths.
  4. Continuous trading at zero cost: proper delta hedging needs constant rebalancing. Real trading happens in discrete chunks and comes with real transaction costs.
  5. Constant risk-free rate: rates move, and that matters more the longer an option's maturity stretches out.

None of that has retired the formula, though. Traders don't use Black-Scholes because they believe its output is literally correct — they use it as a shared language, a common way to quote implied volatility, which is where Lesson 8 picks up.

Coding ExercisePython · runs in browser
+100 XP
Implement `black_scholes_call(S, K, T, r, sigma)` from scratch.
Write your solution, then run