An actuarial stochastic modeling library in python.
Note This library is still in beta!
The Proteus Actuarial Library (PAL) is a fast, lightweight framework for building simulation-based actuarial and financial models. It handles complex statistical dependencies using copulas while providing simple, intuitive syntax.
Key Features:
- Built on NumPy/SciPy for performance
- Optional GPU acceleration with CuPy
- Automatic dependency tracking between variables
- Comprehensive statistical distributions
- Clean, Pythonic API
from pal import distributions, copulas
# Create stochastic variables
losses = distributions.Gamma(alpha=2.5, theta=2).generate()
expenses = distributions.LogNormal(mu=1, sigma=0.5).generate()
# Apply statistical dependencies
copulas.GumbelCopula(theta=1.2).apply([losses, expenses])
# Variables are now correlated
total = losses + expenses# Basic installation
pip install proteusllp-actuarial-library
# With GPU support
pip install proteusllp-actuarial-library[gpu]Read the full documentation on Read the Docs
- Usage Guide - Comprehensive examples and API documentation
- Development Guide - Setting up the development environment and running tests
- Examples - Example scripts showing how to use the library
PAL is currently in early release preview (beta). There are a limited number of supported distributions and reinsurance contracts. We are working on:
- Adding more distributions and loss generation types
- Making it easier to work with multi-dimensional variables
- Adding support for Catastrophe loss generation
- Adding support for more reinsurance contract types (Surplus, Stop Loss etc)
- Stratified sampling and Quasi-Monte Carlo methods
- Reporting dashboards
Please log issues on our github page.
You are welcome to contribute pull requests. Please see the Contributer License Agreement
📚 Development Guide - Get started with development setup and testing