Skip to main content

A high-performance C++ powered actuarial pricing and underwriting framework.

Project description

RiskPY

A hyper-fast, C++ powered pricing framework built explicitly for actuaries across all lines of insurance (P&C, Life, Health).

The Painkiller

Currently, actuaries are forced to write complex, slow if/else ladders in Python or rely on clunky Excel spreadsheets to process rating models and massive stochastic simulations. RiskPY solves this by providing a declarative, high-performance C++ backend combined with a gorgeous built-in Desktop UI.

You write clean, readable pricing rules in Python. We execute them instantly in C++.

Features

  • Native FactorModel Engine: A declarative C++ rating engine matching top P&C insurance pricing stategies.
  • Built-in ActuarialMath: Core life/annuity computations exposed directly from C++ to python.
  • Bulk CSV Batching: Crunch 10,000+ policy quotes simultaneously without Python GIL bottlenecks.
  • Monte Carlo Predictive Modeling: Simulate millions of Stochastic Tail Risk scenarios natively in C++ (Lognormal Severities for P&C, Systemic Mortality Shocks for Life) instantly generating predictive Histograms in Tkinter.

Documentation

  • How It Works: Explore the dual C++ to Python architecture allowing zero-cost rule evaluation.
  • Actuarial Use Cases: Explore example snippets building P&C Multiplicative Raters, Lognormal Monte Carlo Tail Sims, and Core Life Annuity Present Value tables.
  • Publishing & Accessibility: Discover how to upload this module to GitHub natively and distribute it across the world via PyPI twine.

Installation

pip install open-riskpy

Quick Start

from riskpy import UnderwritingApp, FactorModel

app = UnderwritingApp(title="Actuarial Pricing Tool")

# 1. Declare User Form Fields
app.add_field("state", "Location State", "A", choices=["NY", "CA", "FL"])
app.add_field("age", "Client Age", "B")

# 2. Build the Multiplicative Rating Engine
model = FactorModel(initial_base_rate=500.0)
model.add_multiplier("state", "CA", 2.0)  
model.add_multiplier("state", "FL", 3.0)  
model.add_numeric_band_multiplier("age", 18, 25, 1.4) 

app.set_factor_model(model)

# 3. Launch the Dual-Pane GUI (Pricing forms & Interactive Monte Carlo Simulations)
app.run()

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

open_riskpy-0.1.0.tar.gz (21.8 kB view details)

Uploaded Source

File details

Details for the file open_riskpy-0.1.0.tar.gz.

File metadata

  • Download URL: open_riskpy-0.1.0.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for open_riskpy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 89385782b552f209d917063ae5d00c3621c78038c06b6112796b550f4aecda13
MD5 a0a35a7080f1e597387f784790335798
BLAKE2b-256 5015ea4359f2cb09b16df996d9a2d51f98079e42bdb48891dba1d9f2a0d5dad2

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_riskpy-0.1.0.tar.gz:

Publisher: publish.yml on slimboi34/RiskPY

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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