Skip to main content

Stochastic Processes Simulation and Visualisation

Project description

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 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 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, 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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aleatory-0.4.0.tar.gz (26.9 kB view hashes)

Uploaded Source

Built Distribution

aleatory-0.4.0-py3-none-any.whl (37.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page