Investment restriction

Sector, country and region exposure bands

Sector, country and region bands keep the weight of each named group inside an approved range, such as emerging markets at most 15%. Acclimetry groups holdings by a built-in attribute, a governed custom field or a published taxonomy. It measures each listed group against NAV and discloses any weight it cannot classify.

Rule template
attribute_exposure
Attribute exposure band
Measured in
% of portfolio value
Worked examples, run by the engine
2

How policies word it

Geographic and sector limits take two forms. Named caps such as emerging markets no more than 15% apply to one group. Blanket caps such as no more than 25% in any one sector apply to every group of the attribute.

Funds whose names promise a focus carry floors of this kind. The US Names Rule requires at least 80% of assets to be invested as the name suggests. A policy should also say which classification it uses, because country of listing, country of risk and issuer domicile can differ.

  • Emerging-market equities will not exceed 15% of the portfolio.
  • No more than 25% of the portfolio in any one sector.
  • UK assets will make up at least 25% of the portfolio.
  • Exposure to any single country other than the United Kingdom is limited to 20%.

How it is measured

The rule names one grouping attribute. Built-in attributes include country, region, continent, issuer country and currency.

Sector or industry comes from a governed custom field, written field:CODE, or from a published taxonomy, written taxonomy:CODE. A taxonomy is read as it stood at the evaluation moment.

Each band names a group and states a hard minimum, a maximum or both, with optional warning bounds. The engine adds the market value of holdings in each listed group and divides by NAV, matching group names case-insensitively. Exempt classes, such as cash, are left out of both sides of the ratio.

Only listed groups are tested. A blanket cap such as ‘any one sector at most 25%’ needs a band per named sector today. A sector without a band is unconstrained.

Unclassified weight and breaches

A holding with no value for the attribute is not banked as ‘other’. Its weight is disclosed and the rule is not evaluated, because the group could be larger than measured. For example, 40% UK with 60% unclassified proves nothing against a 50% cap.

Country and sector weights drift with markets, so most breaches are passive. A warning bound gives notice, and a grace period in days delays the case’s clocks where the policy allows time to rebalance. The Analysis view reads exposure by dimension and can roll up an entity or household.

Data the check reads

Rule parameters

Weight bands per group of a governed attribute — sector, industry, country, region, market or jurisdiction — measured against NAV.

ParameterIn the platformOptions and help
attributeGrouping attributeclass, subClass, type, subType, strategy, currency, country, countryCode, region, continent, issuerCountry, issuer, issuerGroup, counterparty, counterpartyGroup
A built-in position attribute, field:CODE to group by a governed custom field, or taxonomy:CODE to group by the term of a published taxonomy in force at the evaluation moment.
bandsBands
exemptClassNamesExempt classesClasses the attribute does not apply to, excluded from both sides of the ratio.

Methodology choices

Parameter names, methodology text and result-code meanings are shown exactly as the platform states them.

Worked examples, run by the engine

Weight by a built-in attribute measures over the whole book

Rule template: attribute_exposure

attribute: country
bands: group=United Kingdom, hardMax=50

Holdings
HoldingCountryMarket value
GB1United Kingdom600
US1United States400
Result
GroupStatusValueBoundsHeadroom to the hard boundCode
United Kingdom Breach 60% – -10% ABOVE_HARD_MAXIMUM
  • ABOVE_HARD_MAXIMUM: The measured value exceeds the approved hard maximum, beyond any stated tolerance.

Largest contributors: United Kingdom → GB1 60%

These are the product's own test cases for this template, evaluated by the Acclimetry rule engine (backend commit 8197063). The build fails if any result changes.

Unclassified weight is disclosed, never banked as "other"

Rule template: attribute_exposure

attribute: country
bands: group=United Kingdom, hardMax=50

Holdings
HoldingCountryMarket value
GB1United Kingdom400
??–600
Result
GroupStatusValueBoundsHeadroom to the hard boundCode
United Kingdom Not evaluated: data quality 40% – 10% UNCLASSIFIED_ATTRIBUTE_WEIGHT
  • UNCLASSIFIED_ATTRIBUTE_WEIGHT: Part of the measured population carries no value for the attribute this rule groups by, so the weight cannot be attributed.

Largest contributors: United Kingdom → GB1 40%

These are the product's own test cases for this template, evaluated by the Acclimetry rule engine (backend commit 8197063). The build fails if any result changes.

Emerging markets are 126,000 of the 900,000 measured once exempt cash leaves both sides: 14%, past the 12% warning bound and inside the 15% cap.

Rule template: attribute_exposure

attribute: region
bands: group=Emerging markets, hardMax=15, warnMax=12
exemptClassNames: Cash

Holdings
HoldingClassMarket value
Developed-market equitiesEquities774,000
Emerging-market equitiesEquities126,000
Sterling cashCash100,000
Result
GroupStatusValueBoundsHeadroom to the hard boundCode
Emerging markets Warning 14% ≤ 15%
warning ≤ 12%
1%
-2% to warning
ABOVE_WARNING_MAXIMUM
  • ABOVE_WARNING_MAXIMUM: The measured value has crossed the early-warning maximum but not the hard limit.

Largest contributors: Emerging markets → Emerging-market equities 14%

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

Interpretation traps

‘Any one sector’ is a list of bands

There is no single any-group mode. Write a band for every sector the portfolio can hold; a sector added later is unconstrained until it has one, as with allocation ranges.

Which country

Country of listing, country of risk and issuer domicile can differ for the same holding. Pick the attribute that matches the policy’s intent and record it as an author decision.

Unclassified is not ‘other’

Funds, cash and new issues often lack a sector or country. Classify them or exempt their class; otherwise the rule is not evaluated, which is the safe reading. See missing and stale data.

Taxonomies change

Sector schemes are revised. Grouping by a published taxonomy uses the term in force at the evaluation moment. A past result can be reproduced under the taxonomy of its date.

Result codes this check can return

CodeStateMeaningWhat to do
ABOVE_HARD_MAXIMUM ✓BreachThe measured value exceeds the approved hard maximum, beyond any stated tolerance.Remediate the exposure, or record an approved waiver against the case.
EMPTY_PORTFOLIONot applicableThe portfolio held no positions at the evaluation moment.–
NO_MEASURED_POSITIONSNot applicableNo position in the portfolio fell inside this rule's measured population.–
NOT_IN_SCOPENot applicableThis rule version does not apply to this portfolio — the portfolio is outside the version's stated scope. Recorded so that "considered and out of scope" can be told from "never run".–
AGGREGATE_MEMBER_NOT_ACCEPTEDNot evaluated: data qualityA portfolio in the measured set has no authoritative snapshot, so the set-level number cannot be stated.Accept the named portfolios' snapshots. A partial set produces no aggregate.
SNAPSHOT_NOT_ACCEPTEDNot evaluated: data qualityThe portfolio's newest snapshot awaits data-quality review; only accepted data may produce an authoritative result.Accept, override or reject the snapshot on Data & Quality.
SNAPSHOT_REJECTEDNot evaluated: data qualityThe portfolio's newest snapshot was rejected, so there is no authoritative data to measure.Load a corrected file.
STALE_POSITIONSNot evaluated: data qualityThe newest snapshot is older than the organisation's staleness threshold.Load current positions, or revisit the threshold on Data & Quality ▸ Policy.
STALE_PRICESNot evaluated: data qualityA holding had no price on the position file and its approved price was older than the organisation's price-staleness threshold, so it was left unvalued.Load a current price for the holding, price it on the position file, or revisit the threshold on Data & Quality ▸ Policy.
UNCLASSIFIED_ATTRIBUTE_WEIGHT ✓Not evaluated: data qualityPart of the measured population carries no value for the attribute this rule groups by, so the weight cannot be attributed.Classify the unclassified holdings. Unknown is never banked as "other".
AWAITING_EXTERNAL_DATAPending external dataAn approved input is late but still inside the organisation's grace window. This is not a pass and not an exception.None yet. If the delivery does not arrive, this becomes a data-quality exception.
BAND_HAS_NO_BOUNDSNot evaluated: unsupportedA band in this rule version states neither a minimum nor a maximum, so there is nothing to decide against.Supersede the version with bounds on the band, or remove it.
METHOD_NOT_SUPPORTEDNot evaluated: unsupportedThe rule version asks for a measurement method this engine does not implement. Declared rather than approximated.Choose a supported methodology, or treat this limit as a manual obligation until the method ships.
EVALUATOR_ERRORNot evaluated: system errorThe evaluator raised an error. Surfaced as a visible result rather than as silence.Report it. A system error is never a pass and never a compliant reading.

✓ seen in the worked examples. The rest come from the platform registry’s own scan of the template source.

Regulatory analogues

Try it on your own holdings

The free Limit Checker runs this same template in your browser against a CSV of holdings. Nothing is uploaded.

Open the Limit Checker

Questions

How do I cap every sector at 25%?

Add a band at 25% for each sector the portfolio can hold. A sector without a band is not tested, so review the list when new sectors appear.

Does cash count as a country?

Only if it carries a country value. Exempting the cash class leaves it out of both sides of the ratio.

Where does the sector come from?

From a governed custom field or a published taxonomy that the organisation maintains. The template reads the classification; it does not supply it.

Sources

Updated: 12 October 2026Acclimetry · Foreranger Ltd