ALGORITHMS
This page collects all the codes for the algorithms I coauthored
REARRANGEMENT ALGORITHM (RA)
The Rearrangement Algorithm (RA) is an algorithm which has been originally introduced to compute numerically sharp lower and upper bounds on the distribution of a function of a number of dependent random variables having fixed marginal distributions. Over the last decade it has been developed further mainly to compute model uncertainty bounds for the VaR/ES of high-dimensional portfolios.
References, state-of-the-art, packages and sample codes for the various applications of the RA are collected at https://sites.google.com/site/rearrangementalgorithm/home
MINCOVTARGET ALGORITHM
The MinCovTarget algorithm provides fast no-envy solutions to the problem of the Fair Allocation of Indivisible Items, also in large dimensions. It is based on the following two references:
Cornilly, D., Puccetti, G., Rüschendorf, L., and S. Vanduffel (2022). Fair allocation of indivisible goods with minimum inequality or minimum envy PAPER SSRN CODE
Puccetti, G., Rüschendorf, L., and S. Vanduffel (2024). MinCovTarget: A New Standard for Fair Allocation SSRN CODE
ITERATED SWAPPING ALGORITHM (ISA)
The Iterated Swapping Algorithm (ISA) is an algorithm for the computation of Wasserstein barycenters. It is based on the following reference:
Puccetti, G., Rüschendorf, L., and S. Vanduffel (2020). On the computation of Wasserstein barycenters PAPER SSRN CODE
CUSTOMIZED BLOCK SWAPPING ALGORITHM (CUST BSA)
The Customized Block Swapping Algorithm is an algorithm for the synchronization problem with multiple instances, an extension of the classical Assembly Line Crew Scheduling problem (ALCS) which considers uncertain labour times. It is based on the following reference:
Cornilly, D., Puccetti, G., Rüschendorf, L., and S. Vanduffel (2022). On a synchronization problem with multiple instances. SSRN PAPER CODE
SWAPPING ALGORITHM
The Swapping Algorithm is an algorithm to approximate the optimal expected inner product of two vectors with given marginals. It is based on the following reference:
Puccetti, G. (2017). An algorithm to approximate the optimal expected product of two vectors with given marginals. PAPER SSRN send an e-mail for the C++ code
AEP ALGORITHM
The AEP algorithm numerically calculates the distribution function and the Value-at-Risk of the sum of a number of d positive random variables, when the joint distribution H of the vector (X1,...,Xd) is given. For any detail on the theory underlying AEP we refer to the paper
Arbenz, P., Embrechts, P., and G. Puccetti (2011). The AEP algorithm for the fast computation of the distribution of the sum of dependent random variables PAPER (OPEN ACCESS) CODE
A new Python library including an implementation of the AEP algorithm has been provided in
Pittarello, G., Luini, E. and Marchione, M.M. (2024). GEMAct: a Python package for non-life (re)insurance modeling PAPER CODE