Awesome-omni-skill portfolio-risk-drift-detection

Detect and explain risk drift in lending portfolios over time using vintage analysis, migration matrices, and concentration metrics. Use when monitoring portfolio credit quality trends, preparing board risk reports, conducting stress testing, or when risk metrics deviate from appetite thresholds.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/portfolio-risk-drift-detection" ~/.claude/skills/diegosouzapw-awesome-omni-skill-portfolio-risk-drift-detection-b795d4 && rm -rf "$T"
manifest: skills/devops/portfolio-risk-drift-detection/SKILL.md
source content

Portfolio Risk Drift Detection

Overview

Monitor and quantify changes in lending portfolio risk profiles over time. This skill applies vintage analysis, credit migration matrices, concentration tracking, and early warning indicators to detect drift from the institution's risk appetite before losses materialize. Outputs include trend decomposition, attribution of drift drivers, and actionable recommendations for portfolio management committees.

When to Use

  • Quarterly portfolio risk reporting to board and risk committees
  • Detecting origination quality deterioration across vintages
  • Monitoring concentration limit breaches (geography, industry, borrower)
  • Stress testing portfolio resilience under adverse scenarios
  • Evaluating impact of credit policy changes on portfolio composition
  • Responding to early warning signals from delinquency or migration trends

Required Inputs

InputDescriptionFormat
Loan tapeFull portfolio with origination and performance dataLoan-level extract
Vintage tagsOrigination quarter/year for each loanDate field
Risk ratingsInternal risk grades or PD bandsRating scale
Performance dataDelinquency status, charge-offs, modificationsMonthly snapshots
Risk appetiteBoard-approved limits and thresholdsPolicy document
Macro indicatorsUnemployment, HPI, GDP, interest rate forecastsEconomic data feed

Methodology

Step 1 — Vintage Curve Analysis

Construct cumulative default and loss curves by origination vintage:

  • Plot cumulative net charge-off (NCO) rate by months-on-book for each vintage
  • Compare recent vintages against seasoned benchmarks at equivalent age points
  • Calculate the vintage deviation index: ratio of current vintage NCO to benchmark NCO at the same month-on-book
  • Flag vintages where the deviation index exceeds 1.2 (20% worse than benchmark)
  • Decompose deviations into volume effect (mix shift) vs. rate effect (quality shift)

Step 2 — Credit Migration Matrix Construction

Build transition matrices showing rating movement between periods:

  • Construct NxN migration matrix for each reporting period (quarterly recommended)
  • Calculate upgrade rate, downgrade rate, and stability rate for each grade
  • Compute the weighted average migration score (WAMS): positive = portfolio upgrading, negative = degrading
  • Compare current migration patterns against historical norms (3-year, 5-year averages)
  • Identify grades with abnormal downgrade velocity (>1.5x historical rate)

Step 3 — Concentration Drift Tracking

Monitor portfolio concentration across key dimensions:

  • Geographic: Exposure by state/MSA vs. limits
  • Industry/sector: NAICS-code concentration vs. diversification targets
  • Borrower size: Single-name concentration and top-10/top-25 exposure
  • Product mix: Fixed vs. variable, secured vs. unsecured, term vs. revolving
  • Risk grade distribution: Percentage in pass, watch, substandard, doubtful

Calculate the Herfindahl-Hirschman Index (HHI) for each dimension and track trend. Flag any dimension where HHI increases by >10% quarter-over-quarter or breaches the policy limit.

Step 4 — Early Warning Indicator Dashboard

Compute and trend the following leading indicators:

  • 30-day delinquency rate by vintage and product (earliest signal)
  • Roll rate analysis: Probability of transitioning from current → 30 DPD → 60 DPD → 90 DPD → charge-off
  • Probability of Default (PD) migration: Weighted average PD of the portfolio vs. prior periods
  • Loss Given Default (LGD) trend: Recovery rates on realized defaults
  • Expected Credit Loss (ECL) under CECL/IFRS 9: Lifetime loss estimate movement
  • Criticized asset ratio: Classified + special mention as percentage of total loans

Step 5 — Attribution Analysis

Decompose observed drift into root causes:

  • Origination quality: Are new bookings riskier than historical averages?
  • Seasoning effect: Are older loans performing as expected at their age?
  • Economic environment: Can macro factor shifts explain the observed migration?
  • Policy changes: Did recent credit policy modifications alter the risk profile?
  • Portfolio runoff: Are payoffs concentrated in lower-risk segments, leaving a riskier residual pool?

Use a decomposition framework: Total drift = Origination effect + Seasoning effect + Economic effect + Mix effect + Residual

Step 6 — Stress Scenario Overlay

Project portfolio performance under stress:

  • Apply regulatory stress scenarios (CCAR severely adverse) to current portfolio
  • Calculate stressed PD, LGD, and ECL under each scenario
  • Compare stressed losses to capital buffers and loan loss reserves
  • Assess whether observed drift has increased vulnerability to stress
  • Quantify the incremental capital needed if drift continues at current trajectory

Step 7 — Report Generation and Recommendations

Produce a comprehensive drift report with:

  • Portfolio risk dashboard with traffic-light indicators
  • Trend charts for all key metrics (12-quarter minimum horizon)
  • Specific drift findings with root cause attribution
  • Comparison to risk appetite thresholds (within / approaching / breached)
  • Recommended management actions (tighten origination, increase reserves, hedging)

Output Specification

## Portfolio Risk Drift Report — [Period]

### Risk Dashboard
| Metric | Current | Prior Qtr | YoY Change | Appetite Limit | Status |
|--------|---------|-----------|------------|----------------|--------|
| WA PD | X.XX% | X.XX% | +/- X bps | X.XX% | [G/Y/R] |
| WA LGD | XX.X% | XX.X% | +/- X pp | XX.X% | [G/Y/R] |
| NCO Rate | X.XX% | X.XX% | +/- X bps | X.XX% | [G/Y/R] |
| 30+ DPD | X.XX% | X.XX% | +/- X bps | X.XX% | [G/Y/R] |
| HHI (Geo) | X,XXX | X,XXX | +/- XXX | X,XXX | [G/Y/R] |
| Criticized Ratio | X.XX% | X.XX% | +/- X bps | X.XX% | [G/Y/R] |

### Vintage Analysis
- Worst-performing vintage: [Quarter] — [X]% above benchmark at [N] MOB
- Vintages on watch: [List]

### Migration Summary
- Weighted average migration score: [X.XX] (negative = deteriorating)
- Grades with elevated downgrade velocity: [List]

### Drift Attribution
- Origination quality: [X]% of total drift
- Economic environment: [X]% of total drift
- Mix/runoff effect: [X]% of total drift
- Policy change impact: [X]% of total drift

### Stress Test Impact
- Baseline ECL: $[X]M
- Severely adverse ECL: $[X]M (+[X]%)
- Capital adequacy under stress: [Adequate / Marginal / Insufficient]

### Recommendations
1. [Action — responsible party — timeline]
2. [Action — responsible party — timeline]
3. [Action — responsible party — timeline]

Analysis Framework

Apply the VMIC framework:

  • Vintage — Compare cohort performance curves against benchmarks
  • Migration — Track credit grade transitions for directional drift
  • Indicators — Monitor leading delinquency and loss signals
  • Concentration — Measure diversification changes across dimensions

Examples

Example 1 — Origination Quality Deterioration

Finding: Q3 2025 vintage auto loans show 30-day delinquency of 4.2% at 6 MOB vs. 2.8% benchmark (deviation index: 1.50). Attribution: 68% origination quality (average FICO dropped 22 points post-policy change), 32% economic (regional unemployment spike). Recommendation: Revert minimum FICO to pre-change threshold, apply geographic risk overlay for affected MSAs.

Example 2 — Concentration Breach

Finding: CRE office exposure reached 342% of Tier 1 capital (limit: 300%). HHI for sector concentration increased 18% QoQ. Migration matrix shows 12% of CRE office loans downgraded in the quarter (historical norm: 4%). Recommendation: Pause new CRE office originations, accelerate workout for substandard credits, present remediation plan to board within 30 days.

Guidelines

  • Use at least 12 quarters of historical data for trend analysis and benchmark construction
  • Apply both absolute thresholds and rate-of-change triggers for early warning
  • Separate portfolio drift from expected seasoning patterns using age-adjusted metrics
  • Validate vintage curves against actual loss emergence before using as benchmarks
  • Coordinate findings with ALCO, credit risk committee, and finance (reserve adequacy)
  • Present migration matrices at the individual grade level, not aggregated pass/fail
  • Document all data sources, exclusions, and methodology assumptions

Validation Checklist

  • Vintage curves are age-adjusted for fair comparison across cohorts
  • Migration matrices are complete (all grades represented, rows sum to 100%)
  • Concentration metrics reflect current outstandings, not commitments alone
  • Early warning indicators use consistent definitions across periods
  • Attribution analysis accounts for all material drift drivers
  • Stress scenarios are current (aligned with latest CCAR/DFAST guidance)
  • Risk appetite thresholds reflect board-approved limits, not informal targets
  • Report includes both quantitative metrics and narrative context
  • Data quality issues are disclosed and their impact on conclusions assessed
  • Recommendations are prioritized by urgency and expected impact