Technical

How Quants Model Unpredictability in Markets. An Introduction to Geometric Brownian Motion

Written by
Tsvetomir Novak
-
March 23, 2026
<style> .math-block { margin: 1.5em 0; text-align: center; } .math-block mjx-container { max-width: 100% !important; overflow-x: hidden !important; } .math-block mjx-container svg { max-width: 100%; height: auto; } .figure-block { margin: 2em 0; text-align: center; } .figure-caption { font-size: 0.9em; color: #666; margin-top: 8px; } </style> <p>Many students have heard of the infamous "Brownian Motion"; however, few understand what it is, what it does, or why we need it. This article will be devoted to turning Brownian Motion into a simple concept that anyone can understand, as long as you have taken at least one probability course. This exposition is inspired in part by the treatment in Shreve's <em>Stochastic Calculus for Finance II</em>.</p> <h3>Random Walks</h3> <p>Imagine you have made a deal with your friend, a gambler, where you flip a coin, and every time it lands on heads, he will pay you 1 euro, and if it lands on tails, you pay him. In this game, your expected return would be 0, and the variance of your return would be 1. $\mathbb{E}[X] = \frac{1}{2} \cdot 1 + \frac{1}{2} \cdot (-1) = 0$, and $\text{Var}[X] = \frac{1}{2} \cdot (1-0)^2 + \frac{1}{2} \cdot (-1-0)^2 = 1$. However, what if we were to play this game $n$ times? This would then be called a random walk, with an expected return of 0 and a variance of $n$. Our score can be written as $W_n = \sum_{i=1}^n X_i$. Let's graph one possible sequence of games, with one game happening every minute.</p> <!-- Figure 1: Random Walk from 30 Coin Flips --> <div class="figure-block"> <svg viewBox="0 0 700 320" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto;border:1px solid #ddd;border-radius:4px;background:#fff"> <line x1="50" y1="280.0" x2="680" y2="280.0" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="238.3" x2="680" y2="238.3" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="196.7" x2="680" y2="196.7" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="155.0" x2="680" y2="155.0" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="113.3" x2="680" y2="113.3" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="71.7" x2="680" y2="71.7" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="30.0" x2="680" y2="30.0" stroke="#eee" stroke-width="0.5"/> <line x1="50.0" y1="30" x2="50.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="155.0" y1="30" x2="155.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="260.0" y1="30" x2="260.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="365.0" y1="30" x2="365.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="470.0" y1="30" x2="470.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="575.0" y1="30" x2="575.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="680.0" y1="30" x2="680.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="50" y1="280" x2="680" y2="280" stroke="#000" stroke-width="1.5"/> <line x1="50" y1="30" x2="50" y2="280" stroke="#000" stroke-width="1.5"/> <line x1="50" y1="155.0" x2="680" y2="155.0" stroke="#999" stroke-width="0.8" stroke-dasharray="4,4"/> <text x="50.0" y="298" text-anchor="middle" font-size="12" fill="#333">0</text> <text x="155.0" y="298" text-anchor="middle" font-size="12" fill="#333">5</text> <text x="260.0" y="298" text-anchor="middle" font-size="12" fill="#333">10</text> <text x="365.0" y="298" text-anchor="middle" font-size="12" fill="#333">15</text> <text x="470.0" y="298" text-anchor="middle" font-size="12" fill="#333">20</text> <text x="575.0" y="298" text-anchor="middle" font-size="12" fill="#333">25</text> <text x="680.0" y="298" text-anchor="middle" font-size="12" fill="#333">30</text> <text x="42" y="280.0" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">-6</text> <text x="42" y="238.3" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">-4</text> <text x="42" y="196.7" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">-2</text> <text x="42" y="155.0" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">0</text> <text x="42" y="113.3" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">2</text> <text x="42" y="71.7" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">4</text> <text x="42" y="30.0" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">6</text> <text x="365.0" y="316" text-anchor="middle" font-size="13" fill="#333">Flip number</text> <text x="14" y="155.0" text-anchor="middle" font-size="13" fill="#333" transform="rotate(-90,14,155.0)">Score</text> <polyline points="50.0,155.0 71.0,134.2 92.0,113.3 113.0,134.2 134.0,113.3 155.0,92.5 176.0,113.3 197.0,134.2 218.0,113.3 239.0,134.2 260.0,155.0 281.0,134.2 302.0,113.3 323.0,134.2 344.0,155.0 365.0,175.8 386.0,155.0 407.0,134.2 428.0,113.3 449.0,134.2 470.0,113.3 491.0,92.5 512.0,113.3 533.0,134.2 554.0,113.3 575.0,134.2 596.0,113.3 617.0,92.5 638.0,113.3 659.0,92.5 680.0,71.7" fill="none" stroke="#2563eb" stroke-width="2"/> <circle cx="50.0" cy="155.0" r="3" fill="#2563eb"/> <circle cx="71.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="92.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="113.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="134.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="155.0" cy="92.5" r="3" fill="#2563eb"/> <circle cx="176.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="197.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="218.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="239.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="260.0" cy="155.0" r="3" fill="#2563eb"/> <circle cx="281.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="302.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="323.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="344.0" cy="155.0" r="3" fill="#2563eb"/> <circle cx="365.0" cy="175.8" r="3" fill="#2563eb"/> <circle cx="386.0" cy="155.0" r="3" fill="#2563eb"/> <circle cx="407.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="428.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="449.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="470.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="491.0" cy="92.5" r="3" fill="#2563eb"/> <circle cx="512.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="533.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="554.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="575.0" cy="134.2" r="3" fill="#2563eb"/> <circle cx="596.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="617.0" cy="92.5" r="3" fill="#2563eb"/> <circle cx="638.0" cy="113.3" r="3" fill="#2563eb"/> <circle cx="659.0" cy="92.5" r="3" fill="#2563eb"/> <circle cx="680.0" cy="71.7" r="3" fill="#2563eb"/> </svg> <div class="figure-caption">Random Walk from 30 Coin Flips</div> </div> <p>What if, instead, we played this game every half minute? What about every 15 seconds? As we shrink the time interval between iterations, the graph will become less discrete and more like what we would observe in the stock market. Our score function can now be represented as:</p> <div class="math-block"> $$W^{(k)}(t) = \sum_{i=1}^{\lfloor kt \rfloor}\frac{X_i}{\sqrt{k}} \text{, where each next game is played at time } t_i = \frac{i}{k}$$ </div> <p>We use the symbol $k$ to denote the number of moments into which we split each minute. We divide the total score by the square root of $k$ to keep the variance constant. If we were to remove it, $\text{Var}[W^{(k)}(t)] = kn$, which increases to infinity as we split the minute into more and more intervals. Let's visualise one more game, with $k=1000$.</p> <!-- Figure 2: Scaled Random Walk k=1000 --> <div class="figure-block"> <svg viewBox="0 0 700 320" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto;border:1px solid #ddd;border-radius:4px;background:#fff"> <line x1="60" y1="280.0" x2="680" y2="280.0" stroke="#eee" stroke-width="0.5"/> <line x1="60" y1="217.5" x2="680" y2="217.5" stroke="#eee" stroke-width="0.5"/> <line x1="60" y1="155.0" x2="680" y2="155.0" stroke="#eee" stroke-width="0.5"/> <line x1="60" y1="92.5" x2="680" y2="92.5" stroke="#eee" stroke-width="0.5"/> <line x1="60" y1="30.0" x2="680" y2="30.0" stroke="#eee" stroke-width="0.5"/> <line x1="60.0" y1="30" x2="60.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="122.0" y1="30" x2="122.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="184.0" y1="30" x2="184.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="246.0" y1="30" x2="246.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="308.0" y1="30" x2="308.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="370.0" y1="30" x2="370.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="432.0" y1="30" x2="432.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="494.0" y1="30" x2="494.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="556.0" y1="30" x2="556.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="618.0" y1="30" x2="618.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="680.0" y1="30" x2="680.0" y2="280" stroke="#eee" stroke-width="0.5"/> <line x1="60" y1="280" x2="680" y2="280" stroke="#000" stroke-width="1.5"/> <line x1="60" y1="30" x2="60" y2="280" stroke="#000" stroke-width="1.5"/> <line x1="60" y1="155.0" x2="680" y2="155.0" stroke="#999" stroke-width="0.8" stroke-dasharray="4,4"/> <text x="60.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.0</text> <text x="122.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.1</text> <text x="184.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.2</text> <text x="246.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.3</text> <text x="308.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.4</text> <text x="370.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.5</text> <text x="432.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.6</text> <text x="494.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.7</text> <text x="556.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.8</text> <text x="618.0" y="298" text-anchor="middle" font-size="12" fill="#333">0.9</text> <text x="680.0" y="298" text-anchor="middle" font-size="12" fill="#333">1.0</text> <text x="52" y="280.0" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">-2</text> <text x="52" y="217.5" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">-1</text> <text x="52" y="155.0" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">0</text> <text x="52" y="92.5" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">1</text> <text x="52" y="30.0" text-anchor="end" dominant-baseline="middle" font-size="12" fill="#333">2</text> <text x="370.0" y="316" text-anchor="middle" font-size="13" fill="#333">t</text> <polyline points="60.0,155.0 66.2,151.0 72.4,151.0 78.6,159.0 84.8,162.9 91.0,170.8 97.2,170.8 103.4,174.8 109.6,178.7 115.8,170.8 122.0,174.8 128.2,178.7 134.4,174.8 140.6,182.7 146.8,178.7 153.0,178.7 159.2,174.8 165.4,176.7 171.6,178.7 177.8,178.7 184.0,174.8 190.2,178.7 196.4,166.9 202.6,170.8 208.8,170.8 215.0,155.0 221.2,159.0 227.4,155.0 233.6,159.0 239.8,162.9 246.0,159.0 252.2,162.9 258.4,166.9 264.6,166.9 270.8,166.9 277.0,159.0 283.2,162.9 289.4,151.0 295.6,147.1 301.8,151.0 308.0,147.1 314.2,143.1 320.4,147.1 326.6,147.1 332.8,147.1 339.0,147.1 345.2,147.1 351.4,143.1 357.6,139.2 363.8,139.2 370.0,135.2 376.2,139.2 382.4,131.3 388.6,115.5 394.8,111.5 401.0,103.6 407.2,103.6 413.4,107.6 419.6,103.6 425.8,107.6 432.0,107.6 438.2,99.7 444.4,99.7 450.6,103.6 456.8,107.6 463.0,111.5 469.2,119.4 475.4,119.4 481.6,111.5 487.8,119.4 494.0,99.7 500.2,91.8 506.4,91.8 512.6,79.9 518.8,75.9 525.0,75.9 531.2,75.9 537.4,79.9 543.6,91.8 549.8,95.7 556.0,87.8 562.2,87.8 568.4,95.7 574.6,91.8 580.8,103.6 587.0,99.7 593.2,107.6 599.4,111.5 605.6,115.5 611.8,111.5 618.0,115.5 624.2,119.4 630.4,127.3 636.6,123.4 642.8,119.4 649.0,111.5 655.2,107.6 661.4,111.5 667.6,103.6 673.8,99.7 680.0,95.7" fill="none" stroke="#2563eb" stroke-width="1.5"/> </svg> <div class="figure-caption">Scaled Random Walk with $k=1000$<br>$W^{(1000)}(t) = \displaystyle\sum_{i=1}^{\lfloor 1000t \rfloor}\frac{X_i}{\sqrt{1000}}, \quad t = 0, 0.001, 0.002, \ldots, 1$</div> </div> <p>We already observe that this closely resembles market behavior, which is why we use it. However, we must still do this in continuous time, not only in discrete time.</p> <h3>Brownian Motion</h3> <p>In many introductory models, time moves in discrete steps. Real financial markets, however, evolve in continuous time. This naturally raises the question: what happens if we take a random walk and pass to a continuous-time setting?</p> <p>The limiting object is the Brownian motion, denoted by $(W_t)_{t \geq 0}$. A key property of Brownian motion is that its increments are normally distributed. More precisely, for any $t \geq 0$ and $h > 0$,</p> <div class="math-block"> $$W_{t+h} - W_t \sim \mathcal{N}(0,h). \tag{1}$$ </div> <p>This means that over a time interval of length $h$, the change in Brownian motion has mean $0$ and variance $h$.</p> <p>Assuming $W_0 = 0$, it follows in particular from (1) with $t=0$, that</p> <div class="math-block"> $$W_t \sim \mathcal{N}(0,t).$$ </div> <p>So at time $t$, the value of Brownian motion is normally distributed with mean $0$ and variance $t$.</p> <p>The derivation of Brownian motion as the continuous-time scaling limit of a random walk will be postponed to Appendix A, as I assume it is too tedious for most students to read through such proofs.</p> <h3>Real World Examples of Brownian Motion</h3> <p>Although many people believe that Brownian motion only exists in the papers of sleep-deprived quantitative researchers, it actually shows up in more spots than you would think.</p> <p>Take, for example, a simple gas particle in the air. As it bumps into its neighboring gas particles, it moves in random directions as it gets hit from every direction. Over time, the particle may have moved slightly, or a lot, but its expected position is still the position from where it started.</p> <p>There are many other representations of this phenomenon, such as pollen in water and fat globules in milk; however, the most important interpretation for us is Geometric Brownian Motion, which we will discuss later.</p> <h3>Why Is Brownian Motion Special?</h3> <p>In standard calculus, if you have a differentiable function $f$, something you can say about it, is that $f(t+h) - f(t) \approx f'(t)h$. This property is informally written as $df = f'(t)dt$. When it comes to Brownian Motion, however, from (1) we can say that the typical increment size $W_{t+h} - W_t \approx \sqrt{h}$. In standard calculus, these increments for a differentiable function equal $h$, and for smaller and smaller increments, $\sqrt{h} \gg h$. To take the derivative of $W_t$, this ratio must hold:</p> <div class="math-block"> $$\lim_{h\rightarrow 0} \frac{W_{t+h}-W_t}{h} = c \text{, where } c \in \mathbb{R} \tag{2}$$ </div> <p>However, this turns into the equation $\frac{\sqrt{h}}{h} = \frac{1}{\sqrt{h}}$, which blows up as $h \rightarrow 0$. So the original limit does not converge, resulting in Brownian Motion being nowhere differentiable. This lack of differentiability does not make Brownian motion unusable in continuous time, but it does mean that ordinary calculus is no longer sufficient. The solution is to replace derivative-based calculus with stochastic calculus, which operates directly on Brownian increments rather than on classical derivatives. In Appendix B, I will further discuss the concept behind $dW_t$ in Itô Calculus.</p> <h3>Dynamic Hedging on Another Level</h3> <p>Now, let's consider the reality in which you and your gambler friend open up a proprietary trading firm with the money you got out of your last paychecks. You have been assigned to construct a locally riskless hedged portfolio. What does that mean? In classical options books, this is often referred to as the strategy of delta hedging, but the calculations they show often feel like they got lucky. We will show how randomness is eliminated when we choose the number of shares in the hedge to equal the option's sensitivity to the stock price. Before we do that, we first need to understand how stock prices move in the real world.</p> <p>One would imagine that the future price at time $t$ of a stock can be modeled as $S_t = S_0 e^{\mu t}$, with its differential form being: $dS_t = \mu S_t dt$; however, they would be wrong, as this doesn't account for random movements in the market. It is inadequate for realistic asset dynamics because it does not account for uncertainty. Because of that, we use the Geometric Brownian Motion (GBM), the continuous stochastic model version:</p> <div class="math-block"> $$dS_t = \mu S_t dt + \sigma S_t dW_t \tag{3}$$ </div> <p>This simply tells us that the change in price of the stock is determined by the average proportional growth of the stock $\mu S_t dt$ (drift) and a random proportional fluctuation term $\sigma S_t dW_t$.</p> <p>Now, let's suppose that in our imaginary world, an option, or more generally, a derivative has value $V = V(S,t)$, meaning it is dependent only on the price of the stock and time. After we apply Itô's Lemma to find the instantaneous change in the option's value and we substitute in the GBM for $dS_t$, we will get an equation such as this:</p> <div class="math-block"> $$dV = \left(V_t + \mu S V_S + \frac{1}{2}\sigma^2 S^2 V_{SS}\right)dt + \sigma S V_S dW_t \tag{4}$$ </div> <p>How we got to this result will be covered in Appendix C if you are interested. Still, the important thing to note is that the current change in value of our option depends on a random variable $dW$, which we do not want in our 'locally riskless portfolio.' Let's construct our hedged portfolio now and show exactly how we eliminate its randomness.</p> <p>We will define a portfolio $\Pi$ consisting of: long 1 derivative, like an option, and short $\Psi$ shares of stock. It would imply that $\Pi = V - \Psi S$, so the change in our portfolio is: $d\Pi = dV - \Psi\, dS_t$. If we substitute the expressions for $dV$ and $dS_t$, distribute the $-\Psi$, and factor the $dW$ coefficient, we will get this ugly expression:</p> <div class="math-block"> $$d\Pi = \left(V_t + \mu S V_S + \frac{1}{2}\sigma^2 S^2 V_{SS} - \Psi \mu S\right)dt + \sigma S\left(V_S - \Psi\right)dW_t \tag{5}$$ </div> <p>The only thing you need to care about from this equation is the end term. As you can notice, if our $V_S = \Psi$, then our portfolio will no longer have a random coefficient in it. This is the principle of dynamic delta hedging, where we pick $\Psi$ to equal the Greek delta ($V_S$) of our derivative (like an option). For example, if we were to buy 10 June call options, with a current delta of 50 each (or 0.5 like it would normally be in our equations), we would need to hedge that with $\frac{10 \times 50}{100} = 5$ underlying contracts, which means we would need to sell 5 underlying contracts to make the total delta of our position equal 0. (For context, underlying contracts—shares of stock in this example—have a delta of 100 when we long them, and -100 when we short them. We divide by their delta to determine how many shares we need to rebalance the position. That is why we call it delta hedging.)</p> <!-- ═══════════════════════════════════════ --> <!-- APPENDIX A --> <!-- ═══════════════════════════════════════ --> <h2>Appendix A: Derivation of the Normal Distribution from a Scaled Random Walk</h2> <p>In this appendix, we show that the continuous-time limit of a simple symmetric random walk leads to a normal distribution. This motivates modeling the increments of Brownian motion as Gaussian.</p> <p>Consider a sequence of independent random variables $(X_i)_{i \geq 1}$ such that</p> <div class="math-block"> $$\mathbb{P}(X_i = 1) = \mathbb{P}(X_i = -1) = \frac{1}{2}.$$ </div> <p>These represent the steps of a simple symmetric random walk. After $n$ steps, the position of the walk is</p> <div class="math-block"> $$S_n = X_1 + X_2 + \cdots + X_n.$$ </div> <p>Since each step has mean $0$ and variance $1$, the variance of $S_n$ is $n$. To obtain a nontrivial limit as $n \to \infty$, we rescale the walk by $\sqrt{n}$ and define</p> <div class="math-block"> $$W^{(n)}(t) = \frac{1}{\sqrt{n}} S_{\lfloor nt \rfloor}.$$ </div> <p>We now show that for fixed $t$, the distribution of $W^{(n)}(t)$ converges to $\mathcal{N}(0,t)$.</p> <h4>Step 1: Moment generating function</h4> <p>Let $m = \lfloor nt \rfloor$. Then</p> <div class="math-block"> $$W^{(n)}(t) = \frac{1}{\sqrt{n}} \sum_{i=1}^{m} X_i.$$ </div> <p>We continue the proof using the Moment Generating Function Method, something standard for most people who have finished a probability course:</p> <div class="math-block"> $$M_{W^{(n)}(t)}(u) = \mathbb{E}\left[e^{u W^{(n)}(t)}\right] = \mathbb{E}\left[\exp\left(\frac{u}{\sqrt{n}} \sum_{i=1}^{m} X_i\right)\right].$$ </div> <p>Using independence of the $X_i$,</p> <div class="math-block"> $$M_{W^{(n)}(t)}(u) = \prod_{i=1}^{m} \mathbb{E}\left[e^{u X_i / \sqrt{n}}\right].$$ </div> <p>Since each $X_i$ takes values $\pm 1$ with probability $1/2$,</p> <div class="math-block"> $$\mathbb{E}\left[e^{u X_i / \sqrt{n}}\right] = \frac{1}{2} e^{u/\sqrt{n}} + \frac{1}{2} e^{-u/\sqrt{n}}.$$ </div> <p>Therefore,</p> <div class="math-block"> $$M_{W^{(n)}(t)}(u) = \left(\frac{1}{2} e^{u/\sqrt{n}} + \frac{1}{2} e^{-u/\sqrt{n}}\right)^m.$$ </div> <h4>Step 2: Taking the limit</h4> <p>We now study the limit as $n \to \infty$. Since $m = \lfloor nt \rfloor \sim nt$, it is enough to analyze</p> <div class="math-block"> $$\left(\frac{1}{2} e^{u/\sqrt{n}} + \frac{1}{2} e^{-u/\sqrt{n}}\right)^{nt}.$$ </div> <p>Taking logarithms gives</p> <div class="math-block"> $$\log M_{W^{(n)}(t)}(u) = nt \log\left(\frac{1}{2} e^{u/\sqrt{n}} + \frac{1}{2} e^{-u/\sqrt{n}}\right).$$ </div> <p>Set $x = \frac{1}{\sqrt{n}}$. Then $x \to 0$ as $n \to \infty$, and</p> <div class="math-block"> $$nt = \frac{t}{x^2}.$$ </div> <p>So</p> <div class="math-block"> $$\log M_{W^{(n)}(t)}(u) = \frac{t}{x^2} \log\left(\frac{1}{2} e^{ux} + \frac{1}{2} e^{-ux}\right).$$ </div> <p>We now compute the limit</p> <div class="math-block"> $$\lim_{x \to 0} \frac{\log\left(\frac{1}{2} e^{ux} + \frac{1}{2} e^{-ux}\right)}{x^2}.$$ </div> <p>This is a $0/0$ form, so L'Hôpital's rule may be applied. Differentiating the numerator and denominator once gives</p> <div class="math-block"> $$\lim_{x \to 0} \frac{\frac{u}{2}e^{ux} - \frac{u}{2}e^{-ux}}{2x\left(\frac{1}{2}e^{ux} + \frac{1}{2}e^{-ux}\right)}.$$ </div> <p>Evaluating at $x = 0$ still gives $0/0$, so we differentiate once more. This yields</p> <div class="math-block"> $$\lim_{x \to 0} \frac{\frac{u^2}{2}e^{ux} + \frac{u^2}{2}e^{-ux}}{2\left(\frac{1}{2}e^{ux} + \frac{1}{2}e^{-ux}\right) + 2x\left(\frac{u}{2}e^{ux} - \frac{u}{2}e^{-ux}\right)}.$$ </div> <p>Substituting $x = 0$, we obtain</p> <div class="math-block"> $$\frac{\frac{u^2}{2} + \frac{u^2}{2}}{2} = \frac{u^2}{2}.$$ </div> <p>Hence</p> <div class="math-block"> $$\lim_{n \to \infty} \log M_{W^{(n)}(t)}(u) = \frac{t u^2}{2}.$$ </div> <p>Exponentiating both sides gives</p> <div class="math-block"> $$\lim_{n \to \infty} M_{W^{(n)}(t)}(u) = e^{tu^2/2}.$$ </div> <h4>Step 3: Identifying the limit</h4> <p>The moment generating function</p> <div class="math-block"> $$e^{tu^2/2}$$ </div> <p>is exactly the moment generating function of a normal random variable with mean $0$ and variance $t$. Therefore,</p> <div class="math-block"> $$W^{(n)}(t) \xrightarrow{d} \mathcal{N}(0,t) \qquad \text{as } n \to \infty.$$ </div> <p>This shows that the properly rescaled random walk converges in distribution to a Gaussian random variable at each fixed time $t$. This is the reason Brownian motion is modeled so that</p> <div class="math-block"> $$W_t \sim \mathcal{N}(0,t),$$ </div> <p>and more generally,</p> <div class="math-block"> $$W_{t+h} - W_t \sim \mathcal{N}(0,h).$$ </div> <!-- ═══════════════════════════════════════ --> <!-- APPENDIX B --> <!-- ═══════════════════════════════════════ --> <h2>Appendix B: Why Brownian Motion Can Still Be Used in Calculus</h2> <p>In the main text, I argued that Brownian motion cannot be differentiated in the ordinary sense. Indeed, for small $h > 0$, the increment</p> <div class="math-block"> $$W_{t+h} - W_t$$ </div> <p>has typical size $\sqrt{h}$, not $h$. Therefore, the difference quotient</p> <div class="math-block"> $$\frac{W_{t+h} - W_t}{h}$$ </div> <p>behaves heuristically like</p> <div class="math-block"> $$\frac{\sqrt{h}}{h} = \frac{1}{\sqrt{h}},$$ </div> <p>which blows up as $h \to 0$. This is the reason Brownian motion is almost surely nowhere differentiable.</p> <p>At first sight, this seems to destroy any possibility of doing calculus with $W_t$. In ordinary calculus, one relies on differentiability to write expressions such as</p> <div class="math-block"> $$df = f'(t)\,dt.$$ </div> <p>For Brownian motion, this interpretation is impossible. However, this does not mean that Brownian motion is unusable. It means instead that a different framework must replace ordinary calculus.</p> <h3>Increments instead of derivatives</h3> <p>The key idea of stochastic calculus is that even though Brownian motion has no derivative, its increments are still perfectly well-defined random variables. For times</p> <div class="math-block"> $$0 = t_0 < t_1 < \cdots < t_n = t,$$ </div> <p>the increments</p> <div class="math-block"> $$W_{t_{i+1}} - W_{t_i}$$ </div> <p>exist and satisfy very strong probabilistic properties. In particular, they are independent and</p> <div class="math-block"> $$W_{t_{i+1}} - W_{t_i} \sim \mathcal{N}(0, t_{i+1} - t_i).$$ </div> <p>So the idea is not to differentiate Brownian motion, but to work directly with its increments. This is the starting point of Itô calculus.</p> <h3>Quadratic variation</h3> <p>For a differentiable function, small increments are typically of order $\Delta t$, so their squares are of order $(\Delta t)^2$, which becomes negligible when compared with $\Delta t$. Brownian motion behaves differently. Since its increments are of order $\sqrt{\Delta t}$, their squares are of order $\Delta t$, which does not disappear when summed over many small intervals.</p> <p>To make this precise, let</p> <div class="math-block"> $$\Pi = \{0 = t_0 < t_1 < \cdots < t_n = t\}$$ </div> <p>be a partition of the interval $[0,t]$, and consider the sum of squared increments</p> <div class="math-block"> $$Q(\Pi) = \sum_{i=0}^{n-1} \left(W_{t_{i+1}} - W_{t_i}\right)^2.$$ </div> <p>For Brownian motion, these sums converge to $t$ as the partition becomes finer. This limit is called the quadratic variation of Brownian motion:</p> <div class="math-block"> $$[W]_t = t.$$ </div> <p>So although Brownian motion has no ordinary derivative, its fluctuations accumulate in a very regular second-order way. I will spare you the proof on this one.</p> <h3>Why quadratic variation matters</h3> <p>This is not just an isolated fact. It is the reason stochastic calculus looks different from ordinary calculus.</p> <p>In ordinary calculus, squared increments are too small to matter in the limit, so second-order terms disappear. For Brownian motion, this is no longer true: since $(\Delta W)^2$ is of order $\Delta t$, second-order terms survive. This is precisely the reason why the chain rule must be substituted in stochastic calculus.</p> <div class="math-block"> $$f(x + \Delta x) - f(x) = f'(x)\Delta x + \frac{1}{2}f''(x)(\Delta x)^2 + \frac{1}{6}f^{(3)}(x)(\Delta x)^3 + \cdots$$ </div> <p>If $x = x(t)$ is differentiable, then over a small interval of length $h$,</p> <div class="math-block"> $$\Delta x = x(t+h) - x(t) = O(h).$$ </div> <p>So</p> <div class="math-block"> $$f(x(t+h)) - f(x(t)) = f'(x(t))\,O(h) + \frac{1}{2}f''(x(t))\,O(h^2) + \frac{1}{6}f^{(3)}(x(t))\,O(h^3) + \cdots$$ </div> <p>and dividing by $h$ gives</p> <div class="math-block"> $$\frac{f(x(t+h)) - f(x(t))}{h} = f'(x(t))\,O(1) + \frac{1}{2}f''(x(t))\,O(h) + \frac{1}{6}f^{(3)}(x(t))\,O(h^2) + \cdots$$ </div> <p>Hence as $h \to 0$, all terms beyond first order vanish.</p> <p>For Brownian motion, however,</p> <div class="math-block"> $$\Delta W = W_{t+h} - W_t = O(\sqrt{h}).$$ </div> <p>So</p> <div class="math-block"> $$f(W_{t+h}) - f(W_t) = f'(W_t)\Delta W + \frac{1}{2}f''(W_t)(\Delta W)^2 + \frac{1}{6}f^{(3)}(W_t)(\Delta W)^3 + \cdots$$ </div> <p>becomes</p> <div class="math-block"> $$f(W_{t+h}) - f(W_t) = f'(W_t)\,O(\sqrt{h}) + \frac{1}{2}f''(W_t)\,O(h) + \frac{1}{6}f^{(3)}(W_t)\,O(h^{3/2}) + \cdots$$ </div> <p>and dividing by $h$,</p> <div class="math-block"> $$\frac{f(W_{t+h}) - f(W_t)}{h} = f'(W_t)\,O\!\left(\frac{1}{\sqrt{h}}\right) + \frac{1}{2}f''(W_t)\,O(1) + \frac{1}{6}f^{(3)}(W_t)\,O(\sqrt{h}) + \cdots$$ </div> <p>Thus, the second-order term does not vanish, while the third-order and higher terms still do as $h \to 0$.</p> <p>Now, formally, the identity</p> <div class="math-block"> $$[W]_t = t$$ </div> <p>is written in differential form as</p> <div class="math-block"> $$(dW_t)^2 = dt.$$ </div> <p>This should not be understood as an ordinary algebraic identity. It is a compact way of recording the quadratic variation of Brownian motion.</p> <p>At the same formal level, one also writes</p> <div class="math-block"> $$dt\,dW_t = 0, \qquad (dt)^2 = 0,$$ </div> <p>because these terms are of smaller order and vanish in the limit.</p> <p>The discussion in this part of the appendix followed the standard treatment in Shreve (2004).</p> <h3>What $dW_t$ actually means</h3> <p>It is important to stress that $dW_t$ is not the differential of a differentiable function. Since $W_t$ has no classical derivative, we cannot write</p> <div class="math-block"> $$dW_t = W'(t)\,dt.$$ </div> <p>Instead, $dW_t$ is a formal notation for an infinitesimal Brownian increment.</p> <h3>Final interpretation</h3> <p>The central point is the following: Brownian motion is not made differentiable, nor is its non-differentiability somehow repaired. Instead, one replaces derivative-based calculus with a new theory based on increments and quadratic variation. The quadratic variation</p> <div class="math-block"> $$[W]_t = t$$ </div> <p>then determines the special rules of this calculus, including the formal identity</p> <div class="math-block"> $$(dW_t)^2 = dt.$$ </div> <!-- ═══════════════════════════════════════ --> <!-- APPENDIX C --> <!-- ═══════════════════════════════════════ --> <h2>Appendix C: Deriving the Dynamics of the Derivative Price via Itô's Lemma</h2> <p>In the main text, we stated that if the underlying stock price follows Geometric Brownian Motion,</p> <div class="math-block"> $$dS_t = \mu S_t dt + \sigma S_t dW_t, \tag{6}$$ </div> <p>and if the value of a derivative written on that stock can be expressed as a function of the stock price and time, $V = V(S,t)$, then the instantaneous change in the derivative's value is given by</p> <div class="math-block"> $$dV = \left(V_t + \mu S V_S + \frac{1}{2}\sigma^2 S^2 V_{SS}\right)dt + \sigma S V_S dW_t. \tag{7}$$ </div> <p>We now derive this result carefully using Itô's Lemma.</p> <p>Since $V = V(S,t)$ depends on both the stock price and time, we cannot differentiate it using ordinary calculus. The reason is that $S_t$ is a stochastic process, meaning it contains a random component through the Brownian motion term $dW_t$. In continuous-time stochastic models, the correct tool for expanding such a function is Itô's Lemma.</p> <p>For a function $V(S,t)$, Itô's Lemma states that</p> <div class="math-block"> $$dV = V_t\,dt + V_S\,dS + \frac{1}{2}V_{SS}(dS)^2. \tag{8}$$ </div> <p>Here, $V_t = \frac{\partial V}{\partial t}$ is the partial derivative of $V$ with respect to time, $V_S = \frac{\partial V}{\partial S}$ is the partial derivative with respect to the stock price, and $V_{SS} = \frac{\partial^2 V}{\partial S^2}$ is the second partial derivative with respect to the stock price.</p> <p>To proceed, we substitute the GBM expression for $dS$ into the formula above. Since</p> <div class="math-block"> $$dS = \mu S\,dt + \sigma S\,dW_t, \tag{9}$$ </div> <p>we have</p> <div class="math-block"> $$dV = V_t\,dt + V_S(\mu S\,dt + \sigma S\,dW_t) + \frac{1}{2}V_{SS}(dS)^2. \tag{10}$$ </div> <p>The only remaining task is to compute $(dS)^2$.</p> <p>Squaring the expression for $dS$ gives</p> <div class="math-block"> $$(dS)^2 = (\mu S\,dt + \sigma S\,dW_t)^2. \tag{11}$$ </div> <p>Expanding this expression yields</p> <div class="math-block"> $$(dS)^2 = \mu^2 S^2 (dt)^2 + 2\mu\sigma S^2\,dt\,dW_t + \sigma^2 S^2 (dW_t)^2. \tag{12}$$ </div> <p>At this point, we use the standard Itô multiplication rules:</p> <div class="math-block"> $$(dt)^2 = 0, \qquad dt\,dW_t = 0, \qquad (dW_t)^2 = dt. \tag{13}$$ </div> <p>Applying these rules, the first two terms vanish, while the final term becomes</p> <div class="math-block"> $$(dS)^2 = \sigma^2 S^2\,dt. \tag{14}$$ </div> <p>Substituting this back into the expression for $dV$ gives</p> <div class="math-block"> $$dV = V_t\,dt + V_S(\mu S\,dt + \sigma S\,dW_t) + \frac{1}{2}V_{SS}\sigma^2 S^2\,dt. \tag{15}$$ </div> <p>We now distribute the $V_S$ term:</p> <div class="math-block"> $$dV = V_t\,dt + \mu S V_S\,dt + \sigma S V_S\,dW_t + \frac{1}{2}\sigma^2 S^2 V_{SS}\,dt. \tag{16}$$ </div> <p>Finally, collecting the $dt$ terms and the $dW_t$ term produces</p> <div class="math-block"> $$dV = \left(V_t + \mu S V_S + \frac{1}{2}\sigma^2 S^2 V_{SS}\right)dt + \sigma S V_S\,dW_t. \tag{17}$$ </div> <p>This is exactly the expression used in the main text.</p> <p>The interpretation of this result is important. The derivative's instantaneous change in value consists of two components. The first is the deterministic part,</p> <div class="math-block"> $$\left(V_t + \mu S V_S + \frac{1}{2}\sigma^2 S^2 V_{SS}\right)dt, \tag{18}$$ </div> <p>which captures the predictable evolution of the derivative over an infinitesimal time interval. The second is the stochastic part,</p> <div class="math-block"> $$\sigma S V_S\,dW_t, \tag{19}$$ </div> <p>which captures the derivative's random exposure to the Brownian shock driving the stock price.</p> <p>This stochastic term is precisely the source of risk we eliminate when constructing the hedged portfolio.</p> <h3>References</h3> <p>[1] Steven E. Shreve, <em>Stochastic Calculus for Finance II: Continuous-Time Models</em>, Springer, New York, 2004.</p>