2

I am trying to create an ItoProcess from the following system of SDEs:

$\begin{bmatrix} \mathrm d x\\\mathrm d y\end{bmatrix} = \begin{bmatrix} 0 & 1\\ 0 & \theta\end{bmatrix} \begin{bmatrix} x\\ y\end{bmatrix} + \begin{bmatrix} \mathrm 0 \\\sigma\end{bmatrix}\mathrm d W(t)$

Looking at the documentation, I do not see how I could accomplish that. Is it possible to do in Mathematica? If so, how?

em70
  • 340
  • 1
  • 7
  • @b.gatessucks Yes, but it seems like you can only specify drift coefficients, whereas here the drift of x depends on the value of y. Even under common specifications, the drift is always a vector, which makes me wonder if Mathematica supports my case. If it does and you can provide an example, the answer points are all yours :)) – em70 Sep 04 '14 at 13:24

1 Answers1

4

If I understand your question :

proc = ItoProcess[
   {\[DifferentialD]x[t] == y[t] \[DifferentialD]t, 
    \[DifferentialD]y[t] == θ y[t] \[DifferentialD]t + σ \[DifferentialD]w[t]}, 
   {x[t], y[t]}, {{x, y}, {x0, y0}}, {t, 0}, w \[Distributed] WienerProcess[]];

Which you can use as :

Mean[proc[t]]
(* {((-1 + E^(t θ)) y0 + x0 θ)/θ, E^(t θ) y0} *)

Variance[proc[t]]
(* {((3 - 4 E^(t θ) + E^(2 t θ) + 
2 t θ) σ^2)/(2 θ^3), ((-1 + E^(2 t θ)) σ^2)/(2 θ)} *)
b.gates.you.know.what
  • 20,103
  • 2
  • 43
  • 84