Policy clause
"Across all family entities, no more than 10% in one company": how to write it, test it and evidence it
A family-wide concentration limit measures one company's share of everything the family owns, across trusts, holding companies and personal accounts. One small entity may hold 30% in a company while the family total stays under 10%. Acclimetry's related-portfolio concentration measures the whole set against its combined value.
Across all family entities, no more than 10% of total family wealth may be invested in any one company.
related_portfolio_concentrationQuestions to settle before it can be tested
- Which entities: trusts, holding companies, personal accounts, foundations? The set of portfolios the rule measures must match the policy's list.
- One company: the parent and its subsidiaries, or the legal issuer? Measure by issuer group for the parent view.
- The family business: is the operating company inside the limit, carved out, or given its own band?
- Funds: a fund is not a company, but the rule caps every issuer group it measures. Leaving funds out also removes them from the combined value.
As a testable rule
Related-portfolio concentration template, dimension issuer group, applied to the set of family portfolios: each group's value across the set over the set's combined value. Hard maximum 10%, warning maximum 8%. If any member portfolio has no accepted data, the whole set reads not evaluated and the result names the member.
Where the example stops
The engine evaluates set-level rules in their own pass across the member portfolios. The example pools the three entities' holdings into one list and runs the single-portfolio concentration test. It gives the same figures as the set-level rule when every holding names its issuer.
See combined denominators and the family office page.
Worked example
Across three entities, Acme is 12% of the family's 16m, over the cap; with no carve-outs, funds, gilts and cash exceed 10% too.
Rule template:concentration dimension: issuerGroup
Bounds: warn max 8% · hard max 10%
| Holding | Issuer | Issuer group | Class | Market value |
|---|---|---|---|---|
| Acme Holdings plc shares (holding company) | Acme Holdings plc | Acme group | Equities | 1,380,000 |
| Acme Holdings plc shares (personal account) | Acme Holdings plc | Acme group | Equities | 300,000 |
| Acme Finance 4% 2030 (family trust) | Acme Finance plc | Acme group | Corporate bonds | 240,000 |
| Global equity fund (family trust) | Global equity fund | Global equity fund | Funds | 4,500,000 |
| UK Treasury 4.25% 2035 (family trust) | HM Treasury | HM Treasury | Government bonds | 3,260,000 |
| Corporate bond fund (holding company) | Corporate bond fund | Corporate bond fund | Funds | 2,820,000 |
| Cash (holding company) | Custodian bank | Custodian bank | Cash | 1,800,000 |
| Cash (personal account) | Private bank | Private bank | Cash | 1,700,000 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Acme group | Breach | 12% | ≤ 10% warning ≤ 8% | -2% -4% to warning | ABOVE_HARD_MAXIMUM |
| Global equity fund | Breach | 28.13% | ≤ 10% warning ≤ 8% | -18.13% -20.13% to warning | ABOVE_HARD_MAXIMUM |
| HM Treasury | Breach | 20.38% | ≤ 10% warning ≤ 8% | -10.38% -12.38% to warning | ABOVE_HARD_MAXIMUM |
| Corporate bond fund | Breach | 17.63% | ≤ 10% warning ≤ 8% | -7.63% -9.63% to warning | ABOVE_HARD_MAXIMUM |
| Custodian bank | Breach | 11.25% | ≤ 10% warning ≤ 8% | -1.25% -3.25% to warning | ABOVE_HARD_MAXIMUM |
| Private bank | Breach | 10.63% | ≤ 10% warning ≤ 8% | -0.63% -2.63% to warning | ABOVE_HARD_MAXIMUM |
ABOVE_HARD_MAXIMUM: The measured value exceeds the approved hard maximum, beyond any stated tolerance.
Largest contributors: Acme group → Acme Holdings plc shares (holding company) 8.63%, Acme Holdings plc shares (personal account) 1.88%, Acme Finance 4% 2030 (family trust) 1.5% · Global equity fund → Global equity fund (family trust) 28.13% · HM Treasury → UK Treasury 4.25% 2035 (family trust) 20.38%
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 one result per issuer group, recorded against every member portfolio, with the set's membership and the holdings across entities. The Analysis view rolls the same entities up by dimension for review. A breach opens a case like any other limit.