Code for: The Price of Coherence: k-of-n Pessimism in the Incomplete-Beta Family

Published: 7 October 2026| Version 1 | DOI: 10.17632/6dy74dkjxy.1
Contributor:

Description

Python code that reproduces every computed number, table and figure in the paper "The Price of Coherence: k-of-n Pessimism in the Incomplete-Beta Family" (K. Guler, submitted to Insurance: Mathematics and Economics). The paper reparametrises the incomplete-Beta distortion risk measure of Wirch and Hardy (1999) by its mean and concentration and studies coherence, robustness and order-statistic implementation within the family. No empirical data are used. Seven self-contained scripts cover the exact results (order-statistic identity, coherence region, influence function, index of qualitative robustness), closed-form examples, the calibration of worst-of-n against expected shortfall, the exact two-bond example, and the Monte Carlo dependence sweeps (six copulas, five marginals, three anchors, fixed seeds, bootstrap standard errors). README.md maps each table and figure to its script; outputs/ holds the reference output. Requires Python 3 with NumPy, SciPy and Matplotlib.

Files

Steps to reproduce

1. Download and unzip price-of-coherence-code-v1.zip. 2. Install Python 3 and the packages in requirements.txt: pip install -r requirements.txt (Reference outputs were produced with Python 3.13, NumPy 2.5.3, SciPy 1.18.1, Matplotlib 3.11.2.) 3. From the unzipped folder, run each script: python 01_propositions.py - Propositions 2, 7, 16; Theorem 9; Table 1 python 02_tables_4_5_closed_forms.py - Tables 4 and 5; Section 7.3 python 03_influence_function.py - Propositions 13 and 14; IF illustration; Section 9 threshold python 04_table_6_calibration.py - Proposition 18; Table 6 python 05_example_A_exact.py - Table 8 (Example A); Tables 11 and 12; Section 10 crossings python 06_figures_and_example_B.py - Figures 1 and 2; Table 8 (Example B) python 07_table_9_and_appendix_A_copulas.py - Table 9; Tables A.1 and A.2 4. Compare the printed results with the files in outputs/, which hold the reference output of every script. Script 06 also writes Figure_1.pdf and Figure_2.pdf; script 07 writes appendix_sweep.json. Scripts 01-06 each finish within about two minutes; script 07 takes about ten. No external data are needed: every number is a closed form, an exact computation on a finite-support distribution, or a Monte Carlo estimate with a fixed random seed. With other NumPy versions the random stream may differ, in which case simulated values agree with the reference output to within the bootstrap standard errors reported in Tables A.1 and A.2.

Institutions

Categories

Risk Analysis, Actuarial Studies, Robust Statistic, Monte Carlo Simulation

Licence