Introduction

In 1973, Fischer Black and Myron Scholes published a paper that did something remarkable: it gave a single formula for the fair price of a European stock option. Their result, extended simultaneously by Robert Merton, earned the 1997 Nobel Prize in Economics — Black had died two years earlier and the prize is not awarded posthumously.

Before their work, options traders relied on intuition, rules of thumb, and gut feeling. The Black-Scholes model replaced all of that with mathematics: assume the stock price follows geometric Brownian motion — random, but with a known drift and a known volatility — and the price of the right to buy or sell that stock at a fixed date becomes a completely deterministic function of five inputs.

The surprising part is how that formula falls out. You don't compute an expected value directly. Instead, you write a partial differential equation (PDE) that any fair option price must satisfy, then solve it in closed form. The key trick is a delta hedge: hold just enough stock alongside the option so that the random fluctuations cancel, leaving a risk-free portfolio — and a risk-free portfolio must earn the risk-free rate.

The result is elegant, solvable, and — for all its assumptions — remarkably useful.

Try It

Move the sliders to see how each input shapes the option price. The call price is the theoretical cost of the right to buy the stock at the strike price on the expiry date.

<!-- {{c_intro}} -->
<div class="bs-wrap">
  <div class="sliders">
    <label>{{lbl_stock}} <span class="val" id="vS">100</span>
      <input type="range" id="sS" min="50" max="200" step="1" value="100">
    </label>
    <label>{{lbl_strike}} <span class="val" id="vK">100</span>
      <input type="range" id="sK" min="50" max="200" step="1" value="100">
    </label>
    <label>{{lbl_time}} <span class="val" id="vT">1.0</span>
      <input type="range" id="sT" min="0.1" max="3.0" step="0.1" value="1.0">
    </label>
    <label>{{lbl_vol}} <span class="val" id="vV">20</span>%
      <input type="range" id="sV" min="5" max="80" step="1" value="20">
    </label>
    <label>{{lbl_rate}} <span class="val" id="vR">5</span>%
      <input type="range" id="sR" min="0" max="15" step="1" value="5">
    </label>
  </div>
  <div class="result-box">
    <div class="result-label">{{lbl_call_price}}</div>
    <div class="result-price" id="callPrice">—</div>
    <div class="greeks" id="greeks"></div>
  </div>
  <div class="chart-wrap">
    <div class="chart-title">{{lbl_chart_title}}</div>
    <canvas id="chart" width="320" height="140"></canvas>
    <div class="chart-axis">
      <span>{{lbl_axis_low}}</span><span>{{lbl_axis_mid}}</span><span>{{lbl_axis_high}}</span>
    </div>
  </div>
</div>
/* {{c_layout}} */
* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; color: #222; margin: 0; padding: .5rem; }
.bs-wrap { display: flex; flex-direction: column; gap: .7rem; }
.sliders { display: flex; flex-direction: column; gap: .4rem; }
label { display: grid; grid-template-columns: 10rem 2.8rem 1fr; align-items: center; gap: .3rem;
        font-size: .85rem; }
input[type=range] { width: 100%; accent-color: #1d3557; }
.val { font-weight: 700; color: #1d3557; text-align: right; }
/* {{c_result_box}} */
.result-box { background: #e8eef3; border-radius: 10px; padding: .6rem 1rem;
              display: flex; flex-direction: column; align-items: center; }
.result-label { font-size: .8rem; color: #555; text-transform: uppercase; letter-spacing: .05em; }
.result-price { font-size: 2.2rem; font-weight: 700; color: #1d3557; line-height: 1.1; }
.greeks { font-size: .78rem; color: #444; margin-top: .3rem; display: flex; gap: .8rem;
          flex-wrap: wrap; justify-content: center; }
.greeks span { white-space: nowrap; }
/* {{c_chart_style}} */
.chart-wrap { background: #f5f7fa; border-radius: 10px; padding: .5rem; }
.chart-title { font-size: .78rem; color: #555; text-align: center; margin-bottom: .2rem; }
canvas { display: block; margin: 0 auto; border-radius: 6px; }
.chart-axis { display: flex; justify-content: space-between; font-size: .7rem;
              color: #888; padding: 0 .2rem; margin-top: .1rem; }
// Code not found

Notice how volatility (σ\sigma) has the biggest visual effect: higher uncertainty makes the option more valuable because upside is unlimited while downside is capped at zero. The time to expiry (TT) works similarly — more time means more chance the stock moves in your favor. In contrast, a higher risk-free rate (rr) modestly increases call prices because it makes the alternative of holding cash less attractive. This is what Monte Carlo methods exploit: simulate thousands of price paths and average the payoffs.

The Real Complexity

The derivation has three moving parts that are each worth understanding.

The stock model. The stock price SS is assumed to follow geometric Brownian motion:

dS=μSdt+σSdWdS = \mu S\,dt + \sigma S\,dW

where μ\mu is the drift, σ\sigma is the volatility, and dWdW is an infinitesimal Wiener increment (random noise). Taking logarithms shows that logS\log S follows a normal distribution — hence log-normal stock prices.

The PDE. Construct a portfolio of one option V(S,t)V(S,t) and Δ-\Delta shares of stock. By Itô's lemma, VV itself satisfies a stochastic equation. Choose Δ=V/S\Delta = \partial V/\partial S and the random terms cancel. Because the resulting portfolio is riskless, it must earn the risk-free rate rr, giving the Black-Scholes PDE:

Vt+12σ2S22VS2+rSVSrV=0\frac{\partial V}{\partial t} + \frac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + rS\frac{\partial V}{\partial S} - rV = 0

The closed form. For a European call with strike KK and expiry TT, the boundary condition is V(S,T)=max(SK,0)V(S,T) = \max(S-K,\,0). After a change of variables to the heat equation, the solution is:

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

where NN is the standard normal CDF and

d1=ln(S/K)+(r+σ2/2)TσT,d2=d1σTd_1 = \frac{\ln(S/K) + (r + \sigma^2/2)\,T}{\sigma\sqrt{T}}, \qquad d_2 = d_1 - \sigma\sqrt{T}

The drift μ\mu vanished completely — option prices under no-arbitrage depend only on σ\sigma, rr, SS, KK, and TT. This is the status: fully solved by Black and Scholes in 1973, with Merton's parallel derivation via continuous-time portfolio theory confirming the result.

Where It Matters

The formula changed finance in ways its authors did not fully anticipate:

  • Options markets: the Chicago Board Options Exchange opened in April 1973 — the same year the paper was published. Traders started using the formula almost immediately, and the volume of options contracts exploded.
  • The Greeks: the partial derivatives of CC with respect to each input (Δ\Delta, Γ\Gamma, Θ\Theta, V\mathcal{V}, ρ\rho) give every trading desk a precise language for managing risk.
  • Implied volatility: inverting the formula — asking "what σ\sigma makes the formula price equal the market price?" — produces the implied volatility, now the standard measure of market-perceived uncertainty. The famous volatility smile (implied vol varies with strike) is a fingerprint of where the model's assumptions break down.
  • Beyond equities: the same PDE framework, with modifications, prices interest-rate derivatives, foreign-exchange options, and commodity contracts.
  • Risk management: Basel capital requirements for banks rest partly on option-style calculations that descend directly from Black-Scholes.

The model's assumptions — constant volatility, no jumps, continuous trading, no transaction costs — are all violated in practice. But rather than abandoning the formula, practitioners use it as a common language: quote prices in implied vol units, then correct with smiles, skews, and local-vol models. Understanding Black-Scholes is the entry point to all of quantitative finance, and to topics like Monte Carlo methods that extend its reach to paths the formula cannot price in closed form.

Conclusion

Black-Scholes is a rare thing in applied mathematics: a closed-form answer to a hard real-world problem. The stock price is random; the option payoff depends on where it lands; yet a single formula, derived from a no-arbitrage PDE and an elegant change of variables, captures the fair price exactly — under the model's assumptions.

Those assumptions fail in interesting ways, and the failures have driven decades of research: stochastic volatility models, jump-diffusion models, local-vol surfaces. But every one of those extensions is written in the language that Black, Scholes, and Merton invented in 1973. Knowing the formula, its derivation, and where it breaks down is the starting point for understanding modern quantitative finance.

Share this article

Pick a channel — or use your device's native share sheet.

Comments

Loading comments...

https://www.kipuhub.com/en/article/black-scholes/Content licensed under CC BY-NC 4.0.