Numerical Solution of SDEs I want to find a sample path of the following  stochastic process:
$$dx(t)=f(x(t))dt+g(x(t))dB(t)$$
where $B$ is the Brownian motion. Let $x_0$ be an initial condition. Can I discrete the process as follows
$$X_{n+1}-X_{n}=f(x(t_n))\Delta T+g(x(t_n))W(t_n)\Delta T$$
where  $W(t_n)$ is a Gaussian process. If this method gives an approximate sample path, how can I select the variance of the Gaussian process.
Is there any good numerical solution of the process.
 A: You have $\mathbf E[dB(t)]=0$ and $\mathbf V[dB(t)]=dt$. Use $\mathbf E[W_{n+1}-W_n]=0$ and $\mathbf V[W_{n+1}-W_n]=t_{n+1}-t_n=\Delta t$.
Assume you already simulated to time step $n$ then
$$
X_{n+1}-x_n=f(x_n)\Delta t+N_n(0,1)g(x_n)\sqrt{\Delta t}.\tag{1}
$$
where $N_n(0,1)$ is normal distributed and a simulation for step $n$ to $n+1$.
A: Yes, what you did is generally called the Euler-Maruyama method and has $0.5$ as order of convergence. You can increase that order to 1 by using the Milshtein method which adds a correction term for the deviation of the Brownian motion from a simple random walk
$$
X_{n+1}-X_{n}=f(X_n)ΔT+g(X_n)ΔB_n+\frac12 g'(X_n)g(X_n)((ΔB_n)^2-ΔT)
$$
where $ΔB_n\sim N(0,ΔT)=N(0,1)\sqrt{ΔT}$.
You can also implement the Milshtein method derivative-free via a two-stage process similar to Heun's method
\begin{alignat}{1}
K_1&=f(X_n)&ΔT&+g(X_n)&(ΔB_n-S_n\sqrt{ΔT})\\
K_2&=f(X_n+K_1)&ΔT&+g(X_n+K_1)&(ΔB_n+S_n\sqrt{ΔT})
\\[1em]\hline
X_{n+1}&=X_n+\frac12(K_1&+K_2)
\end{alignat}
with additionally $S_n=\pm1$ randomly with probability $0.5$.
