Policy clause
"No active weight beyond plus or minus 5% of the benchmark": how to write it, test it and evidence it
An active-weight band keeps each group of the portfolio within a set distance of its benchmark weight. It becomes testable once the policy names the benchmark weights, their date, the grouping and whether 5% means percentage points. Acclimetry's benchmark-relative limit measures portfolio weight minus supplied benchmark weight for each group.
No asset class may deviate from its benchmark weight by more than plus or minus 5%.
benchmark_relativeQuestions to settle before it can be tested
- Points or proportion: plus or minus 5 percentage points, or 5% of the benchmark weight, which is 2 points on a 40% weight?
- Which weights, as at when: benchmark weights are approved parameters with a source and date; the rule does not read an index feed.
- Grouping: asset class, region, sector or security? Each needs an attribute every holding carries.
- Unheld groups: a benchmark group the portfolio does not hold is underweight by its full weight and can breach too.
As a testable rule
Benchmark-relative template, attribute class, with the benchmark's name and as-of date recorded and one row per class. Each row holds the benchmark weight and active bounds: hard limits at plus and minus 5 points, warnings at plus and minus 4. Active weight is portfolio weight minus benchmark weight; new benchmark weights mean a new rule version.
A testable wording
Each asset class must stay within 5 percentage points of its weight in the policy benchmark in Annex A. The committee approves any change to those weights.
See benchmark weights and as-of dates and the active weight entry.
Worked example
Overseas equities at 46.2% against a 40% benchmark weight are 6.2 points overweight, beyond the band; bonds sit exactly on their warning bound.
Rule template:benchmark_relative attribute: classbenchmarkName: Policy benchmarkbenchmarkAsOf: 2026-09-30weights: group=Overseas equities, weight=40, hardMin=-5, hardMax=5, warnMin=-4, warnMax=4 · group=UK equities, weight=20, hardMin=-5, hardMax=5, warnMin=-4, warnMax=4 · group=Bonds, weight=35, hardMin=-5, hardMax=5, warnMin=-4, warnMax=4 · group=Cash, weight=5, hardMin=-5, hardMax=5, warnMin=-4, warnMax=4
| Holding | Class | Market value |
|---|---|---|
| Overseas equities | Overseas equities | 4,620,000 |
| UK equities | UK equities | 1,880,000 |
| Bonds | Bonds | 3,100,000 |
| Cash | Cash | 400,000 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Overseas equities | Breach | 6.2% | – | -1.2% -2.2% to warning | ABOVE_HARD_MAXIMUM |
| UK equities | Compliant | -1.2% | – | 3.8% 2.8% to warning | WITHIN_LIMITS |
| Bonds | Compliant | -4% | – | 1% 0% to warning | WITHIN_LIMITS |
| Cash | Compliant | -1% | – | 4% 3% to warning | WITHIN_LIMITS |
ABOVE_HARD_MAXIMUM: The measured value exceeds the approved hard maximum, beyond any stated tolerance.WITHIN_LIMITS: The measured value sits inside every approved bound.
Largest contributors: Overseas equities → Overseas equities 46.2% · UK equities → UK equities 18.8% · Bonds → Bonds 31%
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 row per group with the active weight, the portfolio and benchmark weights behind it, its state and headroom. The benchmark's name and as-of date travel with every result. A breach opens a case like any other limit.