Published September 14, 2026 | Version 1.0.0

pyliferisk geometric valuations discard supplied mortality assumptions

Authors/Creators

Description

Independent numerical audit of pyliferisk 1.12.0. Geometric annuity and insurance helpers reconstruct the original mortality table and silently reset the supplied mortality scale to 100%. Custom survivor/probability tables may instead fail. For GKM95, mortality 75%, interest 3% and age 60, a zero-growth annual annuity returns 13.616328838004055 instead of 14.93597449181164, approximately 8.8353% lower.

The proposed correction preserves copies of the effective survivor and mortality-probability tables while changing interest. Seven helpers were checked against 630 independent direct cash-flow sums at 60-digit Decimal precision: 498 failures before, including 198 exceptions, and zero after. Four regression tests pass. Substituting the released code causes 82 failing and 42 errored subcases. Existing growth timing and fractional-payment formulas are preserved; the entire library is not claimed correct.

Official PyPI wheel source is byte-identical to upstream master 5c28ca34a30f4e350f604f4b35bf738c816e59bc. Public duplicate screening found no matching report among 14 available issues/PRs and 8 comments, and three scoped keyword searches; this does not establish worldwide priority. Correction: https://github.com/franciscogarate/pyliferisk/pull/17 (proposed, not merged).

Report, source snapshots, patch, Decimal oracle and test evidence: https://github.com/kadyrbekovhamit-cyber/gero-pyliferisk-geometric-mortality-audit

All calculations ran sequentially on CPU using the Python standard library, without GPU. Performance was not benchmarked. Synthetic library-level cases only; no deployed insurer exposure or customer loss is claimed. Research prepared with AI assistance. Original code and tables retain GPL-3.0-or-later licensing.

Archive SHA-256: 643e2016557cb418422277de77d0e20962272b62addbcdf3011c1771154a5d35

Files

pyliferisk-geometric-mortality-v1.0.0.zip

Files (134.3 kB)

Name Size Download all
md5:e0d0486e6e8b973a9a7e026568897f31
134.3 kB Preview Download

Additional details