Policy clause
"No investments in sanctioned countries": how to write it, test it and evidence it
A country prohibition bars holdings tied to the countries a policy lists. It becomes testable once the list is named and the tie is defined: issuer domicile, listing country or country of risk. Acclimetry's permitted and prohibited list matches issuer domicile and listing country; designated companies and people need a sanctions screen from a data source.
The portfolio will not invest in securities of issuers in countries subject to sanctions.
instrument_listQuestions to settle before it can be tested
- Which list: UK, EU, UN or US sanctions, as at which date? The policy should annex its country list or name the list it follows.
- Tied how: issuer domicile, listing country or country of risk? A bond listed in Dublin can be issued by a company domiciled in a listed country.
- Countries or persons: many sanctions designate named people and companies, which a country list will not catch.
- Frozen holdings: a position that cannot be sold is still a holding and still breaches until it is gone.
As a testable rule
Permitted and prohibited list template, mode prohibited, with the policy's countries as both issuer countries and listing countries, matched case-insensitively. Any matching holding is a breach regardless of weight, with the weight reported. The list is part of the approved version, so changing it is a new version.
A testable wording
The portfolio will not hold securities issued by companies domiciled in, or listed in, a country on the list in Annex B. The committee updates the list when the UK sanctions regimes change.
For named people and companies, add an exclusion screen of type sanctions; waivers and temporary exceptions covers holdings that cannot be sold.
Worked example
A written-down Eurobond listed in Dublin, issued by a company domiciled in a listed country, breaches at 0.6%; listing country alone would miss it.
Rule template:instrument_list mode: prohibitedcountries: RU, BYissuerCountries: RU, BY
| Holding | Class | Country | Market value |
|---|---|---|---|
| UK equity fund | Equities | GB | 1,800,000 |
| US equities | Equities | US | 1,200,000 |
| UK Treasury 3.25% 2033 | Government bonds | GB | 900,000 |
| Legacy Eurobond 2027, written down | Corporate bonds | IE | 24,000 |
| Cash | Cash | – | 76,000 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Prohibited holdings | Breach | 0.6% | – | – | PROHIBITED_HOLDING_PRESENT |
PROHIBITED_HOLDING_PRESENT: Returned by the engine; the registry’s reason-code dictionary has no entry for it.
Largest contributors: Prohibited holdings → Legacy Eurobond 2027, written down 0.6%
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 state, reason code, the offending holdings by name and their weight. A breach opens a case at the first observation; a frozen holding stays visible and can carry a time-bound waiver. A sanctions screen fed by an approved data source can run alongside as a separate rule.