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 continuous-time
stochastic processes
- generate realizations/trajectories from 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 Process
- Squared Bessel Processs
Aleatory is available on pypi and can be installed as follows
pip install aleatory
Aleatory relies heavily on
numpy
for random number generationscipy
andstatsmodels
for support for a number of one-dimensional distributions.matplotlib
for creating visualisations
Aleatory is tested on Python versions 3.8, 3.9, and 3.10
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:
For more example visit the Quick-Start Guide.
Connect with me via:
- 👾 Personal Website
⭐️ If you like this projet, please give it a star! ⭐️