# D14-F04-A04 — Long/Short Gross-Net Constraints ## Learning contract **Question:** Given signed exposures relative to a positive, fixed capital base, can a candidate meet a stated net interval and gross cap, and which feasible candidate maximizes a declared quadratic objective? Readers should be able to calculate long, short, net, and gross exposure; check feasibility without a solver; and explain why a gross cap is neither a margin approval nor a risk guarantee. Prerequisites are normalized portfolio weights and a mean-variance objective. This article-mode package contains the [tutorial](article/ARTICLE.md), definition below, and [primary references](REFERENCES.md). It does not implement a broker or optimizer API. ## Frozen definition and input contract At one valuation time, let capital base `B>0` be supplied in one currency. Signed exposure `x_i` is the position's signed base-currency market value divided by `B`; a negative value denotes a short. Asset IDs must be unique and point-in-time valid. Prices, quantities, corporate-action adjustments, FX direction/timestamp, and borrow eligibility must be checked upstream. No missing/nonfinite exposure is accepted. Expected decimal simple returns `μ` and symmetric positive-semidefinite covariance `Σ` share one forward horizon; `λ≥0` scales quadratic risk in that horizon. Net bounds `N_min≤N_max` and gross cap `G_max≥0` are dimensionless fractions of `B`. `L(x)=Σ max(x_i,0)`, `S(x)=Σ max(-x_i,0)`, `N(x)=Σx_i=L-S`, and `G(x)=Σ|x_i|=L+S`. The canonical teaching problem is ```text maximize μᵀx − λ xᵀΣx subject to N_min ≤ Σx_i ≤ N_max Σ|x_i| ≤ G_max. ``` Other exposure/position limits can be added only when stated. An explicit net-one 130/30 **boundary** has `L=1.3`, `S=.3`, `N=1`, `G=1.6`; the constraint set `N=1, G≤1.6` also admits 100/0, so it does not force 130/30. When `N=0`, continue to use supplied `B`; never divide by net exposure. For a linear model, nonnegative `x⁺,x⁻` may satisfy `x=x⁺−x⁻` and `Σ(x⁺+x⁻)≤G_max`. Reported gross is recomputed from **signed** `x`. A nonminimal pair can overstate it. Direct feasibility residuals and raw solver status must accompany any numerical optimum. If an optimizer returns only a feasible incumbent or an inaccurate status, do not label it optimal. ## Independent synthetic oracles - Norm check: `x=[.65,.65,-.30,0]` gives `L=1.30`, `S=.30`, `N=1.00`, `G=1.60`. - Exact two-asset optimum: `μ=[.20,.04]`, `Σ=diag(.04,.01)`, `λ=1`, `N=1`, `G≤1.6`. Write `x=[z,1-z]`. Feasibility gives `-.3≤z≤1.3`; the unconstrained stationary point is `z=1.8`, so `x*=[1.3,-.3]` and objective `.1795`. - Auxiliary counterexample: `x=[.6,.5,-.1]` has direct `G=1.2`, while `x⁺=[.7,.5,0]`, `x⁻=[.1,0,.1]` reconstruct the same `x` but sum to `1.4`. These are author-derived calculations on labeled synthetic inputs, not market observations or advice. A historical named case is **not useful** for explaining the norm; a live long/short case would additionally require dated positions, capital/FX basis, margin terms, borrow availability, and permission to publish. ## Scope and failure boundaries The norm contract excludes margin calculations, financing costs, borrow rates/locates, liquidation, tax, and regulatory suitability. An empty feasible set is reported as infeasible. A dollar-neutral `N=0` book is allowed only when explicitly requested and the independent capital base is supplied. A gross cap does not control correlation or tail loss. See the [article](article/ARTICLE.md) for the interpretation and [references](REFERENCES.md) for the sourced conventions. ## Reader risk and boundary checks At gross cap 1.2 and net one, the same two-asset objective chooses [1.1,-.1], with utility .1675. This is distinct from the separate risk illustration: for signed weights [.5,-.5], both assets at .20 volatility and correlation rho, variance relative to the fixed capital base is .02(1-rho). At rho=.9,0,-1, volatility is approximately 4.4721%,14.1421%,20%. Net 0 and gross 1 stay unchanged. These are synthetic author-derived arithmetic checks, not a market hedge claim.