Policy clause
"Portfolio duration within one year of the benchmark": how to write it, test it and evidence it
A relative duration limit keeps the portfolio's interest-rate sensitivity close to its benchmark's. Acclimetry measures portfolio duration as a value-weighted average of a governed duration field, but holds no benchmark analytics. The nearest configuration is an absolute band set around the benchmark's duration on the approval date, re-approved when the benchmark moves.
The portfolio's duration will be maintained within plus or minus one year of the benchmark's duration.
duration_maturityQuestions to settle before it can be tested
- Which duration: modified, effective or spread duration, from which source? The field must hold the same measure for every bond.
- A moving target: index changes and time shift the benchmark's duration. A fixed band needs a review trigger, such as a 0.25-year drift.
- Cash and futures: cash at zero duration lowers the average, and futures add duration with little market value, which a value-weighted average cannot capture.
- Exactly one year: a value on the bound is compliant.
As a testable rule
Duration and maturity band template, field DURATION in years, cash exempt. With the benchmark at 7.2 years on the approval date: hard bounds 6.2 and 8.2, warning bounds 6.4 and 8.0. A new rule version re-centres the band when the benchmark's duration moves by more than the policy allows.
A testable wording and where it stops
The portfolio's modified duration, excluding cash, will be within one year of the benchmark's modified duration at the last quarter-end. The band is reset each quarter.
The benchmark-relative limit measures active weights from supplied benchmark weights; relative duration needs a risk model the platform does not hold. Between resets, benchmark drift is invisible to the rule.
Worked example
Excluding cash, the bonds' duration is 8.05 years, past the 8.0 warning; with cash counted at zero, it would be 7.245.
Rule template:duration_maturity fieldCode: DURATIONexemptClassNames: Cash
Bounds: hard min 6.2 years · warn min 6.4 years · warn max 8 years · hard max 8.2 years
| Holding | Class | Market value | DURATION |
|---|---|---|---|
| UK Treasury 2028 | Government bonds | 1,500,000 | 1.9 |
| UK Treasury 2035 | Government bonds | 2,000,000 | 7.4 |
| UK Treasury 2045 | Government bonds | 2,200,000 | 14.6 |
| Corporate 4.5% 2030 | Corporate bonds | 1,800,000 | 3.6 |
| Corporate 5% 2040 | Corporate bonds | 1,500,000 | 10.8 |
| Cash | Cash | 1,000,000 | (blank) |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Weighted average | Warning | 8.05 years | 6.2 years – 8.2 years warning 6.4 years – 8 years | 0.15 years -0.05 years to warning | ABOVE_WARNING_MAXIMUM |
ABOVE_WARNING_MAXIMUM: The measured value has crossed the early-warning maximum but not the hard limit.
Largest contributors: Weighted average → UK Treasury 2045 14.6 years, Corporate 5% 2040 10.8 years, UK Treasury 2035 7.4 years
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 weighted duration, its state, headroom, numerator and denominator, with the longest bonds as contributors. The approved version records the benchmark duration it was centred on as an author decision. A bond missing its duration makes the result not evaluated, because an average with an unknown member proves nothing.