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 processes:
- Brownian Motion
- Geometric Brownian Motion
- Ornstein–Uhlenbeck
- Vasicek
- Cox–Ingersoll–Ross
- Constant Elasticity
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, and 3.10
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 example visit the Quick-Start Guide.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.