Policy clause

"Average credit quality of at least A-": how to write it, test it and evidence it

An average-rating clause sets a floor on the portfolio's weighted credit quality rather than on each bond. Letters cannot be averaged, so the policy must name a numeric scale, the rule for split ratings and the treatment of unrated bonds. Acclimetry can band a governed numeric rating score; it does not turn letters into scores.

The average credit quality of the bond portfolio must be at least A-.
Rule template
Custom data-field bands custom_field_band

Questions to settle before it can be tested

  1. Which scale: a linear ladder from AAA = 1 to D = 22, or a default-probability scale that weights low grades more? The two can disagree on the same bonds.
  2. Which rating: lowest, median or one named agency? The score field must follow the same rule.
  3. Unrated bonds: score them, exclude them or stop? A bond with no score makes the average not evaluated.
  4. What is averaged: bonds only, or cash at a nominal score? Exempt classes leave the average entirely.

As a testable rule

Custom field band template, field RATING_SCORE on the ladder AAA = 1 to D = 22, value-weighted average, cash exempt. Hard maximum 7, the score for A-, with a warning at 6.5: a lower score is better, so the band caps the average. The score is a governed input that the data team maintains.

A testable wording and where it stops

The value-weighted average rating of the bonds must be 7 (A-) or better. Ratings are scored from AAA = 1 to D = 22, using the lower available rating. Unrated bonds score 12 (BB).

The credit quality floor reads letter grades bond by bond; an average needs numbers, so the score arrives as a field. If the policy means no bond below A-, use the floor instead.

Worked example

Weighted by value, the six bonds average 7.24, worse than A- (7), though none is below BBB-; cash is exempt.

Rule template: custom_field_band

fieldCode: RATING_SCORE
scopeLevel: portfolio
aggregate: weighted_average
exemptClassNames: Cash
Bounds: warn max 6.5 · hard max 7

Holdings
HoldingClassMarket valueRATING_SCORE
Supranational 3.5% 2030 (AAA)Bonds300,0001
Sovereign 4% 2034 (AA)Bonds500,0003
Corporate 4.5% 2031 (A+)Bonds700,0005
Corporate 5% 2032 (A-)Bonds900,0007
Corporate 5.5% 2030 (BBB)Bonds1,400,0009
Corporate 6% 2033 (BBB-)Bonds1,200,00010
CashCash250,000(blank)
Result
GroupStatusValueBoundsHeadroom to the hard boundCode
Portfolio Breach 7.24 ≤ 7
warning ≤ 6.5
-0.24
-0.74 to warning
ABOVE_HARD_MAXIMUM
  • ABOVE_HARD_MAXIMUM: The measured value exceeds the approved hard maximum, beyond any stated tolerance.

Largest contributors: Portfolio → Corporate 6% 2033 (BBB-) 10, Corporate 5.5% 2030 (BBB) 9, Corporate 5% 2032 (A-) 7

Computed at build time by the Acclimetry rule engine (backend commit 8197063); the same code runs in the product.

What each monitoring run records

Each run stores the average score, its state, headroom, numerator and denominator, with the worst-scored bonds as contributors. A missing score produces a not-evaluated result stating how many bonds lacked it. The scale is recorded on the rule version as an author decision, so the reading can be reproduced.

Updated: 13 October 2026Acclimetry · Foreranger Ltd