build rtd pypi pyversions

Aleatory (/ˈeɪliətəri/) is a Python library for simulating and visualising stochastic processes. 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:

  1. Brownian Motion

  2. Brownian Bridge

  3. Brownian Excursion

  4. Brownian Meander

  5. Geometric Brownian Motion

  6. Ornstein–Uhlenbeck (OU) process

  7. Vasicek process

  8. Cox–Ingersoll–Ross (CIR) process

  9. Constant Elasticity Variance (CEV) process

  10. Chan-Karolyi-Longstaff-Sanders (CKLS) process

  11. Bessel processes

  12. Squared Bessel processes

  13. Poisson process


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, 3.10, and 3.11.


Indices and tables#