Aleatory
📦 Python library for Stochastic Processes Simulation and Visualisation
Install / Use
/learn @quantgirluk/AleatoryREADME
aleatory
Overview
The aleatory (/ˈeɪliətəri/) Python library provides functionality for simulating and visualising stochastic processes. More precisely, it introduces objects representing a number of stochastic processes and provides methods to:
- generate realizations/trajectories from each process —over discrete time sets
- create visualisations to illustrate the processes properties and behaviour
Currently, aleatory supports the following stochastic processes in one dimension:
- Arithmetic Brownian Motion (see Brownian Motion)
- Bessel process
- Brownian Bridge
- Brownian Excursion
- Brownian Meander
- Brownian Motion
- Constant Elasticity Variance (CEV) process
- Cox–Ingersoll–Ross (CIR) process
- Chan-Karolyi-Longstaff-Sanders (CKLS) process
- Fractional Brownian Motion process
- Galton-Watson process with Poisson branching
- Gamma process
- General Random Walk
- Geometric Brownian Motion
- Hawkes process
- Inverse Gaussian process
- Inhomogeneous Poisson process
- Mixed Poisson process
- Ornstein–Uhlenbeck (OU) process
- Poisson process
- Random Walk
- Squared Bessel processes
- Vasicek process
- Variance-Gamma process
From v1.1.1 aleatory supports the following 2-d stochastic processes:
Installation
Aleatory is available on pypi and can be installed as follows
pip install aleatory
Dependencies
Aleatory relies heavily on
numpyfor random number generationscipyandstatsmodelsfor support for a number of one-dimensional distributions.matplotlibfor creating visualisations
Compatibility
Aleatory is tested on Python versions 3.8, 3.9, 3.10, and 3.11
Quick-Start
Aleatory allows you to create fancy visualisations from different stochastic processes in an easy and concise way.
For example, the following code
from aleatory.processes import BrownianMotion
brownian = BrownianMotion()
brownian.draw(n=100, N=100, colormap="cool", figsize=(12,9))
generates a chart like this:
<p align="center"> <img src="https://raw.githubusercontent.com/quantgirluk/aleatory/main/docs/source/_static/brownian_motion_quickstart_08.png" style="display:block;float:none;margin-left:auto;margin-right:auto;width:80%"> </p>For more examples visit the Quick-Start Guide.
If you like this project, please give it a star! ⭐️
Thanks for Visiting! ✨
Connect with me via:
- 👾 Personal Website
