Giter Club home page Giter Club logo

open-risk / opennpl Goto Github PK

View Code? Open in Web Editor NEW
24.0 4.0 10.0 2.96 MB

openNPL is an open source platform for the management of non-performing loans

Home Page: https://www.openriskmanagement.com/opennpl-open-source-npl-platform-first-release/

License: MIT License

Python 42.35% Shell 0.05% CSS 1.57% HTML 1.55% Dockerfile 0.13% JavaScript 54.35%
loans python django non-performing database npl-data loan-data credit-portfolio-management django-application credit-risk

opennpl's Introduction

Documentation Status

openNPL overview

openNPL Logo openNPL is an open source platform for the management of loan portfolio data with a particular focus on credit portfolios / non-performing loans.

openNPL implements and builds on public standards around loan-level templates:

  • the detailed European Banking Authority loan templates for NPL data. It thereby enables the collection and easy management of non-performing loan data according to best-practices.
  • US Agency (Fannie Mae) Mortgage Reporting templates (SFLP)

The platform is in active development, parties interested in its further development are encouraged to get involved. The project aims to be driven by community needs. We welcome code contributions and feature requests via GitHub.

Landing

Motivation

Non-Performing loans pose a serious and ongoing challenge that affects many economies. Developing tools and methodologies that reduce the burden and improve the ability to manage problem loans is thus an important objective. For more background and previous work and references see the blog post and links therein.

Summary of Structure and Functionality

User Oriented Functionality

openNPL is a web server application that works together with a tailored data schema and backend database to provide easy access to NPL data adhering to the regulatory recommendations. Running the application creates a web server that can then be accessed by any regular browser to enable interaction with the underlying database and data sets.

NB: For easy installation and testing, the current (preliminary) release of openNPL uses a portable sqlite database instead of a larger production database server. In future releases the sqlite option will be retained for lightweight (demo) purposes only.

Once the openNPL platform is up and running:

  • A user can log in into the application
  • Inspect the available data sets (tables or relations), apply filters etc.
  • Insert, Update or Delete NPL records

Filter

Machine Oriented Functionality

openNPL aims to be at the same time easy to integrate into automated (computer driven) workflows. For this reason it exposes a REST API that offers both overviews and granular access to individual loan records.

API

For more detailed description of structure and functionality please refer to the documentation as explained in the next section

WARNING The current release is a development version that offers no security features. Do not use it with real data unless operating within a secure and controlled environment.

Documentation

openNPL includes two broad categories of documentation:

  • Platform Documentation pertaining to the platform itself. This includes both Technical (Code) Documentation and Administrator / User Documentation
  • Domain Documentation covering the required knowledge base around non-performing loans and in particular the relevant counterparty and loan data that are important for the management of NPL portfolios

Code and User Documentation

The technical / user documentation is included in this distribution and is hosted online at readthedocs

Data Documentation

The domain knowledge and detailed data documentation is provided via the Open Risk Manual. The following links are good starting points:

The Open Risk Manual articles further connect specific NPL knowledge bases to more general credit portfolio and risk management concepts, procedures and overall knowledge bases.

Installation

There are several options to install openNPL, check out the details below

Manual Installation from Source

Manual installation from the repository source files requires some familiarity with python, django and web applications

Prerequisites

  • openNPL requires a working Python 3 installation (including pip)
  • Python >= 3.10
  • Django >= 4.0
  • The precise python library dependencies are listed in the :doc:requirements.txt file.
  • Note: The current User Interface (UI) is desktop oriented and might not work properly in smaller mobile screens
  • openNPL may work with earlier versions of these packages but this has not been tested
  • A linux based system is recommended. Some tweaks are required for Windows but is in principle also possible to deploy there

Summary of Steps

Conceptually the required steps are as follows:

  • Step 1. Clone the openNPL repository from GitHub
  • Step 2. Create a virtual environment
  • Step 3. Install the dependencies
  • Step 4. Create the database
  • Step 5. Create an admin user
  • Step 6. Load some dummy data
  • Step 7. Have fun exploring openNPL!

In summary the required commands are as follows (more details in the documentation)

 git clone https://github.com/open-risk/openNPL
 virtualenv -p python3 venv
 source venv/bin/activate
 pip install -r requirements.txt
 python3 manage.py makemigrations npl_portfolio
 python manage.py migrate
 python manage.py createsuperuser
 python manage.py collectstatic
 bash loadfixtures.sh
 python manage.py runserver

Installation using Docker

  • It is also possible to install openNPL using docker. This option may simplify the process for some purposes as it encapsulates all the installation procedures inside a docker container. It will also be the preferred option when installing a database server as backend.

At the Docker Hub you can get a ready to run Docker Image of openNPL. Alternatively, you can build the Docker image locally from the Dockerfile (instructions are available in the documentation).

openNPL Community

We welcome your feedback and support, raise a GitHub issue if you want to report a bug or request a new feature. We are glad to help.

Credits

  • Django
  • Jazzmin
  • European Banking Authority
  • US Agencies (Fannie Mae)

opennpl's People

Contributors

dependabot[bot] avatar open-risk avatar purvanshsingh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

opennpl's Issues

Implement FM SFLP.Loan Payment History storage

Loan Payment History is the coded string of values that describes the payment performance of the loan over the most recent 24 months. A better storage schem can facilitate search / retrieval from the database

enable postgres backend

testing so far has been based on sqlite3 though an npl schema is available as a pure postgres database in another project. the idea is to enable easier deployment of openNPL with postgres backends.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.