build rtd pypi pyversions

Aleatory (/ˈeɪliətəri/) is a Python library for simulating and visualising stochastic processes defined by Stochastic Differential Equations (SDEs). It introduces objects representing continuous-time stochastic processes \(X = \{X_t : t\geq 0\}\), and provides functionality to:

  • generate realizations/trajectories of each process over discrete time sets

  • create visualisations to illustrate the processes properties and behaviour

Currently, aleatory supports the following processes:

  • Brownian Motion

  • Geometric Brownian Motion

  • Ornstein–Uhlenbeck

  • Vasicek

  • Cox–Ingersoll–Ross

  • Constant Elasticity

  • Bessel

  • Squared Bessel


Aleatory is available on pypi and can be installed as follows

pip install aleatory


Aleatory relies heavily on

  • numpy and scipy for random number generation, as well as support for a number of one-dimensional distributions, and special functions.

  • matplotlib for creating visualisations


Aleatory is tested on Python versions 3.8, 3.9, and 3.10.


Indices and tables#