Stochastic Processes Simulation and Visualisation
Project description
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 continuous-time stochastic processes $X = (X_t : t\geq 0)$ 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 13 processes:
- Brownian Motion
- Brownian Bridge
- Brownian Excursion
- Brownian Meander
- Geometric Brownian Motion (GBM) process
- Ornstein–Uhlenbeck (OU) process
- Vasicek process
- Cox–Ingersoll–Ross (CIR) process
- Constant Elasticity Variance (CEV) process
- Chan-Karolyi-Longstaff-Sanders (CKLS) process
- Bessel (BES) process
- Squared Bessel (BESQ) process
- Poisson process
Installation
Aleatory is available on pypi and can be installed as follows
pip install aleatory
Dependencies
Aleatory relies heavily on
numpy
for random number generationscipy
andstatsmodels
for support for a number of one-dimensional distributions.matplotlib
for 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:
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.