Stochastic Processes Simulation and Visualisation

# 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 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

Uploaded Source
Uploaded Python 3