Investment restriction
Gross and net exposure limits
Gross and net exposure limits bound a long/short portfolio’s market exposure as a share of NAV. Gross adds the absolute value of every signed exposure, net adds them with their signs, and short exposure takes the absolute sum of the shorts. Acclimetry evaluates one named method per rule, never an unnamed ‘leverage’.
gross_net_exposureGross / net exposure
How policies word it
Long/short mandates often set two limits together, such as gross exposure no more than 150% of NAV and net equity exposure between 0% and 50%. Some add a cap on shorts alone, such as ‘short positions no more than 30% of NAV’. Family-office accounts that allow shorting or index hedges use the same pattern.
A net band can be negative, which a gross cap cannot. The policy should state how derivatives enter: at signed exposure, not market value. It should also say whether net is measured for one asset class or the whole book.
- Gross exposure will not exceed 200% of NAV.
- Net exposure will be maintained between 0% and 50% of NAV.
- Net equity exposure may range from -20% to +80% of net assets.
- Short positions, in aggregate, will not exceed 30% of NAV.
How it is measured
Each rule names its methodology. Gross exposure is the sum of each position’s absolute signed exposure over NAV. Net exposure is the signed sum over NAV, and short exposure the absolute sum of the shorts over NAV.
A 1,200 long and a 200 short in a 1,000 book are 140% gross and 20% short. Signed exposure is the long/short-adjusted value the position data states. Each method applies to every position in the portfolio; the template has no class filter.
When the rule requires direction, a position without a stated long or short is a data gap rather than an assumed long. The rule is then not evaluated until the direction is supplied.
When it is breached and what follows
Gross and short exposure rise when either leg grows; net exposure moves when the legs diverge. Each method is its own rule with its own result. A book can be inside its gross cap and outside its net band at the same time.
A breach opens a case at the first observation, with clocks that start after any grace period in days. Proposed trades can be checked before execution against all three rules in Trade Impact; batch results there are advisory.
Data the check reads
- Signed exposure of every position: longs positive, shorts negative
- A stated long/short direction, where the rule requires it
- The methodology: gross, net or short exposure
- Hard bounds as percentages of NAV (net bands may be negative), with optional warning bounds
Rule parameters
Gross (sum of |signed exposure|), net (signed sum) or short exposure as a share of NAV, under the named methodology.
| Parameter | In the platform | Options and help |
|---|---|---|
| methodology | Methodology (never just "leverage") | gross_signed (Gross exposure — sum of |signed exposure| over NAV) · net_signed (Net exposure — signed sum over NAV) · short_exposure (Short exposure — |sum of shorts| over NAV) |
| requireDirection | Treat positions without a stated long/short direction as data gaps |
Parameter names, methodology text and result-code meanings are shown exactly as the platform states them.
Worked examples, run by the engine
A 1,200 long and a 200 short net to 1,000, so gross exposure of 1,400 is 140%, inside a 150% cap
Rule template:gross_net_exposure methodology: gross_signedrequireDirection: false
Bounds: hard max 150%
| Holding | Long / short | Market value |
|---|---|---|
| L | long | 1,200 |
| S | short | -200 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Gross exposure (signed methodology) | Compliant | 140% | ≤ 150% | 10% | WITHIN_LIMITS |
WITHIN_LIMITS: The measured value sits inside every approved bound.
Largest contributors: Gross exposure (signed methodology) → L 120%, S -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.
A 300 short against a 1,000 net book is 30% short exposure, over a 20% cap
Rule template:gross_net_exposure methodology: short_exposurerequireDirection: false
Bounds: hard max 20%
| Holding | Long / short | Market value |
|---|---|---|
| L | long | 1,300 |
| S | short | -300 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Short exposure | Breach | 30% | ≤ 20% | -10% | ABOVE_HARD_MAXIMUM |
ABOVE_HARD_MAXIMUM: The measured value exceeds the approved hard maximum, beyond any stated tolerance.
Largest contributors: Short exposure → L 130%, S -30%
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.
When direction is required, a holding with no stated long/short is a data gap rather than an assumed long
Rule template:gross_net_exposure methodology: net_signedrequireDirection: true
Bounds: hard max 100%
| Holding | Long / short | Market value |
|---|---|---|
| L | long | 1,300 |
| S | – | -300 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Exposure | Not evaluated: data quality | – | ≤ 100% | – | 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.
Shorts of 270,000 against a net portfolio value of 1,000,000 are 27% short exposure: past the 25% warning bound, inside the 30% cap.
Rule template:gross_net_exposure methodology: short_exposurerequireDirection: false
Bounds: warn max 25% · hard max 30%
| Holding | Class | Long / short | Market value |
|---|---|---|---|
| Equity longs | Equities | long | 1,050,000 |
| Equity shorts | Equities | short | -270,000 |
| Sterling cash | Cash | – | 220,000 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Short exposure | 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: Short exposure → Equity longs 105%, Equity shorts -27%, Sterling cash 22%
Computed at build time by the Acclimetry rule engine (backend commit 8197063); the same code runs in the product.
Interpretation traps
Name the method
‘Leverage’ alone is not a method. Write the rule as gross, net or short exposure, and record which the policy means when it is unclear; see gross versus net exposure.
Undirected positions
Without long/short flags, an unsigned position reads as stated. Require direction when shorts matter, so a missing flag is a gap rather than a silent long.
Whole book only
The methods run over the whole portfolio. A net equity band inside a multi-asset portfolio is not expressed by this template. Record that part of the clause as unsupported by the engine, or measure the sleeve as its own portfolio if it is one.
Derivatives need signed exposure
Futures and swaps carry small market values but large exposure. They must be carried at signed exposure for gross and net to mean anything; see derivative exposure measures. For a cap on stated values only, use the gross exposure 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.
Regulatory analogues
- AIFMD leverage: the gross method (Reg 231/2013 Art 7)
- AIFMD leverage: the commitment method and substantial leverage (Arts 8, 111)
Acclimetry evaluates gross, net or short exposure over NAV from the signed exposure each position states, under the method the rule names. It does not convert derivatives to exposure itself or apply the AIFMD commitment method’s hedging and netting tests. It does not limit the measure to one asset class within a portfolio.
Questions
Can net exposure be negative?
Yes. A net band can have a negative minimum, such as -20%, for a book that may be net short.
Do I need three rules for gross, net and short?
Yes, one per method. Each gives its own result, so a portfolio can pass one and breach another.
Sources
- Commission Delegated Regulation (EU) No 231/2013, Art 7: gross method (legislation.gov.uk copy) · OGL v3.0 · Read on12 October 2026
- Commission Delegated Regulation (EU) No 231/2013, Art 8: commitment method (legislation.gov.uk copy) · OGL v3.0 · Read on12 October 2026