{"id":16744969,"url":"https://github.com/open-risk/openlgd","last_synced_at":"2025-10-16T12:13:11.795Z","repository":{"id":54495670,"uuid":"222287021","full_name":"open-risk/openLGD","owner":"open-risk","description":"openLGD is a Python powered library for the statistical estimation of Credit Risk Loss Given Default models.  It can be used both as standalone library and in a federated learning context where data remain in distinct (separate) servers","archived":false,"fork":false,"pushed_at":"2024-10-14T16:06:28.000Z","size":662,"stargazers_count":24,"open_issues_count":1,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-10T06:10:37.164Z","etag":null,"topics":["credit-risk-loss","credit-scoring","decentralized-application","federated-learning","python-framework"],"latest_commit_sha":null,"homepage":"https://www.openriskmanual.org/wiki/Loss_Given_Default_Models","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-risk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-17T17:39:21.000Z","updated_at":"2025-09-01T05:41:54.000Z","dependencies_parsed_at":"2025-02-17T09:32:23.839Z","dependency_job_id":"52e6e630-a15f-4f4c-bf3b-4e75c1023ce9","html_url":"https://github.com/open-risk/openLGD","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/open-risk/openLGD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-risk%2FopenLGD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-risk%2FopenLGD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-risk%2FopenLGD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-risk%2FopenLGD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-risk","download_url":"https://codeload.github.com/open-risk/openLGD/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-risk%2FopenLGD/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279189357,"owners_count":26122723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["credit-risk-loss","credit-scoring","decentralized-application","federated-learning","python-framework"],"created_at":"2024-10-13T01:44:21.556Z","updated_at":"2025-10-16T12:13:11.757Z","avatar_url":"https://github.com/open-risk.png","language":"Python","readme":"# openLGD\n\n**openLGD** is a Python powered library for the statistical estimation of **Credit Risk Loss** (Also loss-given-default or LGD) models. \n\nopenLGD can be used both as standalone library or in a federated analysis context where data remain in distinct (separate) servers\n\n![image](static/federated_models.png)\n\n## Summary Information\n\n* Author: [Open Risk](http://www.openriskmanagement.com)\n* License: Apache 2.0\n* Development website: [Github](https://github.com/open-risk/openLGD)\n* Mathematical Documentation of LGD Models: [Open Risk Manual](https://www.openriskmanual.org/wiki/Loss_Given_Default_Models)\n* Discussion: [Open Risk Commons](https://www.openriskcommons.org/c/openlgd/19)\n\n\n**NB: This is an early alpha release. openLGD is still in active development**\n\n## Introduction\n\nopenLGD aims to support the development of both expert based and statistical [LGD Models](https://www.openriskmanual.org/wiki/LGD%20Model) \n\n### Standalone Mode\n\nIn *standalone mode* openLGD emulates a classic use case where, e.g., a financial institution or other credit provider aims to develop a risk quantification system on the basis of data it has in its possession.  Use cases for the standalone mode are both as intended (standalone) LGD model framework system and as a validation framework for federated applications.\n\nThe standalone mode is illustrated via the script standalone_run.py\n\n### Federated Mode\n\nThe federated mode essentially facilitates the development of a *generic* (pooled) LGD model that applies to a wide population (which is assumed homogeneous)\n\n\n#### Getting started with the federated demo\n\n* Clone the repo in a local linux environment\n* Install the dependencies in a virtual environment\n* Fire up a number of flask servers on different shells. Check the [Spawn Cluster Script](./spawn_cluster.sh) for how to export the environment. This will fire up several Xterms where server output is logged\n* Run the [Controller](./federated_run.py) script to perform the demo calculation\n\n#### Fabric based configuration\nGoing forward we'll use fabric and yaml to ease deployment. Check [Fabfile](./fabfile.py) for preliminary functionality\n\n#### Dependencies\n- The statistical model estimation is currently using scikit-learn / statstmodels components\n- The model server is based on the python flask framework. \n\nThe complete dependency list in the [requirements file](./requirements.txt)  \n\n#### Startup of the model servers:\n\nThe demo Model Servers are python/flask based servers\n- The model servers should start up on ports http://127.0.0.1:500X/ where X is the serial number\n- You can check the server is live by pointing your browser to the port\n- or by using curl from the console (curl -v http://127.0.0.1:500X/)\n  \n#### Model Server API endpoints: \nThe general structure of the simplified API is\n\n* GET http://127.0.0.1:500X/          API Root, indicating the server is live\n* GET http://127.0.0.1:500X/start     URL to get initial locally estimated parameters (cold start)\n* POST http://127.0.0.1:500X/update   URL to post current averaged parameters (warm start) \n\n## White Papers on Federated Risk Analysis\n\n* [White Paper: Federated Credit Systems, Part I: Unbundling The Credit Provision Business Model](https://www.openriskmanagement.com/white_paper_federated_credit_part_i_systems_unbundling_the_credit_provision_business_model/)\n* [White Paper: Federated Credit Systems, Part II: Techniques for Federated Data Analysis](https://www.openriskmanagement.com/white_paper_federated_credit_systems_part_ii_techniques_for_federated_data_analysis/)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-risk%2Fopenlgd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-risk%2Fopenlgd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-risk%2Fopenlgd/lists"}