I would like to use ItoProcess to simulate some paths of $r(t)$, a process that follows the sde $$d\ln\left(r\left(t\right)\right)=\left(\theta-\ln\left(r(t)\right)\right)dt+\sigma dW\left(t\right),$$ where $W\left(t\right)$ is a standard Brownian motion. This is a form of the Black-Karasinski model - the $\theta$ and $\sigma$ are, in my application, not time-varying. Can ItoProcess handle this? I tried

proc = ItoProcess[\[DifferentialD]Log[r[t]] == (0.05 - Log[r[t]])\[DifferentialD]t + 
0.2 \[DifferentialD]w[t], r[t], {r, 0.1}, t, w \[Distributed] WienerProcess[]]

but that does not work, the problem, I would say, is the Log[x[t]] on the left-hand side.

  • $\begingroup$ Why don't you use y[t]=Log[x[t]] and solve for y? $\endgroup$ – sebhofer Oct 28 '16 at 5:47
  • $\begingroup$ Ok, and how exactly could I do that? $\endgroup$ – Skumin Oct 28 '16 at 19:48
  • $\begingroup$ I was thinking of something like this: ItoProcess[\[DifferentialD]x[t] == 0.2 \[DifferentialD]w[t] + \[DifferentialD]t (0.05 - x[t]), x[t], {r, 0.1}, t, w \[Distributed] WienerProcess[0, 1]]. $\endgroup$ – sebhofer Oct 31 '16 at 20:56

Your Answer


Browse other questions tagged or ask your own question.