Code for simulating jump diffusion?

This is complete. There is a new tutorial describing how to use the jumps API. The tutorial is here:

http://docs.juliadiffeq.org/latest/tutorials/jump_diffusion.html

This is part of the newest release of the JuliaDiffEq ecosystem, release notes here:

http://juliadiffeq.org/2017/02/09/interps.html

Note that this isn’t quite available yet, since the tag PRs have to go through for this to be released.

I want to note that I did not take the approach I discussed above for variable rate jumps. The approach that @bastikr let me to think that there was a more elegant solution, which I ended up finding in this paper:

Using an adaptation of this method (the method in this paper isn’t necessarily correct when event handling is actually done, because it will bias the Brownian path… but the way the adaptive timestepping is implemented fixes this problem), there is no loss of accuracy when applying the jumps. The extra computational cost is built into the method by using the rate equations in a new ODE/SDE (i.e. enlarging the system) using event handling. So the end result is computationally just a slightly larger SDE, which the jump API will make for you automatically, and then you just call the SDE solvers as usual. The SDE solver methods will achieve the same accuracy on the jump diffusion as it does for standard SDEs.

If you encounter any problems, just open an issue. Sorry this took longer than I thought it would.

1 Like

I have had a chance to try the new code, following the tutorial. Thanks very much for this. I will report back in detail when I have had a occasion to use this for a research problem.