Simulating Continuous Time Models in Julia

I’m interested in simulating a relatively simple continuous-time model in Julia. The model is a variation of the Diamond-Mortensen-Pissarides (DMP) framework with the following elements:

  • Agents are either employed at a firm, where they receive a wage, or unemployed.

  • With a fixed Poisson arrival rate λ, employed agents receive productivity shocks that can either increase or decrease their wage.

  • With a fixed Poisson arrival rate γ, both employed and unemployed agents receive job offers from other firms and decide whether to accept them.

My question is: are there any Julia packages that can simulate agents and their decisions in a continuous-time model like this? In particular, I’m interested in using a package that correctly handles the arrival rates of the multiple Poisson processes.

I’m aware that I could implement the model in discrete time, but I’m not sure if packages exist for continuous-time simulation. By “simulate” I mean tracking the sequence of decisions agents make in the model (e.g., remain unemployed or accept a new job).

I am not aware of any Julia package that does this.

However overall, I highly encourage you to write the model in continuous time and then use a value function iteration approach to solve for all quantities.

That is, if your model doesn’t have closed-form solutions. The beauty of vanilla DMP model (as described in Pissaredes’ textbook) is that there are closed form solutions for all equilibrium values, more or less.

See JumpProcesses.jl

Agents.jl has full support for continuous time processes interlaced with traditional agent based modelling infrastructure via it’s EventQueueABM. See here for a tutorial: Spatial rock-paper-scissors (event based) · Agents.jl

My model should have a closed-form solution. I’ll be sure to check my simulations with the values I get via value function iteration. Thank you for the suggestion @pdeffebach !

This is exactly what I’m looking for! I cannot thank you enough @ChrisRackauckas!