The whole apparatus rests on one equation that only holds under a condition the paper states once and then leans on everywhere: expected regret equals the covariance between costs and decisions, E[R(c)] = Cov(c, π̂(c)), but the equality is valid only when E[π̂(c)] = π*. The condition comes from the companion identity in Aldridge (2026). Before you accept a single gradient result here, you accept that your policy is unbiased against the true optimizer in expectation. Drop that assumption and the residual term R(c) reappears, and the tidy calculus that follows is measuring the wrong object.
Grant the condition. Then the derivations are clean and, honestly, short. The Gâteaux derivative of the covariance functional is itself a covariance (Theorem 3.1), so the Riesz representer is g(c) = c - c̄ and the steepest-descent direction is ϕ*(c) = -(c - c̄), a contrarian rule, with +(c - c̄) as the ascent, a momentum rule. For the linear policy class π̂(c) = Ac + b, the objective reduces to C[A,b] = tr(A Σc), the gradient is ∇_A C = Σc, and ∇_b C = 0. That last equation matters more than it looks: because ∂C/∂c̄ = 0, the regret objective is completely blind to the cost mean. Expected-return information plays no role at all.
Where the signal is supposed to come from
The claimed practical edge is what the author calls zero-instrumentation: the gradient Σc is estimable from input cost observations alone, no decision outputs required. Fine. But follow where descent actually goes. Since Σc ⪰ 0, every gradient step pulls A toward zero, and with a budget constraint the unconstrained minimizer is A* = 0, b* = Σc⁻¹1 / (1'Σc⁻¹1), with C[A*,b*] = 0 (Corollary 5.1). That is the minimum-variance portfolio, written out longhand. The contrarian tilt is the descent direction away from any active bet; the momentum tilt is the ascent direction the paper labels alpha maximization. Sign-gradient duality (Theorem 6.1) says the two are the same Σc with opposite signs. As a piece of geometry it is neat. As a trading signal it is minimum variance plus a mean-reversion overlay, and the paper does not claim otherwise.
A linear objective is not a smooth optimizer
Theorem 4.1 is where an implementer should slow down. tr(A Σc) is linear in A, so the Hessian is zero and the functional is simultaneously convex and concave. No interior critical points. Every optimum sits on the boundary of the feasible set. That is fine mathematically and it is why the MVP shows up as a boundary solution. It also means the object being optimized has no curvature to give the descent any traction beyond hitting a constraint.
Which is why the convergence story reads as more fragile than the theorem numbering suggests. Theorem 8.1 claims geometric contraction, C[A_k] - C[A*] ≤ (1 - η λ_min(Σc))^k (C[A0] - C[A*]), with η ≤ 1/‖Σc‖, and the problem-dependent version gives (1 - 1/κ)^K with κ = λ_max/λ_min and step count K(ε) = κ ln(C[A0]/ε). Contraction at a rate set by curvature is what you expect from a strongly convex loss. A linear functional has no such curvature. The proof sketch quietly shifts to contracting ‖A_k‖ toward A* = 0 and lets C inherit the rate, which works in the unconstrained case precisely because the optimum is trivial. The constrained MVP case, the one that motivates the whole application, is not what the geometric bound actually covers. The sample-complexity bound N ≥ C σ⁴ d ln(d/δ) / ξ² for ‖Σ̂c - Σc‖ ≤ ξ is standard matrix-Bernstein and is the genuinely useful number here for sizing your estimation window.
What we built
We put together the buildable version: a weekly long-only allocation over the point-in-time top 100 US stocks, 2015 to 2024, anchored on a constrained minimum-variance QP (252-day sample covariance, 10% diagonal shrinkage, ridge at 1e-6 of median variance) and tilted by the regret-minimizing sign, subtracting a normalized 20-day centered return. Tilt budget 0.25 in L1, 10% per-name cap, 20% one-way turnover cap, 10% annualized vol target, commission at $0.004 a share and zero modelled slippage. The headline figures above are from that run and are ours; this is a purely theoretical paper that reports no Sharpe, no returns, no drawdown, so there is nothing of its own to compare against.
Two of our choices deserve the blame before the idea does. First, our tilt input is a 20-day mean return while Σ̂c and the MVP anchor are built from 1-day returns, roughly a 20x horizon mismatch, so Corollary 3.2's -(c - c̄) is not applied to the same cost vector that feeds the covariance. Second, the covariance-gradient iterate is orphaned: Σ̂c enters through the MVP anchor but we never run A_{k+1} = Π_Z(A_k - η Σ̂c), so Corollary 3.3 and equation (6) are present in spirit and absent in mechanics. What we traded is MVP with a contrarian overlay, which is exactly what the boundary result predicts you would end up with, and the zero-slippage assumption means the printed figures flatter a weekly-turnover book. Change my mind by showing the covariance-gradient update, run as an actual matrix iterate on the same cost vector, beating a plain shrinkage MVP net of realistic costs on this universe. Until then the calculus is a clean re-derivation of things a risk desk already runs.