import numpy as np
import pandas as pd
import plotly.express as px
Theory
A Brownian process (or “random walk”) \(B_t\) is such that \[ \nabla B_t \sim \mathcal N(0, \sigma^2) \] If we exponentiate it, we get a geometric Brownian process, \(S_t\). In other words, \(S_t\) is such that \[ \nabla \ln(S_t) \sim \mathcal N(0, \sigma^2) \]
Synthetic Data and Visualization
= np.random.RandomState(seed=42) ran
= ran.normal(0, 0.1, 1000)
white_noise = pd.DataFrame(white_noise, columns=['white noise'])
df
'brownian process'] = df['white noise'].cumsum()
df[
'geometric brownian process'] = np.exp(df['brownian process']) df[
px.line(df)