# Runge–Kutta method (SDE)

In mathematics of stochastic systems, the Runge–Kutta method is a technique for the approximate numerical solution of a stochastic differential equation. It is a generalisation of the Runge–Kutta method for ordinary differential equations to stochastic differential equations (SDEs). Importantly, the method does not involve knowing derivatives of the coefficient functions in the SDEs.

## Most basic scheme

Consider the Itō diffusion ${\displaystyle X}$ satisfying the following Itō stochastic differential equation

${\displaystyle {{d}X_{t}}=a(X_{t})\,{d}t+b(X_{t})\,{d}W_{t},}$

with initial condition ${\displaystyle X_{0}=x_{0}}$, where ${\displaystyle W_{t}}$ stands for the Wiener process, and suppose that we wish to solve this SDE on some interval of time ${\displaystyle [0,T]}$. Then the basic Runge–Kutta approximation to the true solution ${\displaystyle X}$ is the Markov chain ${\displaystyle Y}$ defined as follows:[1]

• partition the interval ${\displaystyle [0,T]}$ into ${\displaystyle N}$ subintervals of width ${\displaystyle \delta =T/N>0}$:
${\displaystyle 0=\tau _{0}<\tau _{1}<\dots <\tau _{N}=T;}$
• set ${\displaystyle Y_{0}:=x_{0}}$;
• recursively compute ${\displaystyle Y_{n}}$ for ${\displaystyle 1\leq n\leq N}$ by
${\displaystyle Y_{n+1}:=Y_{n}+a(Y_{n})\delta +b(Y_{n})\Delta W_{n}+{\frac {1}{2}}\left(b({\hat {\Upsilon }}_{n})-b(Y_{n})\right)\left((\Delta W_{n})^{2}-\delta \right)\delta ^{-1/2},}$

where ${\displaystyle \Delta W_{n}=W_{\tau _{n+1}}-W_{\tau _{n}}}$ and ${\displaystyle {\hat {\Upsilon }}_{n}=Y_{n}+a(Y_{n})\delta +b(Y_{n})\delta ^{1/2}.}$ The random variables ${\displaystyle \Delta W_{n}}$ are independent and identically distributed normal random variables with expected value zero and variance ${\displaystyle \delta }$.

This scheme has strong order 1, meaning that the approximation error of the actual solution at a fixed time scales with the time step ${\displaystyle \delta }$. It has also weak order 1, meaning that the error on the statistics of the solution scales with the time step ${\displaystyle \delta }$. See the references for complete and exact statements.

The functions ${\displaystyle a}$ and ${\displaystyle b}$ can be time-varying without any complication. The method can be generalized to the case of several coupled equations; the principle is the same but the equations become longer.

## Variation of the Improved Euler is flexible

A newer Runge—Kutta scheme also of strong order 1 straightforwardly reduces to the Improved Euler scheme for deterministic ODEs. [2] Consider the vector stochastic process ${\displaystyle {\vec {X}}(t)\in \mathbb {R} ^{n}}$ that satisfies the general Ito SDE

${\displaystyle d{\vec {X}}={\vec {a}}(t,{\vec {X}})\,dt+{\vec {b}}(t,{\vec {X}})\,dW,}$

where drift ${\displaystyle {\vec {a}}}$ and volatility ${\displaystyle {\vec {b}}}$ are sufficiently smooth functions of their arguments. Given time step ${\displaystyle h}$, and given the value ${\displaystyle {\vec {X}}(t_{k})={\vec {X}}_{k}}$, estimate ${\displaystyle {\vec {X}}(t_{k+1})}$ by ${\displaystyle {\vec {X}}_{k+1}}$ for time ${\displaystyle t_{k+1}=t_{k}+h}$ via

${\displaystyle {\begin{array}{rl}&{\vec {K}}_{1}=h{\vec {a}}(t_{k},{\vec {X}}_{k})+(\Delta W_{k}-S_{k}{\sqrt {h}}){\vec {b}}(t_{k},{\vec {X}}_{k}),\\&{\vec {K}}_{2}=h{\vec {a}}(t_{k+1},{\vec {X}}_{k}+{\vec {K}}_{1})+(\Delta W_{k}+S_{k}{\sqrt {h}}){\vec {b}}(t_{k+1},{\vec {X}}_{k}+{\vec {K}}_{1}),\\&{\vec {X}}_{k+1}={\vec {X}}_{k}+{\frac {1}{2}}({\vec {K}}_{1}+{\vec {K}}_{2}),\end{array}}}$
• where ${\displaystyle \Delta W_{k}={\sqrt {h}}Z_{k}}$ for normal random ${\displaystyle Z_{k}\sim N(0,1)}$;
• and where ${\displaystyle S_{k}=\pm 1}$, each alternative chosen with probability ${\displaystyle 1/2}$.

The above describes only one time step. Repeat this time step ${\displaystyle (t_{m}-t_{0})/h}$ times in order to integrate the SDE from time ${\displaystyle t=t_{0}}$ to ${\displaystyle t=t_{m}}$.

The scheme integrates Stratonovich SDEs to ${\displaystyle O(h)}$ provided one sets ${\displaystyle S_{k}=0}$ throughout (instead of choosing ${\displaystyle \pm 1}$).

## Higher order Runge-Kutta schemes

Higher-order schemes also exist, but become increasingly complex. Rößler developed many schemes for Ito SDEs[3] [4], whereas Komori developed schemes for Stratonovich SDEs [5] [6] [7].

## References

1. ^ P. E. Kloeden and E. Platen. Numerical solution of stochastic differential equations, volume 23 of Applications of Mathematics. Springer--Verlag, 1992.
2. ^ A. J. Roberts. Modify the improved Euler scheme to integrate stochastic differential equations. [1], Oct 2012.
3. ^ Rößler, A. (2009). "Second Order Runge–Kutta Methods for Itô Stochastic Differential Equations". SIAM Journal on Numerical Analysis. 47 (3): 1713. doi:10.1137/060673308.
4. ^ Rößler, A. (2010). "Runge–Kutta Methods for the Strong Approximation of Solutions of Stochastic Differential Equations". SIAM Journal on Numerical Analysis. 48 (3): 922. doi:10.1137/09076636X.
5. ^ Komori, Y. (2007). "Multi-colored rooted tree analysis of the weak order conditions of a stochastic Runge–Kutta family". Applied Numerical Mathematics. 57 (2): 147. doi:10.1016/j.apnum.2006.02.002.
6. ^ Komori, Y. (2007). "Weak order stochastic Runge–Kutta methods for commutative stochastic differential equations". Journal of Computational and Applied Mathematics. 203: 57. doi:10.1016/j.cam.2006.03.010.
7. ^ Komori, Y. (2007). "Weak second-order stochastic Runge–Kutta methods for non-commutative stochastic differential equations". Journal of Computational and Applied Mathematics. 206: 158. doi:10.1016/j.cam.2006.06.006.