Learn R Programming

LDPD (version 1.1.2)

VDBCalibratePD: Probability of Default Calibration using M. Van Der Burgt Algorithm

Description

Calibrates conditional probabilities of default (PD) according to algorithm proposed by M. van der Burgt. Decomposition of PDs by rating classes is based on smoothed Cumulative Accuracy Profile (CAP) curve and target mean portfolio PD (Central Tendency - CT).

Usage

VDBCalibratePD(portf.uncond, pd.uncond.old, pd.uncond.new, AR, rating.type)

Arguments

portf.uncond
Unconditional portfolio distribution.
pd.uncond.old
Unconditional PD of the sample on which AR had been estimated (in case is zero, approximation AR = 2*AUC - 1 is used for parameters estimation).
pd.uncond.new
Target Mean PD (Central Tendency) for the portfolio.
AR
Accuracy ration (AR) of the ranking model.
rating.type
In case 'RATING', each item in the portf.uncond contains number of counterparts in a given rating class. In case 'SCORE', each item in the portf.uncond is treated as an exact score of counterparty.

Value

lambda
Convexity parameter of the calibration curve.
pd.cond
Conditional PDs after calibration.
portf.cumdist
Cumulative portfolio distribution needed to estimate logit PDs (conditional on non-default if such data is given).
portf.uncond
Unconditional portfolio distribution from the worst to the best credit quality.
rating.type
In case 'RATING', each item in the portf.uncond contains number of counterparts in a given rating class. In case 'SCORE', each item in the portf.uncond is treated as an exact score of counterparty.

Details

One parameter approximation of CAP curve is used. Parameter is fitted in the way that the AUC (Cumulative Accuracy Profile) implied by the provided AR should be equal to the area under the approximation curve.

References

Van der Burgt, M. (2008) Calibrating low-default portfolios, using the cumulative accuracy profile. Journal of Risk Model Validation, 1(4):17-33.

See Also

ARestimate

Examples

Run this code
portf.rating <- c(20,50,60,70,10,5)
portf.scores <- seq_len(1000)
VDBCalibratePD(portf.scores, 0.1, 0.15, 0.5, rating.type = 'SCORE')
VDBCalibratePD(portf.rating, 0.1, 0.15, 0.5, rating.type = 'RATING')

Run the code above in your browser using DataLab