brownianMotion method
Generates Brownian motion (geometric random walk).
Implementation
List<double> brownianMotion(
int steps, {
double start = 100,
double mu = 0.0001,
double sigma = 0.02,
double dt = 1,
}) {
final values = <double>[start];
for (int i = 1; i < steps; i++) {
final drift = (mu - 0.5 * sigma * sigma) * dt;
final diffusion = sigma * math.sqrt(dt) * normal(0, 1);
values.add(values.last * math.exp(drift + diffusion));
}
return values;
}