The analytical solution to the Geometric Brownian Motion (GBM) SDE is given by
$ S_t = S_0 \exp( (\mu - \frac{\sigma^2}{2})t + \sigma W_t ) $
where $W_t$ is a Wiener process. One of the properties of a Wiener process $W_t$ is that
$ Var( W_{t+u} - W_t ) \sim \mathcal{N}(0, u) $
A simple implementation used here to generate realizations of the GBM uses
x = np.exp(
(mu - sigma ** 2 / 2) * dt
+ sigma * np.random.normal(0, np.sqrt(dt), size=(len(sigma), n)).T
)
That is, the $W_t$ component is sampled from $\mathcal{N}(0, \delta_t^2)$, where $\delta_t$ is a constant.
But under the above implementation, it seems to me that the variance is set to be fixed in time to be $\delta_t$ and doesn't satisfy the above property.
Am I missing something? For different realizations of GBM, how can you generate $W_t$ that satisfies the above condition?
Clarified. OP's confusion was that they though $\mathrm{V}(W_{t+dt} - W_t)$ depends on the running time $t$ rather than on the length of the time interval $dt$.