Policy clause
"Hold at least 20 different issuers": how to write it, test it and evidence it
A minimum-issuers clause sets a floor on diversification by counting distinct issuers rather than weights. It becomes testable once issuer is defined, usually as an issuer group, and the policy says whether cash and funds count. Acclimetry's diversification template counts distinct issuer groups, a measure that missing prices do not affect.
The portfolio will hold securities of at least 20 different issuers.
diversificationQuestions to settle before it can be tested
- Issuer or group: two subsidiaries of one parent count once, because Acclimetry counts issuer groups and uses the issuer where no parent is recorded.
- Cash and funds: does a pooled fund count as one issuer? Exempt the classes the policy does not count; every other holding must name an issuer.
- Token holdings: twenty issuers with one at 80% is diversified in name only, so pair the count with a weight cap.
- Missing issuers: a holding with no issuer makes the count a floor, not a fact, and the rule reads not evaluated.
As a testable rule
Diversification template, measure minimum issuers, cash exempt: the number of distinct issuer groups among the measured holdings. Hard minimum 20, warning minimum 22. The count ignores valuations, so it stays evaluable when a price is missing.
A testable wording
The portfolio will hold securities of at least 20 issuer groups, counting a parent and its subsidiaries once. Cash and units in collective funds are not counted, and no group may exceed 5% of the portfolio.
The last condition is the 5% issuer limit. See minimum diversification and the diversification requirement entry.
Worked example
Seven bonds in a new mandate's first week come from six issuer groups, the two Beacon entities counting once: 6 against 20.
Rule template:diversification measure: min_issuersexemptClassNames: Cash
Bounds: hard min 20 · warn min 22
| Holding | Issuer | Issuer group | Class | Market value |
|---|---|---|---|---|
| Beacon Bank 4% 2029 | Beacon Bank plc | Beacon Banking Group | Corporate bonds | 500,000 |
| Beacon Finance 4.5% 2031 | Beacon Finance plc | Beacon Banking Group | Corporate bonds | 500,000 |
| Kestrel Utilities 4.25% 2030 | Kestrel Utilities plc | – | Corporate bonds | 500,000 |
| Lumen Telecom 5% 2028 | Lumen Telecom plc | – | Corporate bonds | 500,000 |
| Northwind Energy 4.75% 2032 | Northwind Energy plc | – | Corporate bonds | 500,000 |
| Supranational 3.5% 2030 | Supranational bank | – | Supranational bonds | 500,000 |
| UK Treasury 4.5% 2034 | HM Treasury | – | Government bonds | 500,000 |
| Cash | – | – | Cash | 100,000 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Distinct issuers | Breach | 6 | ≥ 20 warning ≥ 22 | -14 -16 to warning | BELOW_HARD_MINIMUM |
BELOW_HARD_MINIMUM: The measured value falls below the approved hard minimum, beyond any stated tolerance.
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 distinct count, its state and headroom to the warning and hard minimums. A holding without an issuer produces a not-evaluated result stating how many were unknown. A breach opens a case like any other limit.