Skip to content

Understanding Test Suites & Thresholds

A test suite is a collection of compliance tests that run together to evaluate a CLO portfolio against its indenture requirements. CalcBridge provides pre-built test suites for common CLO structures and allows full customization for deal-specific requirements.

What is a Test Suite?

A test suite groups related compliance tests into a single executable unit. Each suite contains:

  • Test definitions - The specific compliance tests to run
  • Threshold configurations - Pass/fail boundaries for each test
  • Warning levels - Early warning thresholds (typically 90% of limit)
  • Execution order - Dependencies between tests
  • Reporting template - How results are formatted
flowchart TB
    subgraph Suite["Test Suite: Standard CLO"]
        direction TB
        A[Concentration Tests]
        B[Rating Tests]
        C[Coverage Tests]
        D[Quality Tests]
        E[Diversity Tests]
    end

    A --> F[Results]
    B --> F
    C --> F
    D --> F
    E --> F

    style Suite fill:#EFF6FF,stroke:#3B82F6
    style F fill:#DCFCE7,stroke:#22C55E

Test Categories

CalcBridge organizes compliance tests into five categories, each addressing different aspects of portfolio risk:

1. Concentration Tests

Concentration tests ensure the portfolio is not overly exposed to any single obligor, industry, or geographic region.

Test Name Description Typical Limit
Single Obligor Maximum exposure to any one borrower 2-10% of par
Top 5 Obligors Combined exposure to largest 5 borrowers 20-40% of par
Top 10 Obligors Combined exposure to largest 10 borrowers 40-60% of par
Single Industry Maximum exposure to any one industry 10-15% of par
Single Country Maximum exposure to any one country 15-25% of par
Second Lien Maximum second lien loan exposure 5-15% of par

How Single Obligor Limits Work

The single obligor limit is calculated as:

Obligor Concentration = (Obligor Par Value / Total Portfolio Par) * 100

If any obligor exceeds the limit, the test fails. CalcBridge evaluates every obligor in the portfolio and reports the highest concentration.

2. Rating Tests

Rating tests monitor the credit quality distribution of the portfolio.

Test Name Description Typical Limit
CCC/Caa Bucket Loans rated CCC+ or below 5-7.5% of par
WARF Weighted Average Rating Factor 2500-3000
Minimum Rating Percentage meeting minimum rating 90-95% of par
Split Ratings Loans with divergent agency ratings 10-15% of par

Rating Agency Mappings:

CalcBridge supports all major rating agencies with automatic cross-mapping:

Moody's S&P Fitch Numeric Score
Aaa AAA AAA 1
Aa1 AA+ AA+ 2
Aa2 AA AA 3
... ... ... ...
B3 B- B- 16
Caa1 CCC+ CCC+ 17
Caa2 CCC CCC 18
Caa3 CCC- CCC- 19

CCC Threshold

Loans rated Caa1/CCC+ (numeric score 17) or worse are considered "CCC bucket" loans. The composite rating uses the worst rating from available agencies.

3. Coverage Tests

Coverage tests verify that the portfolio provides adequate protection for debt holders.

Test Name Description Typical Minimum
Senior OC Ratio Senior overcollateralization 115-125%
Mezzanine OC Ratio Mezzanine overcollateralization 105-115%
Junior OC Ratio Junior overcollateralization 100-110%
Senior IC Ratio Senior interest coverage 120-150%
Mezzanine IC Ratio Mezzanine interest coverage 110-130%

OC Ratio Calculation:

OC Ratio = (Collateral Principal Balance / Tranche Principal Balance) * 100

Example:
- Collateral Balance: $500,000,000
- Senior Tranche: $400,000,000
- Senior OC Ratio: ($500M / $400M) * 100 = 125%

4. Quality Tests

Quality tests assess the overall characteristics of the loan portfolio.

Test Name Description Typical Range
WAS Weighted Average Spread Minimum 3.0-4.0%
WAL Weighted Average Life Maximum 4.0-6.0 years
WARF Weighted Average Rating Factor Maximum 2500-3000
Minimum Coupon Weighted average coupon Minimum 4.0-5.0%

WAS Calculation:

# Weighted Average Spread
WAS = Sum(Loan Par * Loan Spread) / Sum(Loan Par)

# Example
Portfolio:
  - Loan A: $10M par, 3.50% spread
  - Loan B: $15M par, 4.00% spread
  - Loan C: $25M par, 3.75% spread

WAS = ($10M * 3.50% + $15M * 4.00% + $25M * 3.75%) / $50M
WAS = ($350K + $600K + $937.5K) / $50M
WAS = 3.775%

5. Diversity Tests

Diversity tests measure how well the portfolio is diversified across obligors and industries.

Test Name Description Typical Minimum
Moody's Diversity Score Effective number of independent obligors 40-60
Industry Diversity Number of distinct industries 15-20
Obligor Count Minimum number of obligors 100-150

Diversity Score Calculation:

The Moody's diversity score approximates the effective number of independent obligors using the Herfindahl-Hirschman Index (HHI):

# Simplified diversity score calculation
HHI = Sum(Obligor Weight ^ 2)
Diversity Score = 1 / HHI

# Example
Portfolio with 4 obligors:
  - Obligor A: 40% weight -> 0.16
  - Obligor B: 30% weight -> 0.09
  - Obligor C: 20% weight -> 0.04
  - Obligor D: 10% weight -> 0.01

HHI = 0.16 + 0.09 + 0.04 + 0.01 = 0.30
Diversity Score = 1 / 0.30 = 3.33

Full Moody's Calculation

The actual Moody's diversity score calculation includes industry correlation adjustments. CalcBridge implements the complete methodology when industry data is available.

Threshold Configuration

Setting Threshold Values

Thresholds are configured per test suite and can be customized for each deal:

{
  "suite_name": "Standard CLO v2",
  "description": "Standard compliance tests for US BSL CLOs",
  "thresholds": {
    "concentration": {
      "single_obligor_limit_pct": 10.0,
      "top_5_obligor_limit_pct": 40.0,
      "single_industry_limit_pct": 15.0,
      "second_lien_limit_pct": 10.0
    },
    "rating": {
      "ccc_bucket_limit_pct": 7.5,
      "maximum_warf": 2850
    },
    "coverage": {
      "minimum_senior_oc_ratio": 120.0,
      "minimum_mezzanine_oc_ratio": 108.0,
      "minimum_senior_ic_ratio": 150.0
    },
    "quality": {
      "minimum_was": 3.25,
      "maximum_wal": 5.5
    },
    "diversity": {
      "minimum_diversity_score": 45.0,
      "minimum_obligor_count": 120
    }
  },
  "warning_threshold_pct": 90.0
}

Warning Levels

CalcBridge uses a three-tier status system:

Status Description Default Trigger
Pass Test is within acceptable limits < 90% of threshold
Warning Test is approaching threshold 90-100% of threshold
Fail Test has breached threshold > 100% of threshold

Customizing Warning Levels

The default warning threshold is 90% of the limit. For critical tests, you may want to set this lower (e.g., 80%) to get earlier warnings.

Test Direction

Some tests have minimum thresholds (higher is better), while others have maximum thresholds (lower is better):

Test Type Direction Pass Condition
Concentration Maximum Current < Threshold
CCC Bucket Maximum Current < Threshold
OC Ratio Minimum Current > Threshold
IC Ratio Minimum Current > Threshold
WAS Minimum Current > Threshold
WAL Maximum Current < Threshold
Diversity Minimum Current > Threshold

Pre-Built Test Suites

CalcBridge includes several pre-built test suites:

Standard CLO Suite

The most commonly used suite for US Broadly Syndicated Loan (BSL) CLOs:

Suite: Standard CLO
Tests: 24
Categories:
  - Concentration (8 tests)
  - Rating (4 tests)
  - Coverage (6 tests)
  - Quality (3 tests)
  - Diversity (3 tests)

Middle Market CLO Suite

Adjusted thresholds for middle market loan portfolios:

Suite: Middle Market CLO
Tests: 20
Key Differences:
  - Higher single obligor limits (15% vs 10%)
  - Lower diversity requirements (30 vs 45)
  - Higher CCC bucket tolerance (10% vs 7.5%)

European CLO Suite

Compliance tests for European CLO structures:

Suite: European CLO
Tests: 22
Key Differences:
  - Currency-adjusted calculations
  - EU regulatory requirements
  - Retention rule compliance

Creating Custom Test Suites

Via API

curl -X POST https://api.calcbridge.io/api/v1/compliance/suites \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Custom Deal Suite",
    "description": "Custom thresholds for Deal ABC 2024-1",
    "base_suite": "standard_clo",
    "threshold_overrides": {
      "concentration": {
        "single_obligor_limit_pct": 8.0
      },
      "rating": {
        "ccc_bucket_limit_pct": 5.0
      }
    },
    "enabled_tests": [
      "single_obligor",
      "top_5_obligor",
      "ccc_bucket",
      "senior_oc_ratio",
      "was",
      "wal",
      "diversity_score"
    ]
  }'

Via UI

  1. Navigate to Settings > Compliance > Test Suites
  2. Click Create New Suite
  3. Select a base suite to start from
  4. Adjust thresholds as needed
  5. Enable/disable individual tests
  6. Save and assign to workbooks

Best Practices

Threshold Management Best Practices

  1. Start from indenture documents - Always verify thresholds against the actual deal documents

  2. Version control suites - Create new suite versions rather than modifying existing ones

  3. Document changes - Record why thresholds were adjusted

  4. Test conservatively - Set warning levels earlier rather than later

  5. Review quarterly - Audit suite configurations during quarterly reporting

Example: Typical CLO Compliance Tests

Here is a complete example of a typical CLO test suite configuration:

# ComplianceCalculator default thresholds
STANDARD_CLO_THRESHOLDS = {
    # Concentration Limits
    "single_obligor_limit_pct": Decimal("10.0"),
    "top_5_obligor_limit_pct": Decimal("40.0"),
    "single_industry_limit_pct": Decimal("15.0"),

    # Rating Limits
    "ccc_bucket_limit_pct": Decimal("7.5"),

    # Coverage Minimums
    "minimum_oc_ratio": Decimal("120.0"),
    "minimum_ic_ratio": Decimal("150.0"),

    # Quality Metrics
    "minimum_was": Decimal("3.0"),
    "maximum_wal": Decimal("5.0"),

    # Diversity Minimums
    "minimum_diversity_score": Decimal("40.0"),
}

Next: Running Compliance Tests