# Credit Risk Modeling in Python

Teaching you the programming behind how banks decide who should get a loan. You will learn risk modeling theory and advance your Python modeling skills.
Hours

6

Lessons

56

Quizzes

42

Assignments

10

Course description

Credit risk modeling is the place where data science and fintech meet. It is one of the most important activities conducted in a bank and the one with the most attention since the recession. This course is the only comprehensive credit risk modeling course in Python available right now. It shows the complete credit risk modeling picture, from preprocessing, through probability of default (PD), loss given default (LGD) and exposure at default (EAD) modeling, and finally finishing off with calculating expected loss (EL).
FREE
1

## Introduction

We start by explaining why credit risk is important for financial institutions. We also define ground 0 terms, such as expected loss, probability of default, loss given default and exposure at default.

FREE
2

## Dataset description

Our example focuses on consumer loans. Since there are more than 100 potential features, we've devoted a complete section to explain why some features are chosen over others.

FREE
3

## General preprocessing

Each raw datasets has its drawbacks. While most preprocessing is model specific, in some cases (like missing values imputation), we could generalize the data preparation.

4

## PD model: data preparation

Once we have completed all general preprocessing, we dive into model-specific preprocessing. We employ fine classing, coarse classing, weight of evidence and information value criterion to achieve the probability of default preprocessing. Conventionally, we should turn all variables into dummy indicators prior to modeling.

5

## PD model estimation

Having set up all variables to be dummies, we estimate the probability of default. The most intuitive and widely accepted approach is to employ a logistic regression.

6

## PD model validation (test)

Since each model overfits the training data, it is crucial to test the results on out-of-sample observations. Consequently, we find its accuracy, its area under the curve (AUC), the Gini coefficient and the Kolmogorov-Smirnov test.

7

## Applying the PD model for decision making

In practice, banks don't really want a complicated Python-implemented model. Instead, they prefer a simple score-card which contains only yes and no questions that could be employed by any bank employee. In this section, we learn how to create one.

8

## PD model monitoring

Model estimation is extremely important, but an often-neglected step is model maintenance. A common approach is to monitor the population stability over time using the population stability index (PSI) and revisit our model if needed.

9

To calculate the final expected loss, we need three ingredients: probability of default (PD), loss given default (LGD) and exposure at default (EAD). In this section, we preprocess our data to be able to estimate the LGD and EAD models.

10

## LGD model

LGD models are often estimated using a beta regression. To keep the modeling part simpler, we employ a two-step regression model, which aims to simulate a beta regression. We combine the predictions from a logistic regression with those from a linear regression to estimate the loss given default.

11