function genGBM(mu, sigma, T, dt, S0) {
const N = Math.floor(T / dt);
const dW = Array(N)
.fill(0)
.map(() => Math.sqrt(dt) * d3.randomNormal(0, 1)());
const S = Array(N).fill(0);
S[0] = S0
for (let i = 1; i < S.length; ++i) {
S[i] = S[i - 1] * Math.exp((mu -(sigma ** 2) / 2) * dt + sigma * dW[i - 1])
}
return S;
}