Investment restriction
Private markets commitment limit (unfunded commitments)
A private markets commitment limit caps how much capital a portfolio has promised to private funds, as a share of its value. It can be written on unfunded commitments, total committed capital, or current value plus unfunded commitments. Acclimetry reads the figures stated on each private-market holding and tests the chosen measure against the approved band.
commitment_limitCommitment limit
How policies word it
Investors in private equity, private credit and real assets commit capital that managers call over several years. Policies cap the promise as well as the holding, as in unfunded commitments no more than 30% of the portfolio. A cap on value alone, such as no more than 20% in private markets, ignores capital still to be called.
The three measures answer different questions. Unfunded commitments show calls still to come; committed capital shows the total promise. Current value plus unfunded commitments shows the exposure once every call is paid.
- Unfunded commitments to private funds will not exceed 30% of the portfolio’s value.
- Private markets, including unfunded commitments, may not exceed 25% of total assets.
- Total committed capital to private equity is limited to 40% of the portfolio.
- Current value plus outstanding commitments in private equity is limited to 20% of the endowment.
How it is measured
The rule names the private-market classes, such as ‘Private Equity’, and one measure: unfunded commitment, committed capital, or current value plus unfunded. The engine adds the chosen amount for positions in those classes and divides by portfolio value. A holding valued at 300 with 200 unfunded is 20% unfunded, or 50% value plus unfunded, in a 1,000 book.
The figures come from each holding’s stated commitment and unfunded commitment. A private-market holding that states no commitment is a gap. A partial total under the cap proves nothing, so the rule is not evaluated until the figure is supplied.
When it is breached and what follows
Commitment ratios move without new commitments: a fall in listed markets shrinks the denominator, and calls and distributions change the figures. Breaches are therefore often passive and slow to cure, because commitments cannot easily be sold. A warning bound gives the committee notice before it approves the next commitment.
A breach opens a case at the first observation. If the policy allows a period to return within the cap, a grace period in days delays the case’s clocks. A time-bound waiver can record an agreed exception without changing the result.
Data the check reads
- Market value of every position
- The private-market class names the rule covers
- Committed capital and unfunded commitment stated on each private-market holding
- The measure: unfunded, committed, or current value plus unfunded
- Hard bounds as percentages of portfolio value, with optional warning bounds
Rule parameters
Committed / unfunded / NAV-plus-unfunded exposure of the configured classes must stay inside the approved band.
| Parameter | In the platform | Options and help |
|---|---|---|
| classNames | Private-market class names | |
| measure | Measure | unfunded (Unfunded commitment) · committed (Committed capital) · nav_plus_unfunded (Current value + unfunded) |
Parameter names, methodology text and result-code meanings are shown exactly as the platform states them.
Worked examples, run by the engine
Unfunded commitments of 200 against a 1,000 book are 20%, inside a 25% cap
Rule template:commitment_limit classNames: Private Equitymeasure: unfunded
Bounds: hard max 25%
| Holding | Class | Market value | Commitment | Unfunded commitment |
|---|---|---|---|---|
| PE | Private Equity | 300 | 500 | 200 |
| EQ | Stocks | 700 | – | – |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Commitments | Compliant | 20% | ≤ 25% | 5% | WITHIN_LIMITS |
WITHIN_LIMITS: The measured value sits inside every approved bound.
Largest contributors: Commitments → PE 20%
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.
Current value 300 plus unfunded 200 is 500 of a 1,000 book, or 50%, over a 40% cap
Rule template:commitment_limit classNames: Private Equitymeasure: nav_plus_unfunded
Bounds: hard max 40%
| Holding | Class | Market value | Commitment | Unfunded commitment |
|---|---|---|---|---|
| PE | Private Equity | 300 | 500 | 200 |
| EQ | Stocks | 700 | – | – |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Commitments | Breach | 50% | ≤ 40% | -10% | ABOVE_HARD_MAXIMUM |
ABOVE_HARD_MAXIMUM: The measured value exceeds the approved hard maximum, beyond any stated tolerance.
Largest contributors: Commitments → PE 50%
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.
A private-market holding stating no commitment is a gap, and a partial 10% under the cap proves nothing
Rule template:commitment_limit classNames: Private Equitymeasure: committed
Bounds: hard max 25%
| Holding | Class | Market value | Commitment |
|---|---|---|---|
| PE1 | Private Equity | 300 | 100 |
| PE2 | Private Equity | 100 | – |
| EQ | Stocks | 600 | – |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Commitments | Not evaluated: data quality | – | ≤ 25% | – | MISSING_POSITION_DATA |
MISSING_POSITION_DATA: One or more positions had no readable value, and the partial numbers do not prove the outcome either way.
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.
Three private funds have 270,000 still to be called, 27% of a 1,000,000 portfolio: past the 25% warning bound, inside the 30% cap.
Rule template:commitment_limit classNames: Private Equity, Private Creditmeasure: unfunded
Bounds: warn max 25% · hard max 30%
| Holding | Class | Market value | Commitment | Unfunded commitment |
|---|---|---|---|---|
| Private equity fund I | Private Equity | 150,000 | 300,000 | 120,000 |
| Private equity fund II | Private Equity | 60,000 | 200,000 | 140,000 |
| Private credit fund | Private Credit | 90,000 | 100,000 | 10,000 |
| Listed equities | Equities | 500,000 | – | – |
| UK gilts | Bonds | 200,000 | – | – |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Commitments | Warning | 27% | ≤ 30% warning ≤ 25% | 3% -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: Commitments → Private equity fund II 14%, Private equity fund I 12%, Private credit fund 1%
Computed at build time by the Acclimetry rule engine (backend commit 8197063); the same code runs in the product.
Interpretation traps
Stale private valuations
Private holdings are often valued quarterly, while the rest of the book is priced daily. The ratio can jump when a valuation lands; a price older than the organisation’s threshold leaves the holding unvalued and the rule not evaluated.
Commitment figures age
Unfunded amounts change with every call and distribution. If they are updated less often than positions, the rule reads an old promise, so load current figures with each snapshot.
Which denominator
Some policies measure commitments against total assets, others against a long-term pool. This template divides by portfolio value, so record the reading where the policy differs; see denominators.
Not a cash-flow forecast
The rule measures stated commitments; it does not project when they will be called. Liquidity for calls is a separate test, such as a cash minimum or a liquidity bucket limit.
Result codes this check can return
| Code | State | Meaning | What to do |
|---|---|---|---|
| WITHIN_LIMITS ✓ | Compliant | The measured value sits inside every approved bound. | – |
| ABOVE_WARNING_MAXIMUM | Warning | The measured value has crossed the early-warning maximum but not the hard limit. | No breach yet; the early-warning band exists so the position can be managed before one. |
| BELOW_WARNING_MINIMUM | Warning | The measured value has crossed the early-warning minimum but not the hard limit. | No breach yet; the early-warning band exists so the position can be managed before one. |
| ABOVE_HARD_MAXIMUM ✓ | Breach | The measured value exceeds the approved hard maximum, beyond any stated tolerance. | Remediate the exposure, or record an approved waiver against the case. |
| BELOW_HARD_MINIMUM | Breach | The measured value falls below the approved hard minimum, beyond any stated tolerance. | Remediate the exposure, or record an approved waiver against the case. |
| CONSERVATIVE_MISSING_DATA | Breach | Data was missing and this rule version's approved unknown-data policy is conservative_breach, so the gap is treated as a breach rather than as Not Evaluated. | Supply the missing values; the reading is deliberately pessimistic until you do. |
| EMPTY_PORTFOLIO | Not applicable | The portfolio held no positions at the evaluation moment. | – |
| NOT_IN_SCOPE | Not applicable | This 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_ACCEPTED | Not evaluated: data quality | A 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. |
| MISSING_POSITION_DATA ✓ | Not evaluated: data quality | One or more positions had no readable value, and the partial numbers do not prove the outcome either way. | Supply the missing valuations. The platform will not fabricate a zero to produce a reading. |
| SNAPSHOT_NOT_ACCEPTED | Not evaluated: data quality | The 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_REJECTED | Not evaluated: data quality | The portfolio's newest snapshot was rejected, so there is no authoritative data to measure. | Load a corrected file. |
| STALE_POSITIONS | Not evaluated: data quality | The newest snapshot is older than the organisation's staleness threshold. | Load current positions, or revisit the threshold on Data & Quality ▸ Policy. |
| STALE_PRICES | Not evaluated: data quality | A 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. |
| AWAITING_EXTERNAL_DATA | Pending external data | An 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. |
| METHOD_NOT_SUPPORTED | Not evaluated: unsupported | The 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_ERROR | Not evaluated: system error | The 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.
Acclimetry evaluates the commitment figure the rule names, unfunded, committed or value plus unfunded, for the named private-market classes over portfolio value. The figures are read as each holding states them. It does not model capital calls or distributions, project cash flows, or derive commitments from fund documents.
Questions
Should a commitment limit use unfunded or committed capital?
Whichever the policy names. Unfunded commitments show the calls still to come; current value plus unfunded shows the exposure once every call is paid.
What if a fund’s commitment figure is missing?
The rule is not evaluated. A partial total under the cap proves nothing, because the missing figure could take it over.