Stochastic processes

Wiener proces

Stock proces

Wiener process

An intuitive way of understanding a Wiener process is seeing it as a limit of random walk. From wikipedia:

Let be i.i.d. random variables with mean 0 and variance 1. For each n, define a continuous time stochastic process:

This is a random step function. Increments are independent because the are independent. For large n, is close to by the central limit theorem. Donsker's theorem proved that as , approaches a Wiener process, which explains the ubiquity of Brownian.

And also from wikipedia, a Wiener process has to follow below properties:

  • a.s.
  • has independent increments: for every the future increments , are independent of the past values
  • has Gaussian increments: is normally distributed with mean and variance ,
  • has continuous paths: With probability , is continuous in .

So, with all this properties and as is stated at Hull's Options, Futures, and Other Derivatives we can say that a variable follows a Wiener process if:

  • The change during a small period of time is: where has a normal distribution of . So will have a mean of and a variance of .
  • The values of for any two different short intervals of time, , are independent.

It can be seen here that for a variable that can take values and with probability of each, the random variable (random walk) will have a distribution. So, for a period of time if we take with and for small N, then:

  • Mean of
  • Standard deviation of

A generilized Wiener process in terms of is one of the form:

Taking a look to the two terms separately we see that integrating we get that which basically gives a drift to the process, for each unit of time the process increases .

Being the aforementioned variabe, the term can be seen as adding variance to the process having now:

  • Mean of
  • Standard deviation of

Discretizing the process and with a small we can now plot a sample of one possible path of the process, lets say and . Where the red line shows the drift, the green one the wiener process and the blue one the generalized wiener process (drift added);

generalized_wiener_process.py

import numpy as np
import matplotlib.pyplot as plt

T = 10
n = 1000
dT = T / n
a = 0.05
b = 20


def randomwalk(n, dT, b):
    normal_values = np.random.normal(0, b * dT ** (1 / 2), n)
    walk = np.cumsum(normal_values)
    return walk


particularWalk = randomwalk(n, dT, b)
drift = np.cumsum(np.full(n, a))

plt.plot(np.arange(n), particularWalk, color='green')
plt.plot(np.arange(n), particularWalk + drift, color='royalblue')

x = np.arange(n)

plt.plot(x, drift, linewidth=1, color='red')

plt.grid()
plt.show()

Stock process

A stock though does not follow a Wiener process, there are two aspects the process has to take into account:

  • The drift has to be proportional to the stock price as you will expect same return independently of the current price, so
  • The variance (or uncertainty) affecting the stock has also to be proportional to the stock price, so

We know now that a stock price has to follow the mentioned process, so a solution to this SDE will be a good model for the stock.

Using Ito's lemma we can solve the SDE applying a well defined function to the process, and to do so we will use the natural logarithm of .

Which leads to solution:

And this is always positive. Furthermore, this tells us that:

Which also "approximately" models the stock return as normal (see this )