Unit 6, lesson 41

Geometric Brownian motion and exact distributions

Solves geometric Brownian motion exactly with Itô's formula and derives its lognormal transition density, all power moments, the gap between mean and median, and exact sampling compared with Euler steps.

  • Video 41
  • The Black-Scholes pricing equation

A risk model treats a stock at 100100 currency units as having an annual drift of 88 percent and a volatility of 2020 percent. What is its expected price in one year, which price is it equally likely to end above or below, how likely is it to finish below 9090, and how can a simulation produce year-end prices with no time-step error? Under geometric Brownian motion all four questions have exact answers. This lesson solves the model’s stochastic differential equation, derives the lognormal law of the price from any starting date, computes every power moment and compares exact sampling with an Euler step.

Key terms

Geometric Brownian motion

Definition Let (Ω,F,(Ft)t≥0,P)(\Omega, \mathcal{F}, (\mathcal{F}_t)_{t \ge 0}, \mathbb{P}) be a filtered probability space carrying a standard Brownian motion WW, and fix constants μ∈R\mu \in \mathbb{R} and σ≥0\sigma \ge 0 and a starting price S0>0S_0 > 0. A geometric Brownian motion is a continuous adapted process SS with

dSt=μSt dt+σSt dWt,dS_t = \mu S_t\,dt + \sigma S_t\,dW_t ,

which means that for every t≥0t \ge 0

St=S0+∫0tμSu du+∫0tσSu dWu.\begin{aligned} S_t &= S_0 + \int_0^t \mu S_u\,du \\[0.4em] &\quad + \int_0^t \sigma S_u\,dW_u . \end{aligned}

Time is measured in years, μ\mu is a rate per year and σ\sigma a volatility per square root of a year. The coefficients μx\mu x and σx\sigma x are globally Lipschitz with linear growth, so the existence and uniqueness theorem of the lesson on stochastic differential equations gives a strong solution that is pathwise unique. The meaning of μ\mu depends on the measure. Under P\mathbb{P} it is an assumed physical drift of the ex-dividend price. Under a pricing measure Q\mathbb{Q} with the money-market numeraire Bt=ertB_t = e^{rt}, a stock with a constant continuous dividend yield qq follows the same equation with μ\mu replaced by r−qr - q and WW by a Q\mathbb{Q}-Brownian motion WQW^{\mathbb{Q}}, as in the lesson on Girsanov’s theorem. The volatility σ\sigma is the same under both measures, because an equivalent change of measure of this kind changes only the drift.

In plain words Over each short time interval the percentage change of the price has the mean rate μ\mu and a random part scaled by σ\sigma, whatever the price level. The size of a move in currency units is therefore proportional to the price, so a price twice as high moves twice as many currency units for the same percentage shock.

Example Take the constructed inputs μ=0.08\mu = 0.08 and σ=0.2\sigma = 0.2 and a one-day step h=1/252h = 1/252. The ratio St+h/StS_{t+h}/S_t has a law that does not depend on StS_t, and the variance formula of the power moments card gives the exact conditional standard deviation of the change St+h−StS_{t+h} - S_t as Steμheσ2h−1S_t e^{\mu h} \sqrt{e^{\sigma^2 h} - 1}. It is about 1.26031.2603 when St=100S_t = 100 and 2.52072.5207 when St=200S_t = 200, close to the small-step values σSth≈1.2599\sigma S_t \sqrt{h} \approx 1.2599 and 2.51982.5198. Doubling the price doubles the currency move, while the percentage move has the same law at both levels.

Exact GBM solution

Definition For constants μ\mu and σ\sigma and a starting price S0>0S_0 > 0, the unique strong solution of the GBM equation is

St=S0exp⁡(νt+σWt),ν=μ−12σ2.\begin{gathered} S_t = S_0 \exp\bigl(\nu t + \sigma W_t\bigr), \\[0.4em] \nu = \mu - \tfrac12 \sigma^2 . \end{gathered}

To find it, apply Itô’s formula to ln⁡x\ln x, whose first derivative is 1/x1/x and second derivative −1/x2-1/x^2, while SS is positive. With d[S]t=σ2St2 dtd[S]_t = \sigma^2 S_t^2\,dt,

dln⁡St=dStSt−d[S]t2St2=ν dt+σ dWt,\begin{aligned} d \ln S_t &= \frac{dS_t}{S_t} - \frac{d[S]_t}{2 S_t^2} \\[0.4em] &= \nu\,dt + \sigma\,dW_t , \end{aligned}

and integrating from 00 to tt gives ln⁡(St/S0)=νt+σWt\ln(S_t/S_0) = \nu t + \sigma W_t. That step assumed positivity, so the candidate is then checked directly. For f(t,w)=S0exp⁡(νt+σw)f(t, w) = S_0 \exp(\nu t + \sigma w) the partial derivatives are ft=νff_t = \nu f, fw=σff_w = \sigma f and fww=σ2ff_{ww} = \sigma^2 f, and Itô’s formula for St=f(t,Wt)S_t = f(t, W_t) gives

dSt=νSt dt+σSt dWt+12σ2St dt=μSt dt+σSt dWt.\begin{aligned} dS_t &= \nu S_t\,dt + \sigma S_t\,dW_t \\[0.4em] &\quad + \tfrac12 \sigma^2 S_t\,dt \\[0.4em] &= \mu S_t\,dt + \sigma S_t\,dW_t . \end{aligned}

Pathwise uniqueness identifies this process as the solution. It is strictly positive at every time on every path, since the exponential of a finite number is positive, and its logarithm ln⁡St=ln⁡S0+νt+σWt\ln S_t = \ln S_0 + \nu t + \sigma W_t is a Brownian motion with drift ν\nu and volatility σ\sigma. With deterministic coefficients μ(t)\mu(t) and σ(t)\sigma(t) satisfying ∫0T∣μ(u)∣ du<∞\int_0^T \lvert \mu(u) \rvert\,du < \infty and ∫0Tσ(u)2 du<∞\int_0^T \sigma(u)^2\,du < \infty, the same steps give

ln⁡StS0=∫0tμ(u) du−12∫0tσ(u)2 du+∫0tσ(u) dWu,\begin{aligned} \ln \frac{S_t}{S_0} &= \int_0^t \mu(u)\,du \\[0.4em] &\quad - \frac12 \int_0^t \sigma(u)^2\,du \\[0.4em] &\quad + \int_0^t \sigma(u)\,dW_u , \end{aligned}

which is still normal, so the price is still lognormal. With random adapted coefficients the same exponential still solves the equation, but the stochastic integral is in general no longer normal and the price is no longer lognormal. Jumps, default and stochastic volatility are outside this model.

In plain words Taking logarithms turns proportional noise into additive noise, so the log price is a Brownian motion with drift. That drift is μ−12σ2\mu - \tfrac12\sigma^2, not μ\mu, because the logarithm is concave and the second-order term of Itô’s formula charges half the variance rate. Exponentiating returns to a price that can fall a long way but never reaches zero.

Example With the constructed inputs S0=100S_0 = 100, μ=0.08\mu = 0.08 and σ=0.2\sigma = 0.2, the log drift is ν=0.06\nu = 0.06 and S1=100 e0.06+0.2W1S_1 = 100\,e^{0.06 + 0.2 W_1}. The Brownian value W1=0W_1 = 0 gives 100e0.06≈106.1837100 e^{0.06} \approx 106.1837, the value W1=0.5W_1 = 0.5 gives 100e0.16≈117.3511100 e^{0.16} \approx 117.3511, and the value W1=−0.3W_1 = -0.3 gives exactly 100100. So despite the 88 percent drift, the price is back at its start on a path whose Brownian value is only −0.3-0.3, a draw at about the 3838th percentile of N(0,1)N(0, 1).

Lognormal transition density

Definition Let σ>0\sigma > 0 and t>0t > 0. Since Wt∼N(0,t)W_t \sim N(0, t), the exact solution gives

ln⁡StS0∼N(νt,σ2t),\ln \frac{S_t}{S_0} \sim N\bigl(\nu t, \sigma^2 t\bigr),

so StS_t is lognormal, with CDF P(St≤s)=Φ(zt(s))\mathbb{P}(S_t \le s) = \Phi\bigl(z_t(s)\bigr) and density

pt(s)=φ(zt(s))s σtp_t(s) = \frac{\varphi\bigl(z_t(s)\bigr)}{s\,\sigma\sqrt{t}}

for s>0s > 0, and pt(s)=0p_t(s) = 0 for s≤0s \le 0, where

zt(s)=ln⁡(s/S0)−νtσt.z_t(s) = \frac{\ln(s/S_0) - \nu t}{\sigma\sqrt{t}} .

The density is the derivative of the CDF, and the chain rule contributes zt′(s)=1/(sσt)z_t'(s) = 1/(s\sigma\sqrt{t}), which contains the Jacobian 1/s1/s of the logarithm. The same solution started at a later date gives the conditional transition. For 0≤t<u0 \le t < u,

Su=Stexp⁡(ν(u−t)+σ(Wu−Wt)),\begin{aligned} S_u &= S_t \exp\bigl(\nu (u - t) \\[0.4em] &\qquad + \sigma (W_u - W_t)\bigr), \end{aligned}

where Wu−Wt∼N(0,u−t)W_u - W_t \sim N(0, u - t) is independent of Ft\mathcal{F}_t. Conditionally on Ft\mathcal{F}_t, therefore, SuS_u has the density above with S0S_0 replaced by StS_t and tt by u−tu - t. This conditional law depends on the past only through StS_t and on time only through u−tu - t, so SS is a time-homogeneous Markov process. When σ=0\sigma = 0 or t=0t = 0 the price St=S0eμtS_t = S_0 e^{\mu t} is a constant, a single atom with no density, and the density formula does not apply.

In plain words The log return over any horizon is normal, so the price is the exponential of a normal variable. Dividing the normal density by ss converts a density per unit of log return into a density per currency unit. Log returns can be negative and prices cannot, and the price density is skewed to the right. To describe the future from a later date, only the price on that date and the remaining time are needed.

Example In the constructed model with S0=100S_0 = 100, μ=0.08\mu = 0.08 and σ=0.2\sigma = 0.2, the point s=90s = 90 gives z1(90)=(ln⁡0.9−0.06)/0.2≈−0.8268z_1(90) = (\ln 0.9 - 0.06)/0.2 \approx -0.8268, so P(S1≤90)=Φ(−0.8268)≈0.2042\mathbb{P}(S_1 \le 90) = \Phi(-0.8268) \approx 0.2042, and P(S1≤100)=Φ(−0.3)≈0.3821\mathbb{P}(S_1 \le 100) = \Phi(-0.3) \approx 0.3821. The density at s=100s = 100 is φ(−0.3)/(100⋅0.2)≈0.01907\varphi(-0.3)/(100 \cdot 0.2) \approx 0.01907 per currency unit. If the price is observed at 110110 at t=0.5t = 0.5, the probability of ending the year at or below 9090 becomes

Φ(ln⁡(90/110)−0.030.20.5)≈Φ(−1.6311)≈0.0514,\begin{aligned} &\Phi\biggl(\frac{\ln(90/110) - 0.03}{0.2\sqrt{0.5}}\biggr) \\[0.4em] &\quad \approx \Phi(-1.6311) \approx 0.0514 , \end{aligned}

whatever path led to 110110.

Power moments

Definition For every real number pp and every t≥0t \ge 0, the power StpS_t^p has the finite mean

E[Stp]=S0p eκ(p) t,κ(p)=pμ+12p(p−1)σ2.\begin{gathered} \mathbb{E}\bigl[S_t^p\bigr] = S_0^p\, e^{\kappa(p)\, t}, \\[0.4em] \kappa(p) = p\mu + \tfrac12 p(p-1)\sigma^2 . \end{gathered}

To prove it, write Stp=S0pexp⁡(pνt+pσWt)S_t^p = S_0^p \exp(p\nu t + p\sigma W_t) and use the Gaussian moment generating function E[eaWt]=ea2t/2\mathbb{E}[e^{a W_t}] = e^{a^2 t/2}, valid for every real aa, with a=pσa = p\sigma. The exponent becomes pνt+12p2σ2t=κ(p) tp\nu t + \tfrac12 p^2 \sigma^2 t = \kappa(p)\, t. Negative powers are included, because S0>0S_0 > 0 and the Gaussian moment generating function is finite everywhere. In the same way E[Sup∣Ft]=Stp eκ(p)(u−t)\mathbb{E}[S_u^p \mid \mathcal{F}_t] = S_t^p\, e^{\kappa(p)(u - t)} for t≤ut \le u. The cases p=1p = 1 and p=2p = 2 give

E[St]=S0 eμt,E[St2]=S02 e(2μ+σ2)t,Var⁡(St)=S02 e2μt×(eσ2t−1).\begin{aligned} \mathbb{E}[S_t] &= S_0\, e^{\mu t}, \\[0.4em] \mathbb{E}[S_t^2] &= S_0^2\, e^{(2\mu + \sigma^2) t}, \\[0.4em] \operatorname{Var}(S_t) &= S_0^2\, e^{2\mu t} \\[0.4em] &\quad \times \bigl(e^{\sigma^2 t} - 1\bigr). \end{aligned}

Since ln⁡St\ln S_t is normal and the exponential is increasing, the median of StS_t is S0eνtS_0 e^{\nu t}, strictly below the mean whenever σ>0\sigma > 0 and t>0t > 0. Under a pricing measure with drift r−qr - q, the case p=1p = 1 gives EQ[ST∣Ft]=Ste(r−q)(T−t)\mathbb{E}^{\mathbb{Q}}[S_T \mid \mathcal{F}_t] = S_t e^{(r - q)(T - t)}, the forward price. All power moments are finite, yet E[eθSt]=∞\mathbb{E}[e^{\theta S_t}] = \infty for every θ>0\theta > 0 when σ>0\sigma > 0 and t>0t > 0, because the lognormal right tail decays more slowly than every exponential e−θse^{-\theta s}.

In plain words Raising the price to the power pp multiplies the normal log price by pp, which scales its mean by pp and its variance by p2p^2, and the Gaussian moment formula then adds half of the new variance. The resulting correction 12p(p−1)σ2\tfrac12 p(p-1)\sigma^2 vanishes at p=0p = 0 and p=1p = 1, is negative between them and positive outside. The mean price grows at the rate μ\mu and the median price at the slower rate μ−12σ2\mu - \tfrac12\sigma^2, because a minority of high outcomes pulls the mean up.

Example For the constructed one-year inputs S0=100S_0 = 100, μ=0.08\mu = 0.08 and σ=0.2\sigma = 0.2, the mean is 100e0.08≈108.3287100 e^{0.08} \approx 108.3287 and the median 100e0.06≈106.1837100 e^{0.06} \approx 106.1837. The variance is

10000 e0.16(e0.04−1)≈478.9189\begin{aligned} &10000\, e^{0.16}\bigl(e^{0.04} - 1\bigr) \\[0.4em] &\quad \approx 478.9189 \end{aligned}

in squared currency units, a standard deviation of about 21.884221.8842. For p=−1p = -1 the exponent is κ(−1)=−μ+σ2=−0.04\kappa(-1) = -\mu + \sigma^2 = -0.04, so E[1/S1]=0.01 e−0.04≈0.0096079\mathbb{E}[1/S_1] = 0.01\, e^{-0.04} \approx 0.0096079. That is larger than 1/E[S1]≈0.00923121/\mathbb{E}[S_1] \approx 0.0092312, as Jensen’s inequality requires for the convex function 1/x1/x.

Exact sampling

Definition Let 0=t0<t1<⋯<tn=T0 = t_0 < t_1 < \dots < t_n = T be a time grid with steps hk=tk+1−tkh_k = t_{k+1} - t_k, and let Z1,…,ZnZ_1, \dots, Z_n be independent standard normal variables. The exact sampling scheme sets S^0=S0\hat S_0 = S_0 and

S^k+1=S^k eνhk+σhk Zk+1.\hat S_{k+1} = \hat S_k \, e^{\nu h_k + \sigma\sqrt{h_k}\, Z_{k+1}} .

By the transition formula and the independence of Brownian increments, the vector (S^1,…,S^n)(\hat S_1, \dots, \hat S_n) has exactly the joint law of (St1,…,Stn)(S_{t_1}, \dots, S_{t_n}), whatever the step sizes. A Monte Carlo average of a function of these grid values therefore has sampling error only, with no time-discretization bias. The Euler scheme

S~k+1=S~k(1+μhk+σhk Zk+1)\begin{aligned} \tilde S_{k+1} &= \tilde S_k \bigl(1 + \mu h_k \\[0.4em] &\qquad + \sigma\sqrt{h_k}\, Z_{k+1}\bigr) \end{aligned}

approximates the equation over each step instead. Its law differs from the exact one, its one-step conditional mean is S~k(1+μhk)\tilde S_k(1 + \mu h_k) in place of S~keμhk\tilde S_k e^{\mu h_k}, and it is negative whenever Zk+1<−(1+μhk)/(σhk)Z_{k+1} < -(1 + \mu h_k)/(\sigma\sqrt{h_k}), an event of positive probability when σ>0\sigma > 0. Exactness holds at the grid dates only. Functionals of the continuous path, such as its running minimum or a continuously monitored barrier, are not determined by the grid values, and the minimum over the grid is never below the minimum of the path.

In plain words Exact sampling draws each step from the true conditional law, the exponential of a normal variable, so it needs no small steps to be right at the grid dates. Euler draws each step from a normal approximation, which is close for small steps but has the wrong shape and can produce negative prices. Setting a negative Euler value to zero defines a different scheme, and its law is still not the lognormal law of the model.

Example In the constructed one-year example with a single step, the draw Z=0Z = 0 gives the exact value 100e0.06≈106.1837100 e^{0.06} \approx 106.1837, the median, and Z=1Z = 1 gives 100e0.26≈129.6930100 e^{0.26} \approx 129.6930. The Euler step with the same draws gives 100(1+0.08)=108100(1 + 0.08) = 108 and 100(1+0.08+0.2)=128100(1 + 0.08 + 0.2) = 128. Averaged over draws, the exact value has mean 108.3287108.3287, one Euler step has mean 108108, and twelve monthly Euler steps have mean 100(1+0.08/12)12≈108.2999100(1 + 0.08/12)^{12} \approx 108.2999. The one-step Euler price is negative when Z<−1.08/0.2=−5.4Z < -1.08/0.2 = -5.4, an event of probability about 3.3⋅10−83.3 \cdot 10^{-8}.

Check yourself

  1. In a constructed model, S0=50S_0 = 50, μ=0.1\mu = 0.1 and σ=0.3\sigma = 0.3 under P\mathbb{P}. Find the mean, the median and the standard deviation of S2S_2, and the probability that S2>50S_2 > 50.
Show the answer

The log drift is ν=0.1−0.045=0.055\nu = 0.1 - 0.045 = 0.055. The mean is 50e0.2≈61.070150 e^{0.2} \approx 61.0701 and the median 50e0.11≈55.813950 e^{0.11} \approx 55.8139. The variance is

2500 e0.4(e0.18−1)≈735.5343,\begin{aligned} &2500\, e^{0.4}\bigl(e^{0.18} - 1\bigr) \\[0.4em] &\quad \approx 735.5343 , \end{aligned}

so the standard deviation is about 27.120727.1207. Since ln⁡(S2/50)∼N(0.11,0.18)\ln(S_2/50) \sim N(0.11, 0.18),

P(S2>50)=Φ(0.110.32)≈Φ(0.2593)≈0.6023.\begin{aligned} &\mathbb{P}(S_2 > 50) = \Phi\Bigl(\frac{0.11}{0.3\sqrt{2}}\Bigr) \\[0.4em] &\quad \approx \Phi(0.2593) \approx 0.6023 . \end{aligned}
  1. A classmate argues that dSt/St=μ dt+σ dWtdS_t/S_t = \mu\,dt + \sigma\,dW_t integrates to ln⁡(ST/S0)=μT+σWT\ln(S_T/S_0) = \mu T + \sigma W_T, so the median of STS_T is S0eμTS_0 e^{\mu T}. Take S0=100S_0 = 100, μ=0.05\mu = 0.05, σ=0.4\sigma = 0.4 and T=1T = 1. Find the error, the correct median and the probability that S1<100S_1 < 100.
Show the answer

The argument integrates dSt/StdS_t/S_t as if it were dln⁡Std \ln S_t, which is ordinary calculus. Itô’s formula adds the term −12σ2 dt-\tfrac12 \sigma^2\,dt from the curvature of the logarithm, because d[S]t=σ2St2 dtd[S]_t = \sigma^2 S_t^2\,dt is not negligible. The correct law is ln⁡(S1/100)∼N(0.05−0.08,0.16)=N(−0.03,0.16)\ln(S_1/100) \sim N(0.05 - 0.08, 0.16) = N(-0.03, 0.16), so the median is 100e−0.03≈97.0446100 e^{-0.03} \approx 97.0446, while the mean is 100e0.05≈105.1271100 e^{0.05} \approx 105.1271. Then

P(S1<100)=Φ(0.030.4)≈0.5299.\begin{aligned} &\mathbb{P}(S_1 < 100) \\[0.4em] &\quad = \Phi\Bigl(\frac{0.03}{0.4}\Bigr) \approx 0.5299 . \end{aligned}

With a positive expected return the price is more likely than not to end below its start. The classmate’s value 105.1271105.1271 is the mean, not the median, and the two agree only when σ=0\sigma = 0.

  1. With the constructed inputs S0=100S_0 = 100, μ=0.08\mu = 0.08 and σ=0.2\sigma = 0.2, an exact simulation uses two steps of h=0.5h = 0.5 and the draws Z1=−1Z_1 = -1 and Z2=1.2Z_2 = 1.2. Find the simulated prices at t=0.5t = 0.5 and t=1t = 1. A contract pays if the price falls below 8585 at any time during the year. Do the two simulated values decide whether it pays on this path?
Show the answer

Each step uses νh=0.03\nu h = 0.03 and σh≈0.141421\sigma\sqrt{h} \approx 0.141421. Then

S0.5=100 e0.03−0.141421≈89.4562,S1=S0.5 e0.03+0.169706≈109.2299.\begin{aligned} S_{0.5} &= 100\, e^{0.03 - 0.141421} \\[0.4em] &\approx 89.4562, \\[0.4em] S_1 &= S_{0.5}\, e^{0.03 + 0.169706} \\[0.4em] &\approx 109.2299 . \end{aligned}

Both values are exact draws from the model at the two grid dates, and both are above 8585. They do not settle the question, because exact sampling is exact only at the grid dates, and the continuous path between them can dip below 8585 and recover. The grid minimum 89.456289.4562 is an upper bound for the path minimum, not the path minimum itself. A Brownian bridge calculation for the log price, which lies outside this lesson, puts the conditional probability that this path went below 8585 at about 0.590.59. A continuously monitored contract therefore needs a finer grid or a correction between grid dates.

How this lesson connects