Geometric Brownian Motion: Deriving the Workhorse of Equity Models
A working derivation of GBM, the stock price SDE, and why log-returns being normal is both useful and wrong.
If you have ever priced an option, run a Monte Carlo on equities, or opened a quant interview question, you have met geometric Brownian motion. It is the SDE that makes the Black-Scholes formula drop out so cleanly. It is also the model that everyone loves to hate. We are going to derive it properly, see what the math says, and be honest about where it breaks.
The goal here is not to memorize a formula. The goal is to understand why GBM is what it is, and why so much of quant finance is downstream of one simple observation: the log of a stock price behaves nicely.
The Stock Price Puzzle
Stock prices do not behave nicely. They go up and down, sometimes violently. They have fat tails, volatility clusters, and occasional jumps. If you look at the empirical distribution of daily returns on the S&P 500, it is roughly bell-shaped but with too much mass in the tails to be Gaussian. Anyone who has lived through 1987, 2008, or 2020 knows that “twenty-sigma” days happen more often than they should.
So why model them with a Gaussian-driven SDE? Because the math is tractable. Because for many applications (vanilla option pricing, basic risk management, hedging) the Gaussian approximation is good enough. And because when you derive a closed-form price like Black-Scholes, you get something you can fit to a market quote and use to hedge. The model is not the truth. It is a useful fiction.
Geometric Brownian motion is the most useful fiction we have. Let me show you why.
The Two Assumptions
A stochastic process is a geometric Brownian motion if it satisfies
That is the entire model. Two terms: a drift and a diffusion . Both scale with the current price, which is what makes this geometric rather than arithmetic Brownian motion.
The intuition is straightforward. The drift says the stock grows on average at rate . The diffusion says the noise is proportional to the current price. If the stock is at $100, a 1% move is $1. If the stock is at $10, a 1% move is ten cents. Both are “1%”. This scale-invariance is why we model percentage returns, not absolute changes.
The second key insight is that is the increment of a standard Brownian motion. It is normally distributed with mean zero and variance . So at any instant, the change in the stock has mean and standard deviation . Both are proportional to , which makes the process multiplicative — the absolute volatility scales with the level.
The SDE Form and What It Means
The equation is shorthand for a stochastic differential equation. To make sense of it rigorously, you have to write the integral form:
The first integral is ordinary calculus. The second is an Itô integral, which is a limit of sums where the function is evaluated at the left endpoint of each subinterval. This convention matters. The Itô integral is a martingale (under appropriate conditions), which is why it has nice probabilistic properties.
For our purposes, the informal differential form is enough. We can manipulate using Itô’s lemma, treat as a formal rule, and recover the correct answer. This is the physicist’s approach. It works because Itô’s lemma guarantees the result is rigorous if you follow the rules.
Solving the SDE: The Log Trick
To solve , we apply Itô’s lemma to . Let , so and . Itô’s lemma gives
The squared differential is
because , , and . Substituting,
So the log of the stock price follows an arithmetic Brownian motion with constant drift and constant diffusion . This is the key fact. It is why GBM is analytically tractable while arithmetic Brownian motion is not.
Integrating both sides from 0 to :
Exponentiating:
That is the explicit solution. Every path of GBM is a deterministic exponential of a Brownian motion with drift. The term inside the exponent is the famous Itô correction. It comes from the convexity of the exponential function, and it would not be there if we used ordinary calculus. Removing it is one of the most common mistakes students make when first learning this material.
The Distribution of
Since , we can read off the distribution of immediately. It is Gaussian with mean and variance . Equivalently, itself is lognormal:
The lognormal distribution is the right skew, fat-tailed distribution you get when you exponentiate a Gaussian. Its mean is
and its variance is
Notice that the mean is , not . The Itô correction in the exponent only affects the median and the mode. The mean comes from the full distribution and includes a contribution from the upward-skewed tail.
Why the Log Trick Works
The reason has a clean closed form is that the coefficients and are homogeneous of degree one in . When you apply Itô’s lemma to , the multiplicative factors out, and you end up with a linear SDE in . Linear SDEs are the only ones with explicit solutions in elementary functions.
This is a special property of GBM. Add a jump term, replace the constant with a function , or let depend on in a nonlinear way, and the closed form disappears. The Black-Scholes formula works because Black and Scholes chose GBM. They did not choose it because it is realistic. They chose it because it is solvable.
The Black-Scholes Connection
Now we can derive the heart of Black-Scholes pricing. Suppose the stock follows GBM under the risk-neutral measure , with drift (the risk-free rate) and volatility :
Consider a European call option with payoff at time . The risk-neutral pricing formula says
Substituting the explicit form of :
The expectation is a lognormal expectation, which can be computed in closed form using a change of variable. The result is the famous formula:
where is the standard normal CDF and
The same machinery gives put prices, digital options, and a host of exotic variations. The whole edifice of equity derivatives pricing rests on GBM plus risk-neutral valuation.
Simulating GBM Paths
In practice, you often want to simulate GBM rather than use the closed form. The standard recipe is to simulate log-returns and exponentiate. Here is a compact implementation.
import numpy as np
def simulate_gbm(S0, mu, sigma, T, n_steps, n_paths, seed=42):
rng = np.random.default_rng(seed)
dt = T / n_steps
drift = (mu - 0.5 * sigma**2) * dt
diffusion = sigma * np.sqrt(dt)
Z = rng.standard_normal((n_paths, n_steps))
log_paths = np.cumsum(drift + diffusion * Z, axis=1)
log_paths = np.concatenate([np.zeros((n_paths, 1)), log_paths], axis=1)
return S0 * np.exp(log_paths)
The cumsum accumulates the log-returns along each path. We prepend a column of zeros so that paths[:, 0] equals for every simulation. This is the simplest, cleanest simulation scheme. It is exact for GBM, meaning there is no discretization error — the only randomness is the standard normal draws , and the marginal distribution of is exactly lognormal.
This exactness is again a special property of GBM. For most SDEs, you need Euler-Maruyama or Milstein discretization, and you accumulate error as shrinks. For GBM, the closed form gives you the right answer for any number of steps.
The Itô Correction in Practice
If you have ever wondered why shows up in the drift of but shows up in the drift of , here is the punchline. The process has deterministic expected growth rate . The process has expected value , which has average growth rate . These are different things. The expected value of an exponentiated process is not the exponential of the expected value, because of Jensen’s inequality and the convexity of .
When people say “stocks grow at 8% a year”, they usually mean the expected value of grows at 8%. Under GBM, that corresponds to . The expected value of grows at if . The two statements are consistent. Do not confuse them.
Where GBM Breaks
Be honest about the limitations. Empirical stock returns have:
- Volatility clustering. Volatility is not constant. It comes in waves. GARCH models handle this.
- Fat tails. Daily returns have kurtosis well above 3. The lognormal underestimates tail risk.
- Jumps. Prices occasionally gap. Merton jump-diffusion and variance-gamma address this.
- Skewness. Implied volatility is skewed, especially for equities. GBM produces flat implied vol.
For pricing vanilla options, the failures do not matter much. You can fit to match market prices and live with the model. For risk management, fat tails matter a lot. For multi-asset products, correlations matter and the model says they are constant. For long-dated options or stress scenarios, the model is dangerously optimistic.
None of this makes GBM useless. It makes it the first model, not the last one. Most exotic pricing starts with a Black-Scholes baseline and layers corrections on top.
A Numerical Illustration of the Itô Correction
The term is small but not negligible. Take (about 30% annualized vol, a typical number for an individual equity). Then , so the difference between and is 4.5 percentage points per year. Over a ten-year horizon, that compounds: . So the median GBM path is roughly 60% below the mean path. That is a substantial gap.
If you simulate 10,000 paths of with , , , , the sample mean of is about , but the median is about . Half the paths end below 138, half above. The mean is pulled up by the long right tail of the lognormal.
This matters when you compute expected payoffs. If your derivative payoff is monotone in , the expectation is dominated by the right tail and the correction is largely irrelevant. If your payoff is sensitive to the median (like a butterfly spread or any payoff concentrated near a strike), the correction matters a great deal.
Path-Dependent Payoffs and GBM
Many exotic options depend on the path of , not just the terminal value. Asian options average the price over time. Lookback options depend on the running maximum or minimum. Barrier options knock out if the price touches a level. For these, the full path matters.
For GBM, you can compute Asian option prices in closed form using a geometric average — but only if the averaging is geometric, because the geometric average of a lognormal is lognormal. For arithmetic averaging, you are stuck with numerics. That is the first hint that path-dependent payoffs are harder than European payoffs, even with the most tractable model in the world.
Barrier options under GBM are more delicate. The price process is continuous, but it can touch a barrier infinitely often in continuous time. The probability of touching a level before expiry is computed via the reflection principle (see Karatzas and Shreve, Brownian Motion and Stochastic Calculus, or Glasserman, Section 3.4). The result is a clean formula for the survival probability of a barrier at given a drift and volatility, but in practice you have to choose a barrier-monitoring convention (continuous vs. discrete) carefully, because they give different prices.
The Forward Price and Drift
A subtle but important point. Under the physical measure , the drift of is , the expected return of the asset. Under the risk-neutral measure , the drift is , the risk-free rate. The volatility is the same under both measures (volatility is invariant under equivalent measure changes that are sufficiently regular — this is Girsanov’s theorem in action).
When you simulate forward-looking scenarios (real-world projections, asset-liability modeling, retirement forecasts), use . When you price derivatives, use . Mixing the two is one of the most common beginner mistakes. The Black-Scholes formula uses because it prices a derivative. A Monte Carlo that prices an option but uses will give the wrong answer — usually way too high.
The transformation between the two measures is the risk-neutral change of measure, and the key tool is Girsanov’s theorem. We will derive that in a later article. For now, just remember: physical drift is what you expect. Risk-neutral drift is what you discount with.
Continuous Compounding vs. Discrete Returns
When you take logs of daily prices and compute log-returns, you are implicitly using continuous compounding. The relationship between log-returns and simple returns is
For daily returns on the order of 1%, the difference is tiny. For longer horizons, it accumulates. Annual log-returns have standard deviation about 15-20% for an equity index. The gap between mean log-return and mean simple return is about per year — exactly the Itô correction we have been talking about. Same fact, different language.
A Quick Word on Calibration
In practice, you do not know or a priori. You estimate them from data. The historical estimator for is the standard deviation of log-returns scaled by . For daily data, you compute
then scale: . The factor 252 is the number of trading days per year.
For pricing, you usually want implied volatility, not historical volatility. You back out the that makes the Black-Scholes price match the observed market price of an option. Implied vol is the language of the options market. It is quoted in vol terms rather than price terms because it is more comparable across strikes and expiries.
What to Take Away
GBM is what you get when you impose three things: constant percentage drift, constant percentage volatility, and continuous (no-jump) paths driven by Gaussian noise. The closed-form solution is , which is lognormal. It underlies the Black-Scholes formula and most of the introductory derivatives curriculum.
The math is beautiful and the model is wrong, and both can be true. Use GBM when its tractability matters more than its realism. Reach for something richer — local volatility, stochastic vol, jump-diffusion, variance-gamma — when the tails start to bite. The next articles in this module derive those richer models from first principles. The references here are Glasserman (2004), Chapter 3, and Hull (2018), Chapter 15.