Basic Prerequisites: 01 · From Zero.


1. Intuition & Practical Objective

Weight constraints are the practitioner’s first line of defence, and they do three jobs at once:

  • Feasibility - a long-only mandate with a cap cannot be short in anything; the constraint deletes the region of portfolio space where the estimation-error fantasy lives.
  • Specification - an index fund, a fund, a UCITS vehicle and a pension mandate are defined by their constraint sets. The constraint is not a limitation on the strategy; it is the strategy’s mandate.
  • Risk management - sector, country, issuer and factor caps prevent the optimizer from expressing one concentrated bet through many correlated names.

The practical objective of this page is to make the cost of a constraint precise. Every constraint you add either (a) does not bind - in which case it is free, or (b) binds - in which case it has a shadow price: a number, in units of certainty-equivalent utility, that tells you exactly what one more unit of that constraint would buy. That number is what you negotiate with risk and compliance about.

The one-sentence essence. “A constraint is a knife applied to the feasible set: it slices away part of portfolio space; the Lagrange multiplier of a binding constraint is the price of the slice, and a group cap is exactly equivalent to subtracting that price from the alphas of the group it restricts.”


2. Mathematical Ground Truth & Derivations

The box-constrained QP. The standard solved problem is

KKT / shadow price. For a binding constraint with multiplier , stationarity reads

where is the budget multiplier and the box multipliers ( only when or ). By the envelope theorem the multiplier is the marginal value of the constraint:

So is the certainty-equivalent return you forgo per unit of tightness. It is the right currency for arguing about constraints.

The group-cap ⇔ alpha-haircut theorem. Suppose the only additional constraint is a group cap with multiplier . Stationarity over the group members is

Compare this with the unconstrained-in-group problem whose alphas have been reduced by :

The first-order conditions are identical. Therefore:

for the value of that makes the group sum exactly . A group/sector cap is nothing but a uniform alpha haircut on the group - which is why sector-neutralising a signal and capping sector exposure give nearly the same portfolio. §3 verifies the identity numerically.

Two warnings embedded in the math.

  1. Caps on weights are not caps on risk. The constraint set is a box in -space, but the risk is . Highly correlated names each at the cap can aggregate into a single factor bet far above of risk. The correct object to cap is the factor exposure , i.e. an row with - not a diagonal box.
  2. Constraints interact. A per-name cap and a group cap overlap: if the cap already forces the group sum below , the group constraint is non-binding and free (§3). Always check which multipliers are non-zero before paying for a constraint.

3. Computational Implementation - long-only, caps, and the price of a group cap

Same universe as 01. We solve (i) long-only, (ii) long-only with a cap, and (iii) long-only with a group cap on assets , found by bisecting the equivalent alpha haircut . numpy + scipy.

Three verified findings:

  • The cap is a knife, not a haircut. The cap moves asset 3 from and asset 4 from and pushes the freed into assets 5 and 6 (, ). Certainty equivalent falls ; the difference is the price of the cap in monthly utility.
  • The group cap is an alpha haircut. Capping at is exactly reproduced by subtracting monthly from both assets’ alphas - i.e. /yr off each (, ). The identity is exact, not approximate: the constraint prices itself as a uniform alpha penalty on the restricted group.
  • Constraints interact - and can become redundant. Re-solve with both the cap and the group cap and the answer is again : the group cap already pins with neither weight above , so the per-name cap never binds. The general lesson: always read the multipliers - a constraint with a zero multiplier is one you are not paying for, and a redundant cap adds reporting burden without changing a single weight.

4. Failure Modes & First-Principles Breakdowns

  1. Capping weights, not risk. A per-name cap on a block of eight -correlated names permits an -of-risk single-factor exposure. Weight caps are a liquidity/concentration tool; factor caps () are the risk tool. Conflating them is the most common institutional error.
  2. Over-tight caps collapse to . As , the box alone determines the answer and the alphas become irrelevant. You have re-derived the naive portfolio with extra steps and thrown away all signal - the constraint cost curve is convex, and the last increment of tightness is the most expensive (05).
  3. Asymmetric caps create hidden tilts. Capping a long-only book at while leaving the minimum at implicitly favours small assets; if the cap binds on the high-alpha names only, the realized portfolio systematically under-weights exactly where the signal is strongest - a transfer coefficient below (Clarke–de Silva–Thorley 2002).
  4. Ignoring the price of a constraint. A risk committee that says “cap everything at ” is making a quantitative statement about forgone utility whether it knows it or not. §3’s is the number that should appear in the meeting notes; without it, constraint-setting is guesswork.

5. References

  • Frost & Savarino (1988), For better performance: constrain portfolio weights, Journal of Portfolio Management
  • Clarke, de Silva & Thorley (2002), Portfolio Constraints and the Fundamental Law of Active Management, FAJ 58(5):48–66
  • Grinold & Kahn (2000), Active Portfolio Management, 2nd ed.
  • Lobo, Fazel & Boyd (2007), Annals of OR 152:341–365
  • Markowitz (1952), Portfolio Selection, JoF 7(1):77–91

6. Connected Graph Bridges