7
$\begingroup$

According to the following reference page

http://reference.wolfram.com/language/ref/ItoProcess.html

The driving process dproc can be any process that can be converted to a standard Ito process

and

Processes proc that can be converted to standard ItoProcess form include OrnsteinUhlenbeckProcess, GeometricBrownianMotionProcess, StratonovichProcess, and ItoProcess.

However, it does not seem to work in my example:

proc = ItoProcess[\[DifferentialD]x[
     t] == -x[t] \[DifferentialD]t + \[DifferentialD]w[t], 
  x[t], {x, 1}, t, 
  w \[Distributed] OrnsteinUhlenbeckProcess[0, 1, 1]]
RandomFunction[proc, {0., 5., 0.01}]
ListLinePlot[%, Filling -> Axis]

which resulted in the error:

RandomFunction::unsproc: The specification ItoProcess[[DifferentialD]x[t]==[DifferentialD]w[t]-[DifferentialD]t x[t],x[t],{x,1},t,w[Distributed]OrnsteinUhlenbeckProcess[0,1,1]] is not a random process recognized by the system.

Note that in defining the ItoProcess proc like above, w \[Distributed] WienerProcess[0,1] would work, but w \[Distributed] OrnsteinUhlenbeckProcess[0, 1, 1] does not.

$\endgroup$
2
  • $\begingroup$ As I understand it, the usage is like proc = ItoProcess[GeometricBrownianMotionProcess[0, 1, 1]] path = RandomFunction[proc, {0., 2. Pi, 0.05}, 12, Method -> "StochasticRungeKutta"] ListLinePlot[path] $\endgroup$ Mar 15, 2014 at 10:12
  • $\begingroup$ @belisarius This piece of code did not successfully result in a graph. Otherwise, my question concerns the driving. In the definition of the ItoProcess, w \[Distributed] WienerProcess[] works, but w \[Distributed] OrnsteinUhlenbeckProcess[0, 1, 1] does not. $\endgroup$
    – Tamas
    Mar 15, 2014 at 11:14

1 Answer 1

4
$\begingroup$

You need to complete the specification of the driving process by providing an initial condition :

SeedRandom[6]
proc = ItoProcess[\[DifferentialD]x[t] == -x[t] \[DifferentialD]t + 
                   \[DifferentialD]w[t], x[t], {x, 1}, t, 
                   w \[Distributed] OrnsteinUhlenbeckProcess[0, 1, 1, 0]]
RandomFunction[proc, {0., 5., 0.01}]
ListLinePlot[%, Filling -> Axis]

enter image description here

$\endgroup$
1
  • $\begingroup$ Thank you for your answer! Indeed I overlooked the issue with the initial condition. When one defines an equivalent to proc by a system of two SDE's (see the reference page of OrnsteinUhlenbeckProcess), the necessity of complete initial conditions is obvious. The resulting error message unfortunately was not helpful. $\endgroup$
    – Tamas
    Mar 16, 2014 at 9:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.