The δ-stable portfolio wins all 18 reported Sharpe comparisons, but a trader still lacks the comparison that matters. Fassino and Uberti test it against a portfolio with a higher return target, never against GMV or 1/N. Their rule amounts to targeting the average expected return across the assets, with a band extending about a tenth of the Euclidean norm of the deviations around that average. After 10 basis points of trading cost, it beats the higher-target alternative in every market-and-window cell. I believe that result. I am less persuaded that numerical rank explains it.
The rank argument
The authors begin with the budget and target-return equality constraints of a long-only Markowitz problem. Stacked together, they make a 2×n matrix B: expected returns in one row, ones in the other. Daily expected returns are around 10^-4, leaving the return row close to a constant and B close to rank one. In the toy case using mean daily returns for ten S&P 500 sectors, β, their average, is 1.3654·10^-4. The Euclidean norm of their dispersion is 3.2490·10^-4; K2(B), the condition number, is 9.733·10^3.
The δ-numerical rank counts singular values above a threshold δ. If B has numerical rank one, the authors require the same rank after adding the column (μp, 1), where μp is the target return. This applies the Rouché-Capelli consistency condition numerically. Their Theorem 2 yields an interval of permissible targets. When δ is small relative to √n, the interval simplifies to β ± R. They choose δ = 1.005 times the dispersion norm divided by √(β²+1), calling portfolios inside the resulting interval the δ-stable part of the frontier.
The study uses daily returns from 3 January 2000 to 17 September 2020 across five universes: S&P 500 sector portfolios (n = 10), plus DAX (23), EURO STOXX 50 (38), FTSE 100 (69) and Nikkei 225 (181) constituents. Names without complete histories were dropped. One experiment follows turnover between adjacent frontier portfolios under the sample covariance and the identity matrix. Another rolls through windows of 120 to 480 days, comparing the μp = β portfolio with a target halfway between GMV and the maximum-return portfolio. Its Sharpe comparisons deduct 10 bp times turnover.
How wide is the band?
Substituting the chosen δ into R gives R = √(1+1/n) · √(1.005² − 1) · ‖ρμ‖, roughly 0.10 · √(1+1/n) times the dispersion norm. The band runs from β by a fixed fraction of cross-sectional dispersion. Its width rests on 1.005, which the authors explicitly describe as a judgment call. Set the multiplier to exactly 1 and R = 0; make it too large and it "distorts the concept of δ-numerical rank." The toy example instead uses δ = 3.2717·10^-4, about 1.007 times the dispersion, producing 10^-4·[0.962, 1.769]. The sector figures give a narrower [0.1054, 0.1686]·10^-3. We did not find the δ used for those figures stated.
Units contribute to the apparent ill-conditioning. The row of ones sits next to returns of order 10^-4; expressing those returns in basis points would rescale the problem. The authors put a "formal, scale-invariant link" between numerical rank and optimizer sensitivity on their future-work list. We read that as acknowledging that the current results are not scale-invariant.
Does the target steady the optimizer?
The paper's own Theorem 3 complicates that claim. At μp = β, the augmented matrix is at least as ill-conditioned as B whenever ‖ρμ‖²/n stays below √((n+1)/n)(β²+1). The paper establishes that this condition holds when δ² < n/2. Table 1 reports a condition number of 10.208·10^3 at μp = β, versus 10.138·10^3 at the band edges and 9.733·10^3 for B alone. The authors acknowledge the result and describe β as remaining admissible despite nearly collinear rows. Rank preservation supports their stability claim; they say the connection between the rank condition and reduced sensitivity to the target is examined empirically.
Yet the backtest calls the μp = β portfolio, "as established analytically in this paper," the one with the highest stability with respect to the choice of μp. Table 1 assigns that same point its highest condition number, 10.208·10^3. The conclusion says the stable target "avoids degrading the condition number" even though Table 1 shows an increase from 9.733·10^3 to 10.208·10^3.
Long-only geometry offers a simpler account of the smooth weights. With the identity matrix in place of the covariance, the DAX portfolio at μp = 0.2875·10^-3 allocates 0.0435 to each of its 23 names, or 1/23. Weights then change linearly across the band. In the sector identity case, x1 increases 0.0022 per grid step. Turnover spikes near the frontier ends as nonnegativity constraints bind and positions narrow to a few names. That corner effect needs no singular-value calculation, while the theory addresses only the two equality constraints.
Three positions in the sector book
For a daily sector allocator, the S&P band [0.1054, 0.1686]·10^-3 corresponds to about 2.7% to 4.2% a year in arithmetic terms. At its lower edge, the sample-covariance portfolio puts 99.86% of capital in three sectors, with weights of 0.1379, 0.5363 and 0.3244. Across the band, x6 climbs to 0.6795 as x9 falls to 0.1274. That x9 move is 19.7 points, from 0.3244 to 0.1274, over nine grid steps of 0.07 bp a day in target return. It is smoother than the extremes, yet a target change of 0.07 bp a day still moves large positions in a concentrated book.
Table 2 records smaller weights flickering too: x1 goes 0.0008, 0.0000, 0.0014 at adjacent targets. Those changes resemble solver-tolerance noise, which the δ band does not address. The authors call the coincidence of the GMV and β portfolios here coincidental.
What do the 18 wins establish?
The rolling results deserve attention. At w = 240, FTSE records 0.0413 for the β portfolio and 0.0091 for the benchmark. At w = 180, DAX records 0.013 against −0.0104. The gaps shrink at the longest window in four of five universes: S&P sectors show 0.016 against 0.011, and DAX 0.0312 against 0.0242. Nikkei goes the other way, its gap widening from 0.0109 at w = 240 (0.0059 against −0.005) to 0.0119 at w = 480 (0.0162 against 0.0043).
We did not find a stated annualization convention or risk-free rate. These figures look daily; on that reading, 0.0413 is about 0.66 annualized. We also did not find gross Sharpes, backtest turnover or significance tests. The table therefore cannot show how much of the gap comes from the 10 bp charge.
The benchmark leans harder on estimated means because its target lies halfway toward the maximum-return portfolio. The paper cites Chopra and Ziemba's finding that mean-estimation errors do roughly ten times as much damage as variance-estimation errors. An average-μ portfolio beating a high-μ portfolio fits that finding regardless of numerical rank. DAX makes the issue especially plain: its entire stable band, [0.1856, 0.3894]·10^-3, lies to the left of GMV. The authors flagged this dominated region in advance, and the β portfolio still wins at every window.
To make the rank rule convincing, the β portfolio needs to beat GMV and 1/N with the same 10 bp costs. The paper tests only two portfolios, although it cites DeMiguel, Garlappi and Uppal's 1/N result in its defence. Under the identity matrix, β gives exactly 1/N; under the sample covariance, it produces a three-sector book. The absent 1/N column matters. Removing names without full 2000 to 2020 histories also introduces survivorship, shared by both arms of the comparison.
Our US-stock run
We could not trade the paper's five universes. We adapted the rule to US equities, selecting the 60 largest non-ADR US stocks by capitalization each year. Each month, we estimate means and the sample covariance using 240 trailing daily returns, then trade a long-only minimum-variance portfolio targeting β with a 10% cap per name. Commissions are $0.004 a share, subject to a $1 minimum. The run spans 1 January 2020 to 1 July 2024.
The figures in the strip above are ours, annualized from 2 January 2020. The paper's Sharpes, including 0.0413 for FTSE at w = 240, appear to be daily figures from daily-rebalanced US sector, European and Japanese books over 2000 to 2020. Those figures describe different assets and a different quantity. They are not comparable with ours.
Our run has two limits that bear directly on the comparison. We solved the midpoint benchmark each month but did not trade it, so this pass cannot assess the paper's central result. The 10% cap requires at least ten names, altering the frontier and its portfolios inside the δ band. It leaves the band itself unchanged because that depends only on μ. Our book had 16.55% annualized volatility and a beta of 0.68 to SPY. A fully invested long-only portfolio of 60 mega-caps carries market exposure by construction; choosing β moves it along the frontier without removing that exposure. Our yearly membership lists lack publication timestamps, leaving possible look-ahead in membership on our side. This is one automated pass on a substituted market, rather than a verdict on the authors' work.
GMV and 1/N under the same rolling windows and 10 bp costs would change my view if the β portfolio remained ahead in most of the 18 cells.
Our backtest stops at 2024-07-01, and everything after that date is deliberately left untouched so the same strategy can be checked out of sample later.