Theorem 1 — five equivalent representations of the worst-case VaR under known mean and covariance
ProvedWorstCaseVaR.KnownMoments.worst_case_var_equivalencesLet and let be a positive definite matrix. Let be the set of all probability distributions on with mean and covariance matrix . Fix a portfolio with , a loss probability level and a loss level . Let , let be the second-moment matrix, and write . The following propositions are equivalent.
- The worst-case VaR at level is at most :
- There exist a symmetric matrix and with
- For every with we have .
- There exist a symmetric matrix and with
Proposition 2 is a closed form of the worst-case Value-at-Risk : it is the smallest satisfying 1, namely . Propositions 3–5 are semidefinite representations that extend to the case where the moments are only known to lie in a set.
Formalization Note.
- The supremum in Proposition 1 is encoded as "every has ", with the probability in compared with .
- The paper prints . At Proposition 1 holds for every , while Propositions 2–5 reduce to , so the theorem is stated for .
- The hypothesis is the paper's standing assumption that the admissible set of portfolios does not contain (used in its proof); with and , Proposition 1 fails and Proposition 2 holds.
- "Less than " is the non-strict inequality of the display.
- is written . The class is
HasMeanCov(any Borel probability measure with these first two moments, square-integrable coordinates).
import Mathlib import Definitions.Def_WorstCaseVaR_KnownMoments_Basic open MeasureTheory Matrix open scoped InnerProductSpace
namespace WorstCaseVaR.KnownMoments
/-- **Theorem 1** (El Ghaoui–Oks–Oustry 2003, pp. 545–546). Let `𝒫` be the set of probability
distributions on `ℝⁿ` with mean `x̂` and covariance matrix `Γ ≻ 0`, let `w ≠ 0`,
`ε ∈ (0, 1)` and `γ ∈ ℝ`. The following are equivalent:
1. `sup_{P ∈ 𝒫} Prob{γ ≤ -wᵀx} ≤ ε`;
2. `κ(ε) ‖Γ^{1/2} w‖₂ - x̂ᵀw ≤ γ` (7);
3. there exist `M ∈ 𝒮_{n+1}`, `τ ∈ ℝ` with `⟨M, Σ⟩ ≤ τε`, `M ⪰ 0`, `τ ≥ 0`,
`M + [[0, w], [wᵀ, -τ + 2γ]] ⪰ 0` (9);
4. for every `x` with `[[Γ, x - x̂], [(x - x̂)ᵀ, κ(ε)²]] ⪰ 0` (10), `-xᵀw ≤ γ`;
5. there exist `Λ ∈ 𝒮_n`, `v ∈ ℝ` with `⟨Λ, Γ⟩ + κ(ε)² v - x̂ᵀw ≤ γ` and
`[[Λ, w/2], [wᵀ/2, v]] ⪰ 0` (11).
The printed range `ε ∈ (0, 1]` is read as `(0, 1)`: at `ε = 1` item 1 holds for every `γ`. -/
theorem worst_case_var_equivalences {n : ℕ}
(xhat w : EuclideanSpace ℝ (Fin n)) (Γ : Matrix (Fin n) (Fin n) ℝ) (hΓ : Γ.PosDef)
(hw : w ≠ 0) (ε : ℝ) (hε0 : 0 < ε) (hε1 : ε < 1) (γ : ℝ) :
List.TFAE
[ ∀ P : Measure (EuclideanSpace ℝ (Fin n)), HasMeanCov P xhat Γ →
P (lossSet w γ) ≤ ENNReal.ofReal ε,
kappa ε * Real.sqrt (⇑w ⬝ᵥ Γ *ᵥ ⇑w) - ⟪xhat, w⟫_ℝ ≤ γ,
∃ (M : Matrix (Fin n ⊕ Fin 1) (Fin n ⊕ Fin 1) ℝ) (τ : ℝ),
(M * secondMomentMatrix xhat Γ).trace ≤ τ * ε ∧ M.PosSemidef ∧ 0 ≤ τ ∧
(M + bordered 0 ⇑w (-τ + 2 * γ)).PosSemidef,
∀ x : EuclideanSpace ℝ (Fin n),
(bordered Γ ⇑(x - xhat) (kappa ε ^ 2)).PosSemidef → -⟪x, w⟫_ℝ ≤ γ,
∃ (Λ : Matrix (Fin n) (Fin n) ℝ) (v : ℝ), Λ.IsSymm ∧
(Λ * Γ).trace + kappa ε ^ 2 * v - ⟪xhat, w⟫_ℝ ≤ γ ∧
(bordered Λ ((1 / 2 : ℝ) • ⇑w) v).PosSemidef ] := by sorry
end WorstCaseVaR.KnownMoments
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Fix a natural number and work in with the standard Euclidean inner product . The data are:
- vectors , with the hypothesis ;
- a real matrix that is positive definite in Mathlib's sense. This means is symmetric and for every nonzero ;
- a real number with . Both ends are strict;
- a real number , with no restriction.
Under these hypotheses the theorem says that the following five statements are pairwise equivalent: each one holds if and only if each of the others does.
Several names come from an imported definitions file that is not shown here: , , (written kappa), and . This read-back cannot unfold them, so the statements below depend on those definitions exactly as they are written in that file. The typing does fix some facts:
- takes a real number and returns a real number.
- is a set of points of .
- is a real matrix. Its rows and columns are indexed by the coordinates plus one extra index.
- takes an real matrix , a vector and a real number , and returns a real matrix with that same indexing. The name suggests the block matrix , but the code shown does not confirm this.
"Positive semidefinite" (PSD) below is also Mathlib's notion: the matrix is symmetric and for every .
(1) For every measure on that satisfies ,
The binder ranges over all measures. Any requirement that be a probability measure, or that it have mean and covariance , exists only if imposes it. The set is not required to be measurable: is applied to it as an outer measure. The comparison takes place in the extended nonnegative reals, where the right-hand side equals because .
(2)
(3) There exist a real matrix , indexed as above, and a real number such that all of the following hold:
Here means PSD, so in particular is symmetric.
(4) For every :
(5) There exist a real matrix and a real number such that all of the following hold:
- is symmetric. It is not required to be PSD.
- .
- .
The number has no sign constraint.
Degenerate cases.
- : has exactly one point, the zero vector. The hypothesis then cannot be satisfied, so the theorem says nothing when (it holds vacuously). For all the hypotheses can be satisfied together.
- The square root: is positive definite and , so . The square root in (2) is therefore never applied to a negative number, and its "return 0 for negative input" default never occurs.
- at the ends of : and are excluded. Only the values of on matter, and nothing is claimed about elsewhere.
- Statement (1): if no measure satisfies , then (1) is vacuously true. Also, if does not force to be finite or a probability measure, (1) quantifies over such measures as well.
- Statement (4): if no makes the bordered matrix PSD, then (4) is vacuously true.
- Statement (3): is allowed. The first condition then requires .
Whether any of these vacuous situations actually arises depends on the unseen definitions of , and . In every such situation the theorem still asserts that all five statements have the same truth value.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.