Quant Sandbox
DerivativesPortfolio & RiskFixed IncomeCorporate FinanceStochastic ModelsGuide
Guide
Derivatives pricing
01Forwards, calls and puts02Combining positions03Arbitrage and the forward price04Put–call parity05The one-step binomial model06Risk-neutral probabilities07Multi-step trees and backward induction08American options and early exercise09Delta and hedging10Geometric Brownian motion11The Black–Scholes formula12The Greeks: gamma, vega, theta and rho13Implied volatility and the volatility smile14Stochastic volatility and the Heston model15Static replication: Breeden–Litzenberger and Carr–Madan16Exotic options: barriers, Asians and digitals
Portfolio & risk
01Returns and volatility02Diversification and correlation03The efficient frontier and the capital market line04Risk aversion and the optimal complete portfolio05CAPM, beta and the security market line06Performance measures: Sharpe, Treynor, Jensen and information ratio07Factor models and systematic risk08Value at Risk and expected shortfall
Fixed income
01Bond prices and yields02Duration and convexity03Immunization and duration matching04Spot rates, forward rates and the yield curve05Bond futures and the cheapest-to-deliver06Interest rate swaps07Callable bonds and negative convexity08Credit risk: default probabilities and credit spreads
Corporate finance
01Interest, compounding and discounting02Annuities, perpetuities and loan amortization03Net present value and internal rate of return04The weighted average cost of capital05Capital structure and the Modigliani–Miller theorems06Discounted cash flow valuation07Relative valuation with multiples08Real options: the value of flexibility
Stochastic models
01Random walks and Brownian motion02Probability spaces, σ-algebras and random variables03Filtrations, adapted processes and stopping times04Conditional expectation and martingales05Properties of Brownian motion06The reflection principle and first passage times07The Brownian bridge08The Itô integral09Itô's lemma10Kolmogorov equations and the Feynman–Kac formula11Change of measure and Girsanov's theorem12Monte Carlo option pricing13Simulating SDEs: the Euler–Maruyama scheme14Mean reversion: Ornstein–Uhlenbeck and Vasicek15Jumps and the Merton jump-diffusion model
Knowledge graph

© 2026 Quant Sandbox · A study aid for quantitative finance

Privacy & dataNo cookies

This site does not use cookies and asks for no personal data. It keeps a few small settings in your browser's local storage — your chosen theme and language, the sidebar layout, and your progress and answers in the Guides — so it remembers them on your next visit. This data never leaves your device; clearing your browser storage removes it. Inputs you change can also be captured in the page URL, so you can share or bookmark a specific setup. The site uses Vercel Web Analytics, a privacy-friendly, cookieless service that records only anonymous, aggregated usage (such as page views) without identifying you or tracking you across other sites.

Guide/Derivatives pricing

The Black–Scholes formula

Lesson 11 of 16 · 1 min read

This lesson derives the Black–Scholes price of a European call and put. It puts together three earlier results: pricing as a discounted risk-neutral expectation ("Risk-neutral probabilities"), the log-normal stock price under Q\mathbb{Q}Q ("Geometric Brownian motion") and put–call parity ("Put–call parity"). It also connects to "Delta and hedging", since the formula comes with an explicit delta.

Assumptions

The Black–Scholes model makes the following assumptions. Each one is a simplification, and the last section returns to the ones that matter most.

  • The stock follows geometric Brownian motion with constant volatility σ\sigmaσ and pays no dividends.
  • The risk-free rate rrr is constant and continuously compounded; you can borrow and lend at rrr.
  • Trading is continuous, there are no transaction costs or taxes, and short selling is allowed.
  • There is no arbitrage.
  • The option is European: it can be exercised only at maturity TTT.

Under these assumptions the option can be replicated by continuous delta hedging, so its price is the cost of replication. As in the tree lessons, that cost equals the discounted expected payoff under the risk-neutral measure Q\mathbb{Q}Q.

The price as an expectation

For a call with strike KKK the payoff is X=(ST−K)+X = (S_T - K)^+X=(ST​−K)+, so

C0=e−rT EQ[(ST−K)+].C_0 = e^{-rT}\,\mathbb{E}^{\mathbb{Q}}\left[(S_T - K)^+\right].C0​=e−rTEQ[(ST​−K)+].

Under Q\mathbb{Q}Q the stock is GBM with drift rrr. Writing WTQ=T ZW_T^{\mathbb{Q}} = \sqrt{T}\,ZWTQ​=T​Z with Z∼N(0,1)Z \sim N(0,1)Z∼N(0,1),

ST=S0exp⁡ ⁣((r−12σ2)T+σT Z).S_T = S_0 \exp\!\left( \left(r - \tfrac{1}{2}\sigma^2\right)T + \sigma\sqrt{T}\,Z \right).ST​=S0​exp((r−21​σ2)T+σT​Z).

The Black–Scholes differential equation

This expectation can be reached another way, which is how Black and Scholes originally argued. Hold a portfolio that is long one option worth V(S,t)V(S,t)V(S,t) and short Δ\DeltaΔ shares. By Itô's lemma the option value changes by

dV=(∂V∂t+12σ2S2∂2V∂S2)dt+∂V∂S dS.dV = \left( \frac{\partial V}{\partial t} + \tfrac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} \right) dt + \frac{\partial V}{\partial S}\,dS.dV=(∂t∂V​+21​σ2S2∂S2∂2V​)dt+∂S∂V​dS.

Choosing Δ=∂V/∂S\Delta = \partial V/\partial SΔ=∂V/∂S cancels the random dSdSdS term, so the hedged portfolio Π=V−ΔS\Pi = V - \Delta SΠ=V−ΔS is riskless and must earn the rate rrr. Setting its return equal to rΠr\PirΠ gives the Black–Scholes partial differential equation:

∂V∂t+12σ2S2∂2V∂S2+rS∂V∂S−rV=0.\frac{\partial V}{\partial t} + \tfrac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + rS\frac{\partial V}{\partial S} - rV = 0.∂t∂V​+21​σ2S2∂S2∂2V​+rS∂S∂V​−rV=0.

Every European option on the stock satisfies the same equation; only the terminal condition differs. For the call it is V(S,T)=(ST−K)+V(S,T) = (S_T - K)^+V(S,T)=(ST​−K)+, and solving the PDE with that boundary condition gives exactly the formula derived below. The Feynman–Kac theorem makes the two routes equivalent: it rewrites the solution of this PDE as the discounted risk-neutral expectation.

Deriving the formula

The computation takes three steps.

  1. Find when the option is exercised. ST>KS_T > KST​>K is equivalent to Z>−d2Z > -d_2Z>−d2​, where d2=ln⁡(S0/K)+(r−12σ2)TσTd_2 = \dfrac{\ln(S_0/K) + (r - \frac{1}{2}\sigma^2)T}{\sigma\sqrt{T}}d2​=σT​ln(S0​/K)+(r−21​σ2)T​.
  2. Split the payoff: (ST−K)+=ST 1{ST>K}−K 1{ST>K}(S_T - K)^+ = S_T\,\mathbf{1}_{\{S_T > K\}} - K\,\mathbf{1}_{\{S_T > K\}}(ST​−K)+=ST​1{ST​>K}​−K1{ST​>K}​, where 1\mathbf{1}1 is 1 if the event happens and 0 otherwise.
  3. Take the expectation of each part separately and discount.

The second part is the easy one. Since ZZZ is standard normal and NNN is symmetric,

Q(ST>K)=Q(Z>−d2)=N(d2).\mathbb{Q}(S_T > K) = \mathbb{Q}(Z > -d_2) = N(d_2).Q(ST​>K)=Q(Z>−d2​)=N(d2​).

For the first part, write φ\varphiφ for the standard normal density. Completing the square in the exponent gives eσTz−12σ2T φ(z)=φ(z−σT)e^{\sigma\sqrt{T}z - \frac{1}{2}\sigma^2 T}\,\varphi(z) = \varphi(z - \sigma\sqrt{T})eσT​z−21​σ2Tφ(z)=φ(z−σT​), so

EQ[ST 1{ST>K}]=S0erT∫−d2∞φ(z−σT) dz=S0erT N(d2+σT).\mathbb{E}^{\mathbb{Q}}\left[S_T\,\mathbf{1}_{\{S_T > K\}}\right] = S_0 e^{rT} \int_{-d_2}^{\infty} \varphi(z - \sigma\sqrt{T})\,dz = S_0 e^{rT}\, N(d_2 + \sigma\sqrt{T}).EQ[ST​1{ST​>K}​]=S0​erT∫−d2​∞​φ(z−σT​)dz=S0​erTN(d2​+σT​).

Define d1=d2+σTd_1 = d_2 + \sigma\sqrt{T}d1​=d2​+σT​. Discounting both parts by e−rTe^{-rT}e−rT gives the Black–Scholes formula:

C0=S0 N(d1)−Ke−rTN(d2),d1,2=ln⁡(S0/K)+(r±12σ2)TσT.C_0 = S_0\,N(d_1) - K e^{-rT} N(d_2), \qquad d_{1,2} = \frac{\ln(S_0/K) + \left(r \pm \frac{1}{2}\sigma^2\right)T}{\sigma\sqrt{T}}.C0​=S0​N(d1​)−Ke−rTN(d2​),d1,2​=σT​ln(S0​/K)+(r±21​σ2)T​.

The real drift μ\muμ does not appear anywhere. Two investors who disagree about the expected return but agree on σ\sigmaσ agree on the price.

Reading the two terms

The formula has the shape "stock received minus strike paid, each weighted by something".

  • N(d2)N(d_2)N(d2​) is the Q\mathbb{Q}Q-probability that the call is exercised, so Ke−rTN(d2)Ke^{-rT}N(d_2)Ke−rTN(d2​) is the present value of the expected strike payment.
  • S0N(d1)S_0 N(d_1)S0​N(d1​) is the present value of receiving the stock in the states where the call is exercised. It is larger than S0N(d2)S_0 N(d_2)S0​N(d2​) because exercise happens exactly when STS_TST​ is high.
  • N(d1)=∂C0/∂S0N(d_1) = \partial C_0/\partial S_0N(d1​)=∂C0​/∂S0​ is the call's delta: the replicating portfolio holds N(d1)N(d_1)N(d1​) shares and borrows Ke−rTN(d2)Ke^{-rT}N(d_2)Ke−rTN(d2​).

The last point is the continuous version of the tree result C=ΔS+BC = \Delta S + BC=ΔS+B, with Δ=N(d1)\Delta = N(d_1)Δ=N(d1​) and B=−Ke−rTN(d2)B = -Ke^{-rT}N(d_2)B=−Ke−rTN(d2​). Differentiating the formula also produces terms from d1d_1d1​ and d2d_2d2​ depending on S0S_0S0​, but they cancel exactly.

C0=S0N(d1)−Ke−rTN(d2)C_0 = S_0N(d_1) - Ke^{-rT}N(d_2)C0​=S0​N(d1​)−Ke−rTN(d2​), with d2=d1−σTd_2 = d_1 - \sigma\sqrt{T}d2​=d1​−σT​. N(d2)N(d_2)N(d2​) is the risk-neutral exercise probability and N(d1)N(d_1)N(d1​) is the delta.

The put

Put–call parity C0−P0=S0−Ke−rTC_0 - P_0 = S_0 - Ke^{-rT}C0​−P0​=S0​−Ke−rT holds in any arbitrage-free model, so it holds here. Solving for P0P_0P0​ and using 1−N(x)=N(−x)1 - N(x) = N(-x)1−N(x)=N(−x):

P0=Ke−rTN(−d2)−S0 N(−d1).P_0 = K e^{-rT} N(-d_2) - S_0\,N(-d_1).P0​=Ke−rTN(−d2​)−S0​N(−d1​).

The put's delta is N(d1)−1=−N(−d1)N(d_1) - 1 = -N(-d_1)N(d1​)−1=−N(−d1​), between −1-1−1 and 000.

A worked example

Take S0=100S_0 = 100S0​=100, K=100K = 100K=100, r=5%r = 5\%r=5%, σ=20%\sigma = 20\%σ=20%, T=1T = 1T=1. Then

d1=ln⁡1+(0.05+0.02)0.2=0.35,d2=0.35−0.2=0.15.d_1 = \frac{\ln 1 + (0.05 + 0.02)}{0.2} = 0.35, \qquad d_2 = 0.35 - 0.2 = 0.15.d1​=0.2ln1+(0.05+0.02)​=0.35,d2​=0.35−0.2=0.15.

From normal tables N(0.35)≈0.6368N(0.35) \approx 0.6368N(0.35)≈0.6368 and N(0.15)≈0.5596N(0.15) \approx 0.5596N(0.15)≈0.5596. The discount factor is e−0.05≈0.9512e^{-0.05} \approx 0.9512e−0.05≈0.9512. So C0≈100⋅0.6368−95.12⋅0.5596≈10.45C_0 \approx 100 \cdot 0.6368 - 95.12 \cdot 0.5596 \approx 10.45C0​≈100⋅0.6368−95.12⋅0.5596≈10.45, and by parity P0≈10.45−(100−95.12)≈5.57P_0 \approx 10.45 - (100 - 95.12) \approx 5.57P0​≈10.45−(100−95.12)≈5.57. The call has delta 0.637 and a 56% risk-neutral chance of being exercised.

How the price depends on the inputs

  • Stock price S0S_0S0​: the call rises and the put falls; the slopes are the deltas.
  • Volatility σ\sigmaσ: both prices rise. The holder gains from large moves on one side and loses at most the premium on the other.
  • Maturity TTT: without dividends the call rises with TTT; more time means more spread in STS_TST​ and a smaller present value of the strike.
  • Rate rrr: the call rises and the put falls, because the strike is paid later and discounted more.

Two limits check the formula. As σ→0\sigma \to 0σ→0 the stock grows deterministically at rrr and C0→(S0−Ke−rT)+C_0 \to (S_0 - Ke^{-rT})^+C0​→(S0​−Ke−rT)+, the lower bound from "Put–call parity". As T→0T \to 0T→0 the price tends to the payoff (S0−K)+(S_0 - K)^+(S0​−K)+.

The figure plots the price against S0S_0S0​ for K=100K = 100K=100, with the payoff at maturity dashed. Switch between call and put. Raise σ\sigmaσ or TTT and note that the curve lifts away from the payoff, most near the strike (a deep in-the-money put is the exception: its value can sit below the payoff); lower them and the curve collapses onto the payoff. The readouts at S0=100S_0 = 100S0​=100 show the price, d1d_1d1​, d2d_2d2​, N(d1)N(d_1)N(d1​) and N(d2)N(d_2)N(d2​), so you can repeat the worked example.

Black–Scholes price and the payoff at maturityOpen in Black–Scholes →
20%
0.050.8
1.00
0.055
5.0%
00.15
Payoff at maturityPrice today
Price at S₀ = 100
10.45
d₁
0.350
d₂
0.150
N(d₁)
0.637
N(d₂)
0.560

Limitations of the model

Market option prices can be turned back into a volatility: the implied volatility is the σ\sigmaσ that makes the Black–Scholes formula match the observed price. If the model were exact, every option on the same stock would have the same implied volatility. In practice, implied volatility varies with strike (the volatility smile or skew, with low strikes usually more expensive) and with maturity.

The main causes are assumptions that fail: volatility is not constant but changes randomly and tends to rise when prices fall; prices sometimes jump; and returns have fatter tails than the normal distribution. Models such as Heston keep the risk-neutral pricing framework but let the volatility follow its own random process, which produces a smile. Black–Scholes remains the common language: prices are quoted as implied volatilities, and its delta is the starting point for hedging.

Summary

  • Under the Black–Scholes assumptions, C0=e−rTEQ[(ST−K)+]C_0 = e^{-rT}\mathbb{E}^{\mathbb{Q}}[(S_T - K)^+]C0​=e−rTEQ[(ST​−K)+] with STS_TST​ log-normal and drift rrr.
  • The result is C0=S0N(d1)−Ke−rTN(d2)C_0 = S_0N(d_1) - Ke^{-rT}N(d_2)C0​=S0​N(d1​)−Ke−rTN(d2​); the put follows from parity.
  • N(d2)N(d_2)N(d2​) is the risk-neutral exercise probability, N(d1)N(d_1)N(d1​) the delta; the real drift μ\muμ does not enter.
  • Prices rise with σ\sigmaσ; the volatility smile shows that a single constant σ\sigmaσ does not fit the market, which the Heston lab addresses.
Try itExplore prices and Greeks in the Black–Scholes lab →
← PreviousGeometric Brownian motionNext →The Greeks: gamma, vega, theta and rho
Connections
The Black–Scholes formula
Open the full graph →
Labs for this lesson
Black–ScholesHeston