{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $W$ be a one-dimensional [[Wiener process|22735FGJV6]].\nConsider the scalar Itô [[stochastic differential equation|B219G9SHJA]]\n$$dX_t = a(X_t)\\, dt + b(X_t)\\, dW_t, \\qquad X_0 = x_0 \\in \\R, \\qquad 0 \\le t \\le T.$$\nAssume, as for the [[Milstein method|C5WJT0NWGV]], that $a$ and $b$ are twice continuously differentiable with bounded first and second derivatives.\nAssume also that $b b'$ is globally Lipschitz continuous.\nLet $h = T/N$, $t_n = n h$ and $\\Delta W_n = W_{t_{n+1}} - W_{t_n}$.\nThe derivative-free scheme of strong order $1$ sets $Y_0 = x_0$,\n$$\\Upsilon_n = Y_n + a(Y_n)\\, h + b(Y_n) \\sqrt{h},$$\n$$Y_{n+1} = Y_n + a(Y_n)\\, h + b(Y_n)\\, \\Delta W_n + \\frac{b(\\Upsilon_n) - b(Y_n)}{2 \\sqrt{h}} \\left( (\\Delta W_n)^2 - h \\right).$$\nThen there is a constant $C$, independent of $N$, such that\n$$\\max_{0 \\le n \\le N} \\left( \\mathbb{E} \\abs{X_{t_n} - Y_n}^2 \\right)^{1/2} \\le C h.$$\n\n## Remarks\n\nBy Taylor's theorem, $\\frac{b(\\Upsilon_n) - b(Y_n)}{\\sqrt{h}} = b'(Y_n)\\, b(Y_n) + O(\\sqrt{h})$.\nSo the scheme differs from the Milstein scheme by a term of size $O(\\sqrt{h}) \\cdot O(h)$ with mean zero, and it keeps the strong order $1$.\nAs in deterministic [[Runge–Kutta methods|7DBPJKYC6C]], extra evaluations of a coefficient replace its derivative.\nA naive transfer of a deterministic Runge–Kutta method to the stochastic case does not in general give a convergent or high-order scheme, because Itô calculus changes the order conditions.\nExample: for $dX = \\sigma X\\, dW$, one has $\\Upsilon_n = Y_n (1 + \\sigma \\sqrt{h})$, and the correction term equals $\\frac{\\sigma^2}{2} Y_n ((\\Delta W_n)^2 - h)$, exactly the Milstein term.\n\n## Explanations\n\n### L1 human\n\nThe Milstein method for random differential equations needs the derivative of the noise coefficient.\nThis scheme avoids the derivative: it evaluates the coefficient at a second, slightly shifted point and uses the difference.\nIt keeps the accuracy of Milstein's method, so halving the step roughly halves the pathwise error.\n\n### L2 human\n\nStochastic Runge–Kutta methods are built to match the Itô–Taylor expansion up to a given order, the way deterministic ones match the Taylor expansion.\nTheir order conditions are described with rooted trees, as for deterministic methods, but with several kinds of nodes for the drift and the noise.\nFor several noise sources, strong order $1$ again needs iterated integrals or a commutativity condition on the noise coefficients.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "B219G9SHJA"
    ],
    "kind": "statement",
    "msc": [
      "65C30",
      "60H35"
    ],
    "name": "Runge–Kutta method for stochastic differential equations",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_method_(SDE)"
      }
    ],
    "tag": "J8ET1M5V10",
    "uses": [
      "B219G9SHJA",
      "22735FGJV6",
      "C5WJT0NWGV",
      "7DBPJKYC6C"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/J8ET1M5V10/",
  "links": [
    {
      "field": "about",
      "target": "B219G9SHJA"
    },
    {
      "field": "uses",
      "target": "B219G9SHJA"
    },
    {
      "field": "uses",
      "target": "22735FGJV6"
    },
    {
      "field": "uses",
      "target": "C5WJT0NWGV"
    },
    {
      "field": "uses",
      "target": "7DBPJKYC6C"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/J8ET1M5V10.md",
  "msc": [
    "65C30",
    "60H35"
  ],
  "name": "Runge–Kutta method for stochastic differential equations",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/J8E/J8ET1M5V10.md",
  "status": null,
  "tag": "J8ET1M5V10",
  "uri": "m2://J8ET1M5V10",
  "url": "https://tamnd.github.io/math2/wiki/runge-kutta-method-for-stochastic-differential-equations/",
  "writing": {
    "tag": "J8ET1M5V10",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
