jump to main content

Brownian Motion as a Symmetric Random Walk Limit

Attention Conservation Notice

The 1st post in a series of 5 in which the Black-Scholes-Merton Model for pricing European put and call options is derived. This follows Stephen Blyth's Excellent Book An Introduction to Quantitative Finance closely, with embellishment using python and some additional notes. This is probably:

  • not very helpful if you pragmatically want to price an option
  • overwhelming if you don't like math
  • may miss some of the contexts you'd want if you have a lot of mathematical maturity

A Symmetric Random Walk

Let \(\xi_i\) be IID and equal to \(\pm 1\) with probability 1/2 and consider the symmetric random walk:

\(\Sigma_{i=1}^N \xi_i\)

We can play with this using python:

import numpy as np from cytoolz import curry, compose, accumulate, take from operator import add

ξ = curry(compose(lambda v: -1 if v == 0 else v, np.random.binomial), 1, 0.5)


stonk_moves = [0] + [ξ() for _ in range(1000)]

cumulative_moves = list(accumulate(add, stonk_moves))

cumulative_sample = list(take(5, cumulative_moves))

print(f""" Sample of Cumulative Values:\t\t{cumulative_sample} Mean:\t\t\t\t\t\t\t\t{round(np.mean(stonk_moves), 0)} Variance:\t\t\t\t\t\t\t{round(np.var(stonk_moves), 0)} """)

We can visualize the above output to make some convincing fake asset value charts:

The RNG in this run was quite favorable

The Central Limit Theorem

Lindeberg-Levy Central Limit Theorem

Suppose \(\{X_1, ..., X_n, ...\}\) is a sequence of IID random variables with \(\mathbb{E}[X_i] = \mu\) and \(\mathrm{Var}(X_i) = \sigma^2 < \infty\). Then, as \(n\) approaches \(\infty\), the random variables \(\sqrt{n}(\bar{X_n} - \mu)\) converge in distribution to a normal \(\mathcal{N}(0, \sigma^2)\).

In other words:

\(\lim\limits_{n \to \infty} \sqrt{n}(\bar{X_n} - \mu) \to \mathcal{N}(0, \sigma^2)\)

The usefulness of this theorem is that the distribution \(\sqrt{n}(\bar{X_n} - \mu)\) approaches normality regardless of the shape of the distribution of the individual \(X_i\).

You can see a proof on wikipedia using characteristic functions and Lévy's continuity theorem.

Applying CLT to our Random Walks \(\xi_i\)

We have this sequence of random walks \(\{\xi_1, ..., \xi_n, ...\}\) that are IID with \(\mathbb{E}[\xi_i] = \frac{1}{2} \cdot 1 + \frac{1}{2} \cdot -1 = 0\) and with variance \(\mathrm{Var}(\xi_i) = \frac{1}{n}\Sigma_{i = 1}^n (x_i - \mu)^2 = \frac{1}{n}\Sigma_{i = 1}^n (x_i - \frac{1}{n} \Sigma_{i = 1}^n x_i)^2 = \frac{1}{2} ((1 - 0)^2 + (-1 - 0)^2) = 1 < \infty\).

where \(x_i\) has probability \(p(x_i) = \frac{1}{2}\) \(\forall x \in \xi\).

Then as \(n \to \infty\), \(\sqrt{n} (\bar{\xi_i} - 0) = \sqrt{n} \bar{\xi_i} \to \mathcal{N}(0, \sigma^2) = \mathcal{N}(0, 1)\).

By the central limit theorem, we can get the average of our sequence of random walks:

\(W_n = \frac{1}{n} \Sigma_{i = 1}^n \sqrt{n} \xi_i = \Sigma_{i = 1}^n \frac{1}{\sqrt{n}} \xi_i \to W\) as \(n \to \infty\), where \(W \sim \mathcal{N}(0, 1)\)

This was also verified programmatically where we looked at the mean and variance in the above programming prompt:

np.mean(stonk_moves)  # 0
np.var(stonk_moves)   # 1

Time \(\to\) Brownian Motion

For fixed \(t>0\), we can define:

\(W_{n,t} = \Sigma_{i = 1}^{[nt]} \frac{1}{\sqrt{n}} \xi_i = \sqrt{t}\Sigma_{i=1}^{[nt]}\frac{1}{\sqrt{nt}}\xi_i\)

where \([nt]\) is the closest integer to \(nt\). Then

\(W_{n, t} \to W_t \sim \mathcal{N}(0, t)\) as \(n \to \infty\)

We can see this translation from time to variance at work by plotting a sample from \(\sqrt{t}\Sigma_{i=1}^{[nt]}\frac{1}{\sqrt{nt}}\xi_i\) (in purple) against a sample from \(\mathcal{N}(0, t)\) (in green):

We see a bit more separation of the purple values because of the rounding effect in the \([nt]\) term in the "rug plot" portion above.

The limit \(W_t\) as \(t \to 0\), the continuous-time limit of a symmetric random walk, is called Brownian Motion or a Wiener Process.

In 2 dimensions, it looks like the stock plot at the beginning of this post. It looks even neater in 3 dimensions:

Discrete Intuition

Intuitively, we can understand Brownian motion as the limit of the symmetric random walk with ever smaller time steps. Equivalently, we can think of it as a process with independent normal increments, since for any \(t, \Delta t > 0\)

\(W_{t + \Delta t} - W_t \sim \mathcal{N}(0, \Delta t)\)

Stay Tuned

In the next post, we will use what we have built up to here to start looking at Stochastic Differential Equations and Geometric Brownian Motion

Extra Notes

Properties of Brownian Motion

a. \(W_0 = 0\)

b. For all \(t \leq s\), \(W_s - W_t \sim \mathcal{N}(0, s - t)\)

c. For all \(t \leq s\), \(W_s - W_t\) is independent of \(W_t\)

d. Brownian Motion is a Martingale since \(\mathbb{E}(W_s | W_t) = \mathbb{E}((W_s - W_t) + W_t | W_t) = \mathbb{E}(W_s - W_t | W_t) + W_t = W_t\)


There are many proofs of the Central Limit Theorem on wikipedia. Now that we've hit the end of the post and know that Brownian motion is a martingale it's also worth looking at the Martingale Central Limit Theorem

There is a proof of Levy's Continuity Theorem in David William's Probability with Martingales section 18.1

Brownian Motion is also called a Wiener Process. Norbert Wiener is worth reading about. One of his (many) lasting marks on society was the origination of cybernetics, a field that considers feedback mechanisms and causality in complex systems. He wrote some books on the topic, including the famous The Human Use of Human Beings.

Here is a blurb from the wiki:

society can only be understood through a study of the messages and the communication facilities which belong to it; and that in the future development of these messages and communication facilities, messages between man and machines, between machines and man, and between machine and machine, are destined to play an ever-increasing part.


▽ Comments