メインコンテンツ

risk.validation.populationStabilityIndex

Population stability index

Since R2026a

    Description

    psiValue = risk.validation.populationStabilityIndex(Frequency1,Frequency2) returns the population stability index (PSI) for the data at the start of the observation period Frequency1 and the data at the end of the observation period Frequency2.

    example

    Examples

    collapse all

    Load the loss given default (LGD) data. The table lgdData includes a variable ExpectedLGDGrade, which contains values from 1 to 12, corresponding to 12 rating grades.

    lgdData = readtable("LGDRatingGradeData.csv");

    The values in ExpectedLGDGrade were calculated based on the borrower's characteristics prior to the default event.

    Create tables baseline and target by using the groupsummary function to get counts for each value in ExpectedLGDGrade for years 2023 and 2024.

    baseline = groupsummary(lgdData(lgdData.RecoveryClosedYear==2023,:),"ExpectedLGDGrade");
    target = groupsummary(lgdData(lgdData.RecoveryClosedYear==2024,:),"ExpectedLGDGrade");

    Calculate the population stability index (PSI) for the data.

    psiValue = risk.validation.populationStabilityIndex(baseline.GroupCount,target.GroupCount)
    psiValue = 
    0.6814
    

    A psiValue greater than 0.25 indicates a significant shift in the frequencies of each portfolio. The output suggests that the 2024 portfolio has shifted significantly since 2023.

    Input Arguments

    collapse all

    Frequency data, specified as a nonnegative vector. Frequency1 contains frequencies for the beginning of the observation period, and Frequency2 contains frequencies for the end. In a rating grade context, Frequency1 and Frequency2 typically contain counts or dollar exposures for rating grades.

    Data Types: single | double

    Output Arguments

    collapse all

    PSI value, returned as a numeric scalar.

    • PSIValue < 0.1 indicates no significant shift in frequencies.

    • 0.1 < PSIValue < 0.25 indicates a moderate shift in frequencies.

    • 0.25 < PSIValue indicates a significant shift in frequencies.

    For more information, see [2].

    More About

    collapse all

    References

    [1] European Central Bank, “Instructions for reporting the validation results of internal models.” February, 2019. https://www.bankingsupervision.europa.eu/activities/internal_models/shared/pdf/instructions_validation_reporting_credit_risk.en.pdf.

    [2] Baesens, Bart, Daniel Roesch, and Harald Scheule. Credit Risk Analytics: Measurement Techniques, Applications, and Examples in SAS. Wiley, 2016.

    Version History

    Introduced in R2026a