You can now sample from any distribution you like (lesson 2). But a single random draw is a single dot — a one-off coin flip. A price is a story that unfolds over time: tomorrow built on today, the day after built on tomorrow. To simulate a stock, you don’t want one draw — you want a path, hundreds of draws chained nose-to-tail so each day inherits where the last one left off. The model that does this chaining, the workhorse under almost every Monte Carlo engine in finance, is Geometric Brownian Motion (GBM). This lesson is about the engine itself: how one random number per step rolls into a whole fan of plausible futures.
Before you read — take a guess
What does Geometric Brownian Motion actually model?
The random walk, and why the naive version is broken
Analogy. Picture a drunkard leaving the pub. Each step he lurches a random amount left or right. Where he ends up after a hundred steps is a random walk — the sum of a hundred little random shocks. Prices feel the same: tomorrow’s price is today’s price plus some random jostle.
The tempting first model writes that literally. Tomorrow’s price equals today’s plus a random shock measured in dollars:
This is an additive (arithmetic) random walk, and for prices it is broken in two ways.
First, it can go negative. A normal shock has no floor — string together enough bad draws and marches straight through zero into negative territory. A stock can’t cost −$4. The model permits an impossible state.
Second, a fixed dollar shock is nonsense across price levels. A 1000 stock (0.1%) and an earthquake on a $1 penny stock (100%). Real markets don’t move in fixed dollars — they move in percentages. A blue chip and a penny stock can both have 2% days; they will never have the same dollar days. The additive walk bakes in the wrong unit.
Why is a naive additive random walk (tomorrow’s price = today’s + a normal dollar shock) a bad model for stock prices?
GBM’s fix: walk in log returns, not dollars
GBM repairs both flaws with one move: don’t add a random number to the price — multiply the price by a random factor. Equivalently, do the random walk on the log return rather than on the price itself. Model the percentage change, and two things fall out for free.
Because the change is multiplicative, the price can only ever be scaled up or down — never pushed below zero. Multiply 5 or $5000. Both problems vanish at once.
This connects straight to the lognormal prices you met in options pricing. If each step’s log return is normal, and you add up many normal log returns, the total log return is normal too — which means the price (the exponential of that total) is lognormal. A lognormal variable can’t be negative and is right-skewed: a long tail of big winners on the upside, a floor at zero on the downside. That is exactly the shape of real long-horizon stock returns, and it’s the shape GBM produces by construction.
| Additive random walk | Geometric Brownian Motion | |
|---|---|---|
| What does the walking | The price, in dollars | The log return (percentage) |
| Shock type | Add a normal dollar amount | Multiply by a random factor |
| Can the price go negative? | Yes — broken | No — stays positive |
| Same shock on a 5 vs 5000 stock? | Wildly different in % | Identical in % |
| Resulting price distribution | Normal (symmetric) | Lognormal (right-skewed) |
Fill in why GBM beats the additive walk.
Pick the right option for each blank, then check.
GBM does the random walk on the , so price changes are , which keeps prices and makes the price distribution .
Drift versus diffusion: the discrete step
Here is the engine itself — the formula you simulate one step at a time:
Don’t be spooked — every piece is something you already know. Take them one at a time:
- — today’s price, where the step starts.
- — the drift: the expected log-growth rate per year (say 10% for a stock you expect to grow). This is the deterministic pull, the direction the price leans on average.
- — the volatility: the annual standard deviation of returns, your old friend. This scales the random jostle.
- — the time step, in years. For a daily simulation, (252 trading days per year). Smaller step = finer-grained path.
- — a fresh standard normal draw, a brand-new sample at every single step. This is precisely the lesson-2 sampling, now chained: one draw per day, 252 draws for a year.
- — the random part scales with the square root of time, because variance (not standard deviation) adds linearly. Over a step a quarter as long, the random move shrinks only by a half, not a quarter.
The exponent splits cleanly into two parts. The drift term is deterministic — it’s the same every step, the steady lean. The diffusion term is random — it’s the dice-roll, the wandering. Drift is where the price wants to go; diffusion is the noise that knocks it around on the way. Every GBM step is a tug-of-war between the two.
Why exp(...) and not just multiply?
Wrapping the step in is what makes the move multiplicative. The thing inside the exponent is a (normal) log return; exponentiating turns it into a growth factor like 1.013 or 0.987 that you multiply onto the price. That single is the entire reason prices stay positive and end up lognormal — it’s the “geometric” in Geometric Brownian Motion.
Match each symbol in the GBM step to what it means.
Pick a term, then click its definition.
The mysterious −½σ² term
You probably eyed that sitting next to the drift and wondered where it crawled in from. It’s called the Itô correction, but forget the calculus — the intuition is the genuinely useful part, and you already met it as variance drag.
Analogy. A stock drops 50% one day and gains 50% the next. Are you back where you started? No — you’re at . You’re down 25%, despite the average daily return being a cheerful . Volatility quietly ate your money. The arithmetic mean return (the simple average) overstates what you actually compound; the geometric mean (what your wealth really grows at) is always lower, and the gap between them widens with volatility.
That gap is exactly . The drift you feel in your compounded wealth isn’t the raw — it’s . The correction term docks your growth rate by half the variance to account for the drag that bouncing around inflicts on compounding. Leave it out and your simulated paths drift systematically too high: you’d be claiming the price grows at its arithmetic average, which volatility makes impossible to actually achieve.
The consequence. Two stocks with the same expected return but different volatility do not grow your money at the same rate. The more volatile one suffers more drag and compounds slower. This is why, in a moment, you’ll see the median GBM path drift below the mean: the average is dragged up by a few lucky exponential winners, but the typical path lags, taxed by its own variance.
Why does the GBM step subtract ½σ² from the drift?
One step, worked end to end
Let’s actually turn the crank once. Take a stock with:
- (starting price)
- per year (drift)
- per year (volatility)
- (one trading day)
Step 1 — the drift per step. The deterministic part of the exponent is . First the variance-drag-adjusted drift: per year. Per day: . Tiny — a daily lean of about +0.0317%.
Step 2 — the diffusion magnitude per step. The random part scales by . So a one-standard-deviation day is about a 1.26% jostle — forty times larger than the drift. On any single day, randomness utterly dominates the gentle drift. (That’s why one day tells you nothing and a year tells you a lot: drift accumulates, noise partly cancels.)
Step 3 — draw a Z and take the step. Suppose today’s normal draw lands at (a one-sigma up day). The exponent is:
Exponentiate to get the growth factor: . Multiply onto the price:
A one-sigma-up day nudged 101.30. Had come in at instead, the factor would be , landing the price at about $98.78.
Step 4 — roll it 252 times. Now chain it: feed back in as the new , draw a fresh , take another step. Do this 252 times, each with its own independent normal draw, and you’ve simulated one full year — one complete price path, one possible future for the stock. The drift quietly accumulates across the year; the noise wanders up and down but its ups and downs partly cancel, so over 252 steps the drift finally becomes visible under the jitter.
In the worked example (sigma = 20%/yr, daily steps), the one-day diffusion magnitude (~1.26%) is about 40× the one-day drift (~0.03%). What does that tell you?
Why one path is useless and a thousand is gold
Here is the trap. You run GBM once, get a path that ends at 134.” Wrong. That single path is one draw from an infinite cloud of possible futures — a single roll of a 252-sided dice rolled 252 times over. Run it again with fresh random draws and you’ll land somewhere completely different. One path tells you almost nothing.
The power comes from simulating thousands of paths. Each is a different possible future; together they trace out the entire distribution of outcomes. Now you can ask real questions: what’s the median ending price? The 5th percentile (a bad year)? The chance of ending below $80? None of those is answerable from one path; all of them fall out of ten thousand.
And the shape of that fan is the lognormal you were promised. It’s right-skewed: a handful of paths catch a long winning streak and rocket far above the crowd (no ceiling on the upside), while the worst paths are floored at zero. Those few exponential winners drag the mean ending price above the median — the typical path lands lower than the average, because the average is inflated by a small number of moonshots. The mean is not the most likely outcome; in a right-skewed world, most paths land below average.
The island below is that fan. Each thread is one GBM path starting from the same price; the cloud they form is the outcome distribution. Drag the drift to tilt the whole cloud up or down, and crank the volatility to watch the fan widen — and the right-skew exaggerate — as variance drag pushes the typical path further below the lucky outliers.
Every thread is one possible future, all launched from the same starting price. The whole fan is the distribution of outcomes. Raise the volatility and the fan flares wider while a few lucky paths run far above the crowd — the right-skewed lognormal shape. Nudge the drift and the entire cloud tilts. Hit resimulate to draw a fresh batch of random futures.
Fill in why we simulate many paths.
Pick the right option for each blank, then check.
A single path is just , so it tells you almost nothing. Thousands of paths reveal the , which is — so a few big winners pull the .
Pitfalls: GBM is a baseline, not the truth
GBM is gorgeous and it is wrong — usefully wrong, the way a frictionless plane is useful in physics, but wrong in ways that matter when money is on the line. Two assumptions are doing heavy lifting:
Constant volatility. GBM uses a single fixed forever. Real markets have volatility clustering — calm stretches and stormy stretches arrive in clumps (big moves beget big moves). A model with one constant can’t capture that rhythm; it sprinkles its volatility evenly, like a weather forecast that predicts the same drizzle every day of the year.
Independent normal increments. GBM assumes each day’s is an independent, normal draw. Reality has fat tails (crashes happen far more often than a normal allows — the 1987 single-day move was a “25-sigma” event a normal model says should never occur in the universe’s lifetime) and jumps (prices gap on news without trading through the intervening levels). GBM’s smooth, continuous, thin-tailed paths simply can’t gap or crash the way real prices do.
So treat GBM as the honest baseline: the simplest model that gets positivity, percentage moves, and lognormal shape right — and the foundation everything fancier is built on top of. When its assumptions chafe, quants reach for richer engines: jump-diffusion (bolt sudden gaps onto GBM), stochastic volatility (let itself wander randomly, e.g. the Heston model), and others you’ll meet later. GBM isn’t the destination; it’s the launchpad.
Sort each statement: a faithful feature of GBM, or a real-market behaviour GBM misses?
Place each item in the right group.
- Calm and stormy periods cluster together over time
- Prices stay positive no matter how many bad days
- Prices can gap suddenly on news without trading through
- Crashes happen far more often than a normal would allow (fat tails)
- Returns are measured in percentages, not fixed dollars
- Long-horizon prices come out lognormal (right-skewed)
If GBM is wrong about fat tails and jumps, why is it still everywhere?
Because it is the best simple thing that gets the essentials right, and simplicity buys you three precious things: it has closed-form answers (the Black–Scholes formula falls straight out of GBM, no simulation needed), it needs only two parameters you can actually estimate (drift and volatility), and it’s the shared baseline everyone understands. Richer models — jump-diffusion, stochastic volatility — are quite literally GBM plus corrections: you start from the GBM skeleton and bolt on jumps or a wandering sigma. You can’t appreciate, calibrate, or debug those extensions without fluency in the baseline they extend. GBM is wrong in known, bounded ways, and knowing exactly how it’s wrong is what lets you reach for the right fix. The right model is the simplest one that doesn’t lie about your particular problem — and for a startling amount of finance, GBM is honest enough.
Putting it together
Geometric Brownian Motion is the engine under simulated prices. It walks not the dollar price but the log return, so moves are multiplicative percentages — which keeps prices positive and makes the price distribution lognormal. Each discrete step, , is a tug-of-war between a deterministic drift and a random diffusion driven by a fresh standard normal . The term is variance drag made honest: it docks growth so paths compound at the realistic geometric rate. Chain 252 of these and you get one path — a single possible future. Roll thousands and you get the whole right-skewed fan, the outcome distribution where a few exponential winners lift the mean above the median. And remember GBM is a baseline, not gospel: constant vol and normal increments miss the clustering, fat tails, and jumps that fancier models add.
Big picture
Geometric Brownian Motion — the whole engine
- Geometric Brownian Motion
- Why not an additive walk
- Additive: price can go negative
- Additive: fixed dollar move misjudges price level
- GBM walks the log return (percentage) instead
- The discrete step
- Drift term: (mu − ½σ²)·delta t, deterministic
- Diffusion term: sigma·√(delta t)·Z, random
- Fresh standard normal Z every step
- exp wrapper keeps prices positive and lognormal
- Variance drag (−½σ²)
- Geometric growth < arithmetic average
- Volatility eats compounded returns
- Median path lands below the mean
- Why many paths
- One path = one possible future, near useless
- Thousands reveal the outcome distribution
- Right-skewed: winners pull mean above median
- Limits — a baseline only
- Constant vol misses volatility clustering
- Normal increments miss fat tails and jumps
- Fancier: jump-diffusion, stochastic vol
- Why not an additive walk
Recap: Geometric Brownian Motion
What is the single change GBM makes to fix the broken additive random walk?
Check your answer to continue.
Next up — Simulating Portfolio Outcomes — we point this engine at a real goal. Feed GBM your retirement contributions and a multi-decade horizon, and the fan of paths becomes a cone of outcomes: the spread of pots you might retire on, from the unlucky 5th percentile to the lucky 95th. Same engine, now answering the question that actually keeps people up at night — will I have enough?