Methodology note
Benchmark weights and as-of dates
A benchmark-relative limit caps active weight: the portfolio's weight in a group minus the benchmark's weight, both in percent of NAV. Equities at 64% against a 60% benchmark weight are 4 points active. The result depends on benchmark weights supplied for a stated date, so the weights and their as-of date belong with every result.
benchmark_relative · Asset allocation ranges (policy ranges and rebalancing bands)allocation_rangeHow active weight is measured
Active weight is the portfolio weight minus the supplied benchmark weight, both in percent of NAV. A band can bound it on both sides, with warnings inside.
The rule names the benchmark and its as-of date, and the result carries both. In the example, equities at 64% against a 60% weight are 4 points over. That is past a 3-point warning and inside a 5-point limit.
Underweights breach too
A benchmark group the portfolio does not hold has negative active weight equal to its benchmark weight. In the registry's worked case, property at 0% against a 20% weight is −20 active and breaches a −10 floor.
A rule written only as "no more than 5 points overweight" misses that. Set the floor as well as the ceiling.
Pitfall: stale weights
Benchmark weights move every day with prices and index changes. Weights supplied once a quarter drift from the real index, and active weight drifts with them.
Record the as-of date and refresh the weights on a stated cycle. A result measured against a benchmark dated months before the portfolio answers a different question.
Pitfall: groups that do not match
The portfolio's groups must use the same classification as the benchmark's. If the portfolio says "Equities" and the benchmark says "Stocks", nothing matches.
Licensed index classifications also carry usage terms. Check that you may use them before mapping holdings to them.
Worked example
Equities at 64% against a 60% benchmark weight are 4 points overweight: past a 3-point warning, inside a 5-point limit.
Rule template:benchmark_relative attribute: classbenchmarkName: Policy benchmarkbenchmarkAsOf: 2026-06-30weights: group=Equities, weight=60, hardMin=-5, hardMax=5, warnMin=-3, warnMax=3
| Holding | Class | Market value |
|---|---|---|
| Global equities | Equities | 640 |
| Bonds | Bonds | 360 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Equities | Warning | 4% | – | 1% -1% to warning | ABOVE_WARNING_MAXIMUM |
ABOVE_WARNING_MAXIMUM: The measured value has crossed the early-warning maximum but not the hard limit.
Largest contributors: Equities → Global equities 64%
Computed at build time by the Acclimetry rule engine (backend commit 8197063); the same code runs in the product.
Questions
Who supplies benchmark weights?
Usually the index provider or the manager, under licence. Record the source and the as-of date with each result.
Should active-weight limits be symmetric?
Not necessarily. A policy may allow a larger underweight than overweight, so set the floor and the ceiling separately.