The aim of this post is to show how **Donsker’s Theorem** (also known as **Donsker’s Invariance Principle**, or the **F****unctional Central Limit Theorem**) allows us to simulate paths of the one-dimensional **standard Brownian Motion** using **different** kinds of **random walks**.

### 1. Key Concepts

**Random Walk – Definition. **Let be a sequence of real-valued independent an identically distributed (i.i.d.) random variables defined on a probability space . Then, the stochastic process , defined as , and

,

is called **random walk**, or more precisely one-dimensional random walked based on .

**Donsker’s Theorem – **Let be a sequence of real-valued independent an identically distributed (i.i.d.) random variables defined on a probability space such that , and . Moreover, let be the one-dimensional random walked based on and define as , and

Then, converges weakly to as , where denotes the one-dimensional standard Brownian motion.

### 2. Some Observations

**(1)** In order to understand better this result note that for a given we have

- For all such that is an integer, is simply

$W^{n}(t) = \frac{1}{\sqrt{n}} S_{nt}$.

This will be true for all those which are in the interval , i.e.

.

- For all other there is a unique integer such that . Then

which can be rewritten as

This means that for these points the process is simply the linear interpolation between and . As we will see below, this observations makes the simulation (and visualisation) pretty straightforward.

**(2)** As we mentioned, Donsker’s Theorem is called **invariance principle. **This is because it tells us that the limiting distribution of the process does not depend on the distribution of individual random variables as long as they have zero mean and variance one.

**(3)** There are several generalisations of this result. The simplest one is to consider random variables with finite mean and variance, i.e. , and .

### 3. Visualisation

Now, let’s take a look at the construction of the process for a given . Following observation (1) we just need to:

**Step 1.** Simulate a sample of a sequence of random variables which satisfy the assumptions of Donsker’s Theorem (namely i.i.d with zero mean and variance one) and plot the corresponding random walk, i.e. plot the points

and join them by lines to show the linear interpolation.

**Step 2.** Scale the vertical axis by . That is, plot the points

and join the points by lines to show the linear interpolation.

**Step 3.** Finally, scale the horizontal axis by . That is, we plot the points

and join them by lines to show the linear interpolation.

By Donsker’s Theorem we can say that for large enough, our final plot will be a good approximation of a path of the standard Brownian motion on the interval . Let’s visualise how our approximation looks as grows from to .

The following Python notebook illustrates these steps using random walks based on sequences with different common distributions.

https://gist.github.com/quantgirluk/22d8d236e302774c903ce07bea37ad48.js

If you wan to find more information about this topic, I suggest:

- A review of basic Functional Central Limit Theorems (FCLTs) paper published in 2016 by Professor Ward Whitt.

- Donsker Theorem for Diffusions: Necessary and Sufficient Conditions paper published in 2005 by Van de Vaart and Harry Van Zanten.