87394 - Credit Risk

Academic Year 2020/2021

  • Docente: Flavio Giuseppe Didimo Cocco
  • Credits: 6
  • SSD: SECS-P/06
  • Language: English
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Quantitative Finance (cod. 8854)

Learning outcomes

Credit risk is the main source of risk for a commercial bank, far more relevant then other risk types like market, interest, operational, etc.. and can have dramatic systemic effects, as an under estimation of credit risk is at the root of the financial and economic turmoil of the 2008. The course will provide a broad overview of credit risk management in (commercial) banking. First, we will review the methodologies behind the more widely used (structural and reduced form) models for individual credit risk components (EAD,PD,LGD); then we will analyse how credit risk is measured at portfolio level (expected and unexpected losses, risk aggregation and contributions) by the most popular metrics (the Moody’s KMV model, CreditMetrics™ and Credit Risk Plus™). Finally, we will address credit risk regulatory topics, both in terms of capital requirements (Basle II and III) and of accounting standards (IFRS9). The theoretical insight will be paired with practical exercises: some of these models and metrics will be applied to real credits data using the Python scientific stack.

Course contents

What you will take away

  • Advanced knowledge of the latest development about credit risk role in capital regulation (Basle Accords) and credit risk portfolio modelling.
  • Solid understanding of the mathematics and statistics behind the models for credit risk factors (default probability, severity ratio, exposure at default) and loss distributions of credit portfolios.
  • Deep hands-on practical experience in developing a model along all its life-cycle, from methodology assessment to model validation, using Python data science stack (numpy, pandas, scikit-learn, keras, … ).

Syllabus

The course contents are organised in four main modules:

Introduction to credit risk in commercial banks (3 hours)

· What is credit risk?

· Credit risk constituents: probability of default, exposure at default and severity.

· Credit risk of a portfolio

Credit risk and regulatory capital: from Merton model to Risk-Weighted-Asset (9 hours)

· Merton’s model

· Vasicek’s factor model and the ASRF model

· The Basle’s regulatory framework

Credit risk and economic capital: credit loss distribution and credit risk portfolio models (9 hours)

· Multi-factors models

- Moody’s KMV and CreditMetrics frameworks
- Stress testing the macroeconomic factors

· Mixture models

- CreditRisk+ and beyond

Machine Learning modelling of the credit risk constituents (9 hours)

· Default probability models

· Loss-Given-Default models


How we will work

For all the modules, except the introductory one, theoretical explanations will be followed by practical examples covering numerical simulations of the theoretical models as well as risk factors models development (estimation and validation).

The latter will be carried on using ‘traditional’ statistic and econometrics techniques, like linear regression and GLM, as well as machine learning (SVM, trees bagging and boosting) or deep learning (neural networks) techniques.

All the examples will be developed and make available on Jupyter notebooks using the Python programming language; in the same notebooks there will be several sections with exercises that students will complete during class or as homework.

In this regard, the features of the Jupyter notebooks and the Python machine learning libraries (panda, scikit-learn, keras) will be introduced in the lessons of the course and will be considered an integral part of the course itself.

Pre-requisites

Although the lessons will be as self-sufficient as possible, some preliminary requirements must be met to follow the course profitably. In particular:

  • Linear algebra.
  • Basic probability and statistic theory.
  • Basic (stochastic) calculus.
  • Python programming skills, possibly including numpy.

It's also strongly suggested to follow the course Machine Learning for Finance hold by prof. P.Rossi and prof. G. Della Lunga.

Readings/Bibliography

T. Bellini, IFRS 9 and CECL Credit Risk Modelling and Validation. Academic Press - Elsevier, San Diego, 2019.

C. Bluhm, L. Overbeck, and C. Wagner, Introduction to Credit Risk Modeling, Second Edition. Chapman & Hall, London, 2016.

D. J. Bolder, Credit-risk modelling: theoretical foundations, diagnostic tools, practical examples, and numerical recipes in Python. New York, NY: Springer Berlin Heidelberg, 2018.

S. Raschka and V. Mirjalili, Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd Edition. Packt Publishing Ltd, 2019.

Teaching methods

The teaching of the course will make extensive use of the possibilities offered by www.cocalc.com web platform.

This platform provides a working environment where it is possible, through the use of Jupyter notebooks (www.jupyter.org), to develop programs, access databases, texts and teaching materials, exchange and share materials with other participants, and have remote assistance from both the teacher than from other students.


Accessing this platform from a web browser, students will be able to:

  • Access a specific project that will contain all the course materials.
  • Create a personal project to develop the assigned exercises and examination papers.
  • Access to a complete python environment for data science.
  • Get support from other participants.

Taking advantage of all these possibilities, for all the modules except the introductory one, theoretical explanations will be followed by 'live' practical examples covering numerical simulations of the theoretical models as well as risk factors model development (estimation and validation).

The latter will be carried on using ‘traditional’ statistic and econometrics techniques, like linear regression and GLM, as well as machine learning (SVM, trees bagging and boosting) or deep learning (neural networks) techniques.

All the examples will be developed and make available on Jupyter notebooks using the Python programming language; in the same notebooks there will be several sections with exercises that students will complete during class or as homework.

In this regard, the features of the Jupyter notebooks and the Python machine learning libraries (panda, scikit-learn, keras) will be introduced in the lessons of the course and will be considered an integral part of the course itself.

Assessment methods

There will be 5 assignments:

  • for the first four weeks, each week there will be an assignment related to the topics of the week; all these assignments have to be submitted two weeks before the exam date;
  • the last assignment will require to develop a model for one credit risk factors (default probability or severity ratio) following the model development roadmap introduced in the last module.

Assignments use pre-cooked Jupyter notebooks that take care of loading data and provide a guide for the assignment development; the students will need to fill the notebook’s cells with explicatory notes, python code or results presentation.



Teaching tools

The teaching of the course will make extensive use of the possibilities offered by www.cocalc.com web platform.

Take a look at https://cocalc.com/doc/teaching.html

Office hours

See the website of Flavio Giuseppe Didimo Cocco