Skip to main content

Implementation of the rearrangement algorithm

Project description

Rearrangement Algorithm

PyPI version Read the docs status

Python implementation of a rearrangement algorithm that can be used to calculate bounds on the value-at-risk (VaR) of dependent risks.

The current version includes the following calculations:

  • Upper and lower bounds on the VaR of dependent risks[^embrechts2013]
  • Upper and lower bounds on the survival probability of functions of dependent risks[^puccetti2012]
  • Upper and lower bounds on the expected value of supermodular functions of dependent risks[^puccetti2015]

Mathematical Background

Mathematical details and derivations can be found in the publications[^embrechts2013][^puccetti2012][^puccetti2015].

More information and an overview of extensions can be found on the website of the Rearrangement Algorithm project.

Implementation

Parts of this implementation are based on the qrmtools R package (version 0.0-13) by M. Hofert, K. Hornik, and A. J. McNeil. Details on the algorithm and the R implementation can be found in the paper "Implementing the Rearrangement Algorithm: An Example from Computational Risk Management", M. Hofert, In: Risks, vol. 8, no. 2, 2020[^hofert2020].

Installation

You can install the package via pip

pip install rearrangement-algorithm

If you want to install the latest (unstable) version, you can install the package from source

git clone https://gitlab.com/klb2/rearrangement-algorithm.git
cd rearrangement-algorithm
git checkout dev
pip install .

Documentation

You can find the documentation for this package on Read the Docs.
This also includes some usage examples.

License and Referencing

This program is licensed under the GPLv3 license. If you in any way use this code for research that results in publications, please cite this package.

Parts of this code are based on the qrmtools R package (version 0.0-13), which is also released under the GPLv3 license.

References

[^embrechts2013]: P. Embrechts, G. Puccetti, and L. Rüschendorf, "Model uncertainty and VaR aggregation," J. Bank. Financ., vol. 37, no. 8, pp. 2750-2764, Aug. 2013. doi:10.1016/j.jbankfin.2013.03.014

[^puccetti2015]: G. Puccetti and L. Rüschendorf, "Computation of Sharp Bounds on the Expected Value of a Supermodular Function of Risks with Given Marginals," Commun. Stat. - Simul. Comput., vol. 44, no. 3, pp. 705-718, Mar. 2015. doi:10.1080/03610918.2013.791368

[^puccetti2012]: G. Puccetti and L. Rüschendorf, "Computation of sharp bounds on the distribution of a function of dependent risks," J. Comput. Appl. Math., vol. 236, no. 7, pp. 1833-1840, Jan. 2012. doi:10.1016/j.cam.2011.10.015

[^hofert2020]: M. Hofert, "Implementing the Rearrangement Algorithm: An Example from Computational Risk Management," Risks, vol. 8, no. 2, May 2020. doi:10.3390/risks8020047

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

rearrangement_algorithm-0.1.1.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

rearrangement_algorithm-0.1.1-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file rearrangement_algorithm-0.1.1.tar.gz.

File metadata

  • Download URL: rearrangement_algorithm-0.1.1.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.7

File hashes

Hashes for rearrangement_algorithm-0.1.1.tar.gz
Algorithm Hash digest
SHA256 65d287258920b944d66d7c259a32999465fcc5e1fbbf8284046d09747a50d1f2
MD5 8880f19f9b6a1c73606adc9ecd042625
BLAKE2b-256 489fb1015f1b71bd171cb10a1fab7a70ad6e76442c8282414dc6c67d04b8dfde

See more details on using hashes here.

File details

Details for the file rearrangement_algorithm-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rearrangement_algorithm-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.7

File hashes

Hashes for rearrangement_algorithm-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e2fce82a749bb03234ac7717058518d83f304676e8f23c1dcd4917448faec1c5
MD5 85e7cda2870d999eae474ed79c61d28a
BLAKE2b-256 2bdce726b927ee7935261f8536d78a4773fef0717cfe5c3d3a841d6fac2b105f

See more details on using hashes here.

Supported by

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