Methodology
How Aegis risk limits are calculated
Every risk limit compares one observed number from the proposed book with the threshold you set. This page defines each of those numbers in terms of position weights, so a pass or a breach can always be reconciled by hand. The worked examples below are not illustrations. They are executed against the same code that evaluates your policies by the tests that gate a release.
Weights, cash and leverage
A weight is a position's value as a fraction of net asset value. Weights you enter as percentages are kept exactly as entered: a book whose weights add to 95% holds 5% cash, and a book whose weights add to 120% is 1.2 times levered. Short positions carry negative weights. A book entered in dollar notionals with a stated capital uses notional divided by capital; without a stated capital the book is treated as fully invested.
cash = 1 − Σ w · gross = Σ |w| · net = Σ w
Cash is never entered as a position. It is the residual of net exposure, which is why a long and short book can carry cash and leverage at the same time.
| Book | Weights | Gross | Net | Cash |
|---|---|---|---|---|
| Long only, five percent cash | AAPL 50% · MSFT 30% · NVDA 15% | 0.95× | 95% | 5% |
| Long and short, 1.4 times gross | AAPL 80% · MSFT 30% · XOM -30% | 1.40× | 80% | 20% |
| Market neutral, largest position short | AAPL 30% · XOM -50% · MSFT 20% | 1.00× | 0% | 100% |
Exposure limits
Maximum gross caps Σ |w|, expressed as a multiple of net asset value. Maximum |net| caps the absolute value of Σ w, so it binds a heavily long book and a heavily short book the same way. Both figures come from the risk summary, so on a book with names that cannot be modeled they are measured on the modeled names (see Coverage).
Concentration limits
Concentration is measured on each position's share of gross exposure, so the figures do not change when the whole book is scaled up or down. Like the exposure figures they come from the risk summary and are measured on the modeled names.
p = |w| / Σ |w| · HHI = Σ p² · effective names = 1 / HHI
Maximum HHI caps the sum of squared shares (a single position is 1.0; ten equal positions are 0.1). Minimum effective names sets a floor on 1 / HHI, the number of equal-sized positions that would produce the same concentration. Maximum top-five share caps the sum of the five largest shares. Maximum position is different: it caps the largest absolute weight on the net asset value basis, not the gross share.
| Book | HHI | Effective names | Top-five share | Largest position |
|---|---|---|---|---|
| Long only, five percent cash | 0.402 | 2.49 | 100% | 50% |
| Long and short, 1.4 times gross | 0.418 | 2.39 | 100% | 80% |
| Market neutral, largest position short | 0.380 | 2.63 | 100% | 50% |
Turnover (Decision Review only)
Turnover needs a before and an after, so it is evaluated only in Decision Review, never by a standing monitor. It is one-way turnover: half of the total absolute change in weight across the complete book, cash included. Cash is not a row in the change list, so its change is the negative of the summed security changes.
Δcash = − Σ Δw · one-way turnover = ½ × ( Σ |Δw| + |Δcash| )
The consequence is that selling a fifth of the book to cash and moving a fifth of the book from one name to another both read as 20%. Both decisions move a fifth of the allocation.
| Decision | Before → after | Δcash | One-way turnover |
|---|---|---|---|
| Sell a fifth of the book to cash | AAPL 60% · MSFT 40% → AAPL 40% · MSFT 40% | +20% | 20% |
| Move a fifth of the book from one name to another | AAPL 60% · MSFT 40% → AAPL 40% · MSFT 60% | 0% | 20% |
| Add a new position paid for from cash | AAPL 50% · MSFT 30% → AAPL 50% · MSFT 30% · NVDA 15% | -15% | 15% |
Definition change on 24 August 2026. Before that date the cash leg was left out, so a sale to cash counted half of what it counts now (10% instead of 20% in the first example). Security-to-security rebalances are unchanged. If you set a maximum turnover before that date, a decision that moves money to or from cash now measures higher against the same threshold. Frozen decision records keep the figure they were evaluated with.
Return-based limits: VaR, CVaR, forecast volatility and beta
These figures come from a return history for the proposed book. That history is a current-holdings proxy: today's weights held fixed and replayed over the full common return history of the constituents (the risk page reports how many trading days that is). It ignores past rebalances, cash and costs, so it describes the risk of the book as proposed, not a realised track record.
- Maximum VaR and maximum CVaR are the one-day historical value at risk at the confidence level selected on the risk page (95% by default) and the average loss beyond it, as fractions of net asset value. A policy threshold is compared at the level the review used.
- Maximum forecast volatility is the annualised ex-ante volatility √(wᵀ Σ w × 252). Σ is the daily covariance of the constituents over the lookback selected on the risk page (252 trading days by default), estimated with Ledoit-Wolf shrinkage for books of up to 100 names and with a factor-model covariance above that.
- Maximum |beta| is the absolute slope of the proxy return series regressed on the benchmark index over the same window.
A limit is only judged when the observed figure is on the same horizon as the limit. A book whose returns are weekly or monthly reports its VaR on that cadence and the daily limits are marked unavailable rather than compared.
Coverage
Names without enough return history cannot be modeled. The engine prices the names it can and rescales them to the entered gross, so every figure taken from the risk summary (exposure, concentration and the return-based figures) describes a substituted book when coverage is incomplete. In Decision Review all of those checks are withheld until coverage is complete; only maximum position and turnover, which are computed from the entered positions, are still judged. The complete coverage limit lets a policy require it outright. A standing monitor keeps judging the modeled subset and says what it was measured on, because silence there would hide a breach.
Pass, breach and unavailable
A maximum passes at or below its threshold; minimum effective names passes at or above. A check is unavailable when the figure cannot be computed or is on the wrong basis. A policy breaches if any check breaches; otherwise it is not fully evaluable if any check is unavailable; otherwise it passes.
A three-limit policy applied to the sale-to-cash decision
Limits: maximum turnover 15%, maximum position 45%, maximum gross 1.25×.
- breach20% observed for max_turnover
- pass40% observed for max_name_weight
- pass0.80× observed for max_gross
Policy status: breach.
Related
How backtest gates work covers the statistical gates applied to walk-forward backtests. The examples on this page live in one data file that both the web tests and the backend tests execute; if either side changed the arithmetic, the tests that gate a release would fail until this page was corrected.