Brownian Motion and Geometric Growth

Univariate Stochastic Processes

Under market efficiency, financial prices should exhibit a random walk.

Eugene Fama is the big guy behind market efficiency. He was interviewed by the Financial Times (Open question: read the article) and shared the Nobel prize with Robert Shiller (Rational Exuberance). Fama came up with the efficient market hypothesis, which tells us that if people are seeking profits and you start trading that, putting millions in, the price will go up and it will become expensive. Any time there’s insight or information, that gets priced. A random walk means that it’s unpredictable what the next result will be. As soon as information comes in, everybody starts trading, the price goes up, maybe negative information the next day, and then price goes down. We will say that these returns are not correlated. How are market participants able to process and price information? Some people say that efficient markets are not possible for behavioral reasons. In our class, we will keep it on the iid assumption to keep it simple.

Week 4

Lecture Notes

Univariate Stochastic Processes (cont.)

Under the efficient market hypothesis, every new piece of information changes the price, which creates a random walk. This means you only care about the previous point because the price should encode all of the information up to that point, which is why it’s a Markov process. If we think about price jumps:

𝑃1=𝑃0(1+𝑅1)

𝑃2=𝑃1(1+𝑅2)

So the movement/change in that price only depends on the return. Our argument is that these returns are independent. We have this iid assumption so that returns are uncorrelated.

Markov property (weak):

ℙ(𝑆𝑇𝑎|𝑆𝑇−1,𝑆𝑇−2…)=ℙ(𝑆𝑇=𝑎|𝑆𝑇=1)

The next flip of a coin is independent of the previous flip.

On average these jumps will be positives, so we have a certain level of growth or expected return 𝜇. Our volatility 𝜎 is how much it goes differently from expected. We need to pay attention to our time period 𝑡. 𝜇 basically says that if we do these stochastic processes a million times, on average it goes to a certain point. Variance asks how much the process will be dispersed. Time asks where we’re modeling. Dispersion is generally larger with increased time, which is why options pricing makes options more expensive over long periods of time.

We will look at three different distributions:

Brownian Motion

𝑍𝑡: This is a natural phenomenon. The best biologist is a chemist, the best chemist is a physicist, the best physicist is a mathematician. Also known as Weiner process.

It might go up and down, but it only goes one way.

This has three different properties.

We are reviewing probability and statistics, since we are looking at quantitative analysis.

We have a process that starts at time 0, with value starting at 0.

The very important property is that the process has a Gaussian distribution:

𝑍𝑡𝑁(0,𝑡)

Its variance depends on time (think quadratic variation).

Let’s think about simulations. We’re sampling from the normal distribution.

In Excel, we have the function =NORM.INV(RAND(), 0, 1) which generates the next number.

What is the value of 𝑍2 now that we have observed 𝑍1 i.e. 𝑍2|𝑍1? The increments are independent and also follow a normal distribution:

Δ𝑍=𝑍𝑡−𝑍𝑠𝑁(0,𝑡−𝑠)

In order to generate 𝑍2, I need to think about the value of 𝑍1.

𝑍2|𝑍1=𝑍1+Δ𝑍2

where 𝑍1 is a constant and 𝑍2 is a random variable.

We can generate this by simulation to find the properties of the distribution. Eventually you get

𝑍𝑑100=𝑍0+∑𝑖=0𝑑−1Δ𝑍𝑖100

We can generate this into the distribution if we assume returns are iid as variance of summations:

𝑍𝑑100∼𝑁(0,𝑑⋅0.01)

There should be an Excel spreadsheet related to Brownian motion:

FE_535_Session_02_games_SBM_sim

If we look at the expectation of the values here, this is a simulation of the terminal point of the Brownian path. We created this over smaller increments. I want to validate that this is in fact normal 𝑁(0,1). We have a “large” simulation so according to the LLN the average should converge to 0. This is a validation of the two moments if we see −0.006788 and 0.985446m, then it’s close enough. If we look in aggregate from a distributional point of view, how do these prices look?

In R, you use the functions rnorm for a randomly generated normal distribution, and dnorm for a true normal distribution. If we lay them on each other, we can see that they are very similar for larger numbers of rnorm.

This gives a good tool to understand pricing.

General Brownian Motion

When we talk about normal distribution, there’s only single probabilities within a standard. There are infinite tables that depend on 𝜇 and 𝜎. When we model this, we add two degrees of freedom. One is how the process is changing over time. I start at point 𝑋0, but what it actually implies is that we have some expected increase like in real stocks. That number depends on the 𝜇. We could imagine a casino where 𝜇 is negative. The other question is how volatile this is, which is 𝜎. This is the generalized process:

𝑋𝑡+Δ𝑡−𝑋𝑡=Δ𝑋𝑡=𝜇Δ𝑡+𝜎Δ𝑍𝑡

where Δ𝑋𝑡∼𝑁(𝜇Δ𝑡,𝜎2Δ𝑡)

If we simulate this process over multiple periods instead of just using Δ𝑡, we get this.

𝑋𝑡∼𝑁(𝑋0+𝜇⋅𝑡,𝜎2𝑡)

The problem with the previous BM is that prices could take negative values. But actually stock prices cannot go negative. If you have a limited liability company, the equity value cannot go negative. Whoever owns those stocks is not responsible for e.g. the debts of the company.

You can also think about it as a percentage change, which cannot go to 0 just by multiplication.

Whatever assets you invested in, I lose only what I put in. I don’t care that much if the company goes bankrupt, the only thing that happens is that I lose the money I invested.

If we take this process with the random variable in the same way as with regular Brownian motion, we can see

𝑋𝑡=𝑋0+∑Δ𝑋=𝑋0+∑𝑖=1100𝜇⋅0.01+𝜎⋅Δ𝑍𝑖=𝑋0+𝜇⋅0.01⋅100+𝜎⋅∑𝑖=1100Δ𝑍𝑖

Why am I wasting your time with this? If we go back to the initial notation, this 0.01 is the Δ𝑡, 𝑁 is 100, and our 𝑡 is Δ𝑡⋅𝑁. For calculating 𝑍𝑖, we cancel out all the deltas in between and get 𝑍100−𝑍0. By construction 𝑍0=0, so this is 𝑍100.

Now we have a solution for the process.

If I know what 𝑍𝑡 is going to be, that matrix, then I know what 𝑋𝑡 is going to be. This is also related to geometric Brownian motion. If we’re able to create 𝑍𝑡, we’re done.

𝐶𝑢𝑒𝑚𝑒𝑐𝑜𝑢𝑔ℎ𝑖𝑛𝑔𝑓𝑜𝑟𝑡𝑒𝑛𝑚𝑖𝑛𝑢𝑡𝑒𝑠
Lab

We have our sheet X_general_bm.

The variance of half year through is 50%.

𝕍[𝑍𝑡]=𝑡

𝔼[𝑋𝑡]=

The simulated value basically tells you, you can go on and pick up the time of 50 which is half year from now, then take the average of that, take the variance of that, that will give you a proxy for the moments you actually want to calculate. Then you need to do this for six months then 1 year.

We have reference points of True Value that simulated value should resemble.

Let’s take the solution that

𝑆𝑇=𝑆0𝑒𝑅𝑡,𝑅𝑇∼𝑁((𝜇−𝜎22)𝑇,𝜎2𝑇)

T always refers to years for simplicity.

We can all relate to annual numbers.

If T was equal to days, then the parameters should represent that.

We need to find the expectation of 𝑆𝑇

𝑆0 is a constant

𝔼[𝑆𝑇]=𝑆0𝔼[𝑒𝑅𝑇]

How do we get there analytically? By simulation we got a hint that it is the correct answer.

Wikipedia tells us the expected value of the log normal distribution, which our returns are.

𝑒𝜇𝑋+𝜎𝑋22

If we plug it in, we get

𝔼[𝑆𝑇]=𝑆0𝑒𝜇𝑋+𝜎𝑋22

then when we simplify after ignoring volatility we get

=𝑆0𝑒𝜇𝑇

You can repeat this process for variance, where pulling out the constant has to square it

𝕍[𝑆𝑇]=𝑆02𝕍[𝑒𝑅𝑇]

plug in wikipedia log normal variance for returns =𝑆02[𝑒𝜎𝑋2−1][𝑒2𝜇𝑋+𝜎𝑋2]

=𝑓(𝑆0,𝜇,𝜎,𝑇)

Geometric Brownian Motion

The most common process to simulate stock prices is the Geometric Brownian Motion (GBM).

Δ𝑆𝑡=𝑆𝑡𝜇Δ𝑡+𝑆𝑡𝜎Δ𝑍𝑡

By design we know by the motion itself that

𝑑𝑙𝑜𝑔(𝑆0)=𝜇𝑑𝑡

In the other example we aggregated. How do you aggregate continuously? The integral, which is

log(𝑆𝑇)−log(𝑆0)=𝜇⋅𝑇

log(𝑆𝑇𝑆0)=𝜇⋅𝑇

𝑆𝑇=𝑆0𝑒𝜇⋅𝑇

This is an ordinary differential equation (only one dimension, time)

We have a constant process which evolves with respect to time.

The distribution would be skewed upwards because this cannot take negative values.

We need to use something called Ito’s Lemma, which gives us the nice solution that

log(𝑆𝑡+Δ𝑡𝑆𝑡)=(𝜇−𝜎22)Δ𝑡+𝜎Δ𝑍𝑡

which is equation 4.6 from the textbook.

If you take the 𝜎 out with nothing stochastic, you end up with the ODE solution.

The point of the solution is to simulate the price at time 𝑡+Δ𝑡, aka returns over time 𝑅𝑇.

The log-normal distribution tells us that if a random variable is log-normally distributed, then the natural log of the random variable has the normal distribution.

Excel formula for variance of geometric Brownian motion: =C8^2*EXP(2*C4*C3)*(EXP(C5^2*C3)-1).

Proposed simulation code:

=B2*EXP(NORMINV(RAND(), (Inputs!$C$4-Inputs!$C$5/2)*Inputs!$C$3, Inputs!$C$5*SQRT(Inputs!$C$3)))