Skip to content

📦 Python library for Stochastic Processes Simulation and Visualisation

License

Notifications You must be signed in to change notification settings

rmallof/aleatory

 
 

Repository files navigation

aleatory

PyPI version fury.io Downloads

example workflow Documentation Status

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
  • Bessel Process
  • Squared Bessel Processs

Installation

Aleatory is available on pypi and can be installed as follows

pip install aleatory

Dependencies

Aleatory relies heavily on

  • numpy for random number generation
  • scipy and statsmodels 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.

Thanks for Visiting! ✨

Connect with me via:

⭐️ If you like this projet, please give it a star! ⭐️

About

📦 Python library for Stochastic Processes Simulation and Visualisation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%