The Black–Scholes Formula

Everything has been leading here. The risk-neutral price of a European call is the discounted expected payoff,

C = e^{-rT}\,\mathbb{E}_{\mathbb{Q}}\!\big[(S_T - K)^+\big],

and under \mathbb{Q} the terminal stock price is lognormal,

S_T = S_0\,\exp\!\Big(\big(r - \tfrac12\sigma^2\big)T + \sigma\sqrt{T}\,Z\Big), \qquad Z \sim N(0, 1).

That is a single Gaussian integral. We will evaluate it and out will drop a closed form so clean it won Itô's successors a Nobel Prize — two cumulative normals, \Phi(d_1) and \Phi(d_2), the Bachelier dream made exact.

Evaluating the expectation, line by line

The call pays only when it finishes in the money, S_T > K. We split the expectation into the two pieces hiding inside (S_T - K)^+ and handle each.

Step 1 — split the payoff. On the event \{S_T > K\} the payoff is S_T - K; elsewhere it is zero. Writing \mathbf{1} for the indicator,

C = e^{-rT}\,\mathbb{E}_{\mathbb{Q}}\!\big[(S_T - K)\,\mathbf{1}_{\{S_T > K\}}\big] = e^{-rT}\Big(\underbrace{\mathbb{E}_{\mathbb{Q}}[S_T\,\mathbf{1}_{\{S_T > K\}}]}_{\text{term I}} - K\,\underbrace{\mathbb{Q}(S_T > K)}_{\text{term II}}\Big).

Step 2 — solve S_T > K for Z. Substitute the lognormal form and take logs. The inequality S_0 e^{(r - \frac12\sigma^2)T + \sigma\sqrt{T}Z} > K becomes, after \ln and rearranging for Z:

Z > -\,\frac{\ln(S_0/K) + (r - \tfrac12\sigma^2)T}{\sigma\sqrt{T}} = -\,d_2, \qquad d_2 := \frac{\ln(S_0/K) + (r - \tfrac12\sigma^2)T}{\sigma\sqrt{T}}.

Step 3 — compute term II, \mathbb{Q}(S_T > K). It is now \mathbb{Q}(Z > -d_2), and by the symmetry of the standard normal, \mathbb{P}(Z > -d_2) = \mathbb{P}(Z < d_2) = \Phi(d_2):

\mathbb{Q}(S_T > K) = \Phi(d_2).

So \Phi(d_2) is the risk-neutral probability of exercise.

Step 4 — state term I, \mathbb{E}_{\mathbb{Q}}[S_T\,\mathbf{1}_{\{S_T > K\}}]. Multiplying by S_T = S_0 e^{(r - \frac12\sigma^2)T + \sigma\sqrt{T}Z} before integrating shifts the effective mean of the Gaussian by \sigma\sqrt{T} (the computation is in the vignette), turning the threshold -d_2 into -d_1 with d_1 = d_2 + \sigma\sqrt{T}:

\mathbb{E}_{\mathbb{Q}}[S_T\,\mathbf{1}_{\{S_T > K\}}] = S_0\,e^{rT}\,\Phi(d_1), \qquad d_1 := d_2 + \sigma\sqrt{T} = \frac{\ln(S_0/K) + (r + \tfrac12\sigma^2)T}{\sigma\sqrt{T}}.

Step 5 — combine. Put terms I and II back into Step 1 and watch the e^{rT} from term I cancel the discount e^{-rT}:

C = e^{-rT}\Big(S_0\,e^{rT}\,\Phi(d_1) - K\,\Phi(d_2)\Big) = S_0\,\Phi(d_1) - K\,e^{-rT}\,\Phi(d_2).

That is the Black–Scholes formula. The price is the stock weighted by \Phi(d_1), less the discounted strike weighted by the exercise probability \Phi(d_2).

A European call and put on a non-dividend stock, with spot S_0, strike K, expiry T, rate r, volatility \sigma, are worth:

Here is the integral promised in Step 4. Write S_T = S_0\,e^{(r - \frac12\sigma^2)T + \sigma\sqrt{T}z} and integrate against the standard normal density \varphi(z) = \tfrac{1}{\sqrt{2\pi}}e^{-z^2/2} over the exercise region z > -d_2:

\mathbb{E}_{\mathbb{Q}}[S_T\,\mathbf{1}_{\{S_T > K\}}] = \int_{-d_2}^{\infty} S_0\,e^{(r - \frac12\sigma^2)T + \sigma\sqrt{T}z}\,\frac{1}{\sqrt{2\pi}}\,e^{-z^2/2}\,dz.

Pull S_0 e^{(r - \frac12\sigma^2)T} out and combine the two exponentials, completing the square in the exponent \sigma\sqrt{T}z - \tfrac12 z^2:

\sigma\sqrt{T}\,z - \tfrac12 z^2 = -\tfrac12\big(z - \sigma\sqrt{T}\big)^2 + \tfrac12\sigma^2 T.

The leftover constant \tfrac12\sigma^2 T combines with the prefactor: e^{(r - \frac12\sigma^2)T}\,e^{\frac12\sigma^2 T} = e^{rT}. So

\mathbb{E}_{\mathbb{Q}}[S_T\,\mathbf{1}_{\{S_T > K\}}] = S_0\,e^{rT}\int_{-d_2}^{\infty} \frac{1}{\sqrt{2\pi}}\,e^{-\frac12 (z - \sigma\sqrt{T})^2}\,dz.

Substitute w = z - \sigma\sqrt{T}. The lower limit moves from -d_2 to -d_2 - \sigma\sqrt{T} = -d_1, and the integrand is a clean standard normal:

= S_0\,e^{rT}\int_{-d_1}^{\infty}\varphi(w)\,dw = S_0\,e^{rT}\,\mathbb{P}(W > -d_1) = S_0\,e^{rT}\,\Phi(d_1).

The shift of the mean by \sigma\sqrt{T} — convexity again, the same mechanism behind the lognormal mean — is exactly what turns d_2 into d_1.

The formula's two halves are not interchangeable lookalikes; each \Phi means something concrete.

So C = S_0\Phi(d_1) - Ke^{-rT}\Phi(d_2) reads: "hold \Phi(d_1) shares, borrow the present value of the strike times the chance you will need it." The replication portfolio and the formula are the same object.

The put, for free, by parity

We need not redo the integral for the put. By put–call parity, C - P = S_0 - K e^{-rT}. Rearranging and using 1 - \Phi(d) = \Phi(-d):

P = C - S_0 + K e^{-rT} = K e^{-rT}\big(1 - \Phi(d_2)\big) - S_0\big(1 - \Phi(d_1)\big) = K e^{-rT}\,\Phi(-d_2) - S_0\,\Phi(-d_1).

The famous curve

Plotted against spot S_0, the call price C = S_0\Phi(d_1) - Ke^{-rT}\Phi(d_2) is a smooth curve riding above the kinked payoff (S_0 - K)^+ — the gap is the time value. Raising \sigma or T lifts the curve (more chance of a big finish); as either falls to zero, the curve collapses onto the kink. Slide the volatility and the maturity and watch the time value breathe.