Learn R Programming

LDPD (version 1.1.2)

LDPD-package: Probability of Default Calibration

Description

Implementation of most popular approaches to PD (probability of default) calibration: Quasi Moment Matching approach, M.van der Burgt algorithm, K.Pluto and D.Tasche's most prudent estimate methodology.

Arguments

Details

Package:
LDPD
Type:
Package
Version:
1.0.2
Date:
2015-01-03
License:
GPL-2
The package implements three most popular among practitioners approaches to PD calibration:
  1. Quasi Moment Matching approach proposed by D.Tasche (see QMMRecalibrate).
  2. M. van der Burgt algorithm based on CAP curve smoothing (see VDBCalibratePD).
  3. K.Pluto and D.Tasche "most prudent" estimate methodology (see PTOnePeriodPD,PTMultiPeriodPD).

References

Pluto, K. and Tasche, D. (2005) Thinking Positively. Risk, August, 72-78. Van der Burgt, M. (2008) Calibrating low-default portfolios, using the cumulative accuracy profile. Journal of Risk Model Validation, 1(4):17-33. Tasche, D. (2009) Estimating discriminatory power and PD curves when the number of defaults is small. Working paper, Lloyds Banking Group. Tasche, D. (2013) The art of probability-of-default curve calibration. Journal of Credit Risk, 9:63-103.

See Also

QMMRecalibrate VDBCalibratePD PTOnePeriodPD PTMultiPeriodPD somers2

Examples

Run this code
# PD calibration using Multi-period Pluto and Tasche approach
portfolio <- c(10,20,30,40,10)
defaults <- c(1,2,0,0,0)
PTMultiPeriodPD(portfolio, defaults, 0.3, cor.St = 0.3, kT = 5, kNS = 1000, conf.interval = 0.5)

# PD Calibration using M. van der Burgt algorithm, 
# portfolio distribution is given by rating classes.
portf.rating <- c(20,50,60,70,10,5)
VDBCalibratePD(portf.rating, 0.1, 0.15, 0.5, rating.type = 'RATING')
# PD Calibration using M. van der Burgt algorithm, 
# portfolio distribution is given by scores.
portf.scores <- seq_len(1000)
VDBCalibratePD(portf.scores, 0.1, 0.15, 0.5, rating.type = 'SCORE')

# PD calibration using QMM algorithm, 
# portfolio distribution is given by rating classes.
pd <- c(0.2, 0.1, 0.005, 0.001, 0.001)
porfolio <- c(100, 200, 200, 200, 100)
qmm <- QMMRecalibrate(0.05, pd, porfolio, rating.type = 'RATING')
# Plot results of PD calibration.
QMMPlot(qmm)

Run the code above in your browser using DataLab