To a second-order approximation, the tangency portfolio needs neither Normal returns nor quadratic utility to be the right risky book, and Whelan's derivation of that is clean enough to cite across a desk. What the paper does not show is that a desk can hold that book. Every empirical number in it uses moments estimated on the same 1,196 months they are scored on.

Expanding around T-bill wealth fixes the coefficients

The idea is to Taylor-expand expected utility around wRf, the wealth you would have holding only T-bills. Because that point does not move with the portfolio, the coefficients of the expansion are fixed numbers: relative risk aversion ρ(wRf) and the gross risk-free rate Rf. The classic Arrow-Pratt route expands around expected wealth instead. That point moves with every weight you choose, so the first-order condition picks up the third derivative of utility even though you truncated at second order. Whelan shows that the textbook answer, Rf/ρ times Σ⁻¹µe, falls out of that route if you set µe to zero in some terms and keep it in others, which he calls ad hoc. Gollier's device of scaling the risk premium by a parameter k and extrapolating from k = 0 to k = 1 gives the same answer, with no bound on the error.

Around risk-free wealth, the second-order objective is x′µe minus ρ/(2Rf) times x′M2x. Here M2 is the raw second-moment matrix of excess returns, E[ReRe′], which equals Σ + µeµe′. Solving gives x = (Rf/ρ) M2⁻¹µe. Since the correction to Σ is rank one, the Sherman-Morrison identity reduces M2⁻¹µe to Σ⁻¹µe divided by (1 + S²max), where S²max is the maximum squared Sharpe ratio. The direction is the tangency portfolio exactly. The scale is Rf/[ρ(1 + S²max)].

Whelan credits Bodnar, Parolya and Schmid (2015) with reaching the same M2 and Sherman-Morrison result under quadratic utility. His addition is that the result holds for any smooth concave utility and any return distribution with finite moments.

The new scale factor has a strange consequence. Holding Σ fixed and scaling all premia together, risky exposure peaks at S²max = 1 and falls after that. In his calibration (σ = 0.20, ρ = 3, Rf = 1), the mean-variance rule holds 1.667 at S = 1 against 0.833 for the second-order rule. At S = 2 the gap is 3.333 against 0.667. Whelan argues this is not a bliss-point artifact: at S = 1, expected wealth of 1.167 sits only halfway to the approximation's vertex at 1.333.

On real data the factor barely bites. Monthly S²max is about 0.028 for Shiller stocks and bonds and 0.033 for the French ten industries, so the haircut is about 3%. Horizon matters here. The problem is single-period and monthly. Under our linear-scaling assumption (not the paper's), an annual S²max near 0.34 to 0.40 would cut exposure by roughly a quarter. The paper's statement that Sharpe ratios below one hold in all realistic cases is a monthly statement.

A century of monthly data, three checks

The sample runs from July 1926 to February 2026. It uses real excess returns over a one-month T-bill rate deflated by Shiller's CPI, with two risky assets in one universe and ten industry portfolios in the other.

The strongest check adds cubic and quartic terms to the expansion. These are governed by prudence and temperance, which for CRRA are ρ + 1 and ρ + 2. Whelan solves the two-asset case exactly by resultant elimination. The polynomial has degree nine and exactly one real root at every ρ. The ten-asset case uses multi-start BFGS, which matched the exact two-asset answer to within 0.05%. Composition barely moves. Cosine similarity between the second- and fourth-order books runs 0.996791 to 0.999611 for stocks and bonds and 0.9974 to 0.9990 for industries. The stock share of the risky book drops from 39.95% to 35.70% at log utility and to 38.49% at ρ = 5. The ten-industry scale ratio sits between 0.912 and 0.982, so the kurtosis penalty slightly outweighs the skewness bonus.

The second check regresses true CRRA utility on its Taylor approximation, month by month, with Newey-West errors at lag 6. For the second-order version, β = 1 is rejected at every ρ where it can be computed. The level is 1% on Shiller data and 5% on French. At log utility on Shiller data, for example, β2 = 1.0841 with t = 3.531. For the fourth-order version it is rejected only in that same cell (β4 = 1.0164, p = 0.036). Shiller fourth-order R² runs 0.9889 to 0.9988; the French log-utility fit drops to 0.7847. I would not lean on this regression; the portfolio comparisons say more.

The third check carries the abstract's 95% figure. It uses the Kroll-Levy-Markowitz shortfall, the share of the utility gain over a naive book that the rule fails to capture. Whelan's version is stricter than KLM's own index, since it scores the single point the formula picks and does no search over the efficient set. The naive book splits the same total risky exposure equally. Shortfalls on stocks and bonds are 4.86%, 0.58%, 0.22% and 1.45% at ρ = 1, 2, 3 and 5. On industries they are 2.46%, 1.28% and 0.87% at ρ = 2, 3 and 5.

The "at least 95%" headline survives log utility on Shiller data with 0.14 points to spare. The 95% claim covers French data only from ρ = 2 up, because the log-utility case is dropped; Whelan calls that exclusion appropriate on the approximation's own terms. But the dropped case is the one where the rule recommends more than four times leverage and produces negative wealth. Removing it narrows the 95% to the cases the rule survives.

The numbers underneath are small. At ρ = 5 on Shiller data, the rule's expected utility is −0.246981, the optimum's is −0.246979 and the naive book's is −0.247105. That 1.45% is two millionths of utility out of 126 millionths available. At ρ = 3 the rule and the optimum both print −0.495104. At these magnitudes, rounding to six decimals moves the shortfall by tenths of a point. That likely explains why it rises from 0.22% at ρ = 3 to 1.45% at ρ = 5.

Log utility is where the approximation strains. The second-order Shiller book is [3.19, 4.79], nearly eight times wealth, against a numerical optimum of [2.83, 4.87]. In the industry data the log-utility book is over four times levered, produces negative wealth in some months, and is dropped. Whelan says why: "CRRA utility has unbounded curvature as wealth approaches zero, a boundary no finite-order Taylor expansion can represent."

Whelan concedes estimation risk and answers with Savage

Whelan does not hide the in-sample design. He writes that estimating moments carries "serious estimation risk". He is also explicit about what the KLM exercise covers. It "isolates the value of the Σ−1µe weighting rule given accurate estimates of the moments it requires, rather than speaking to the separate practical challenge of estimating those moments in real time." Section 6 calls the full-sample benchmark "clearly infeasible in practice". The conclusion says the 95% holds "even when evaluated against an infeasible full-information benchmark". His first answer is that sample moments are as reasonable a set of Savage-style subjective beliefs as any other. Under those beliefs the rule is consistent with expected utility.

The logic holds, and for a desk it moves the whole problem onto the inputs.

His second answer concerns information. The rule "requires only estimates of the first and second moments of returns rather than their entire joint distribution". He calls this "a substantially smaller informational demand, though not a trivial one". Two moments is a smaller demand. But the means are the hard part, and Σ⁻¹µe is built directly on them.

The ten-industry book is 23.4% NoDur, 11.8% Hlth, −9.9% Manuf and −23.0% Other as shares of gross weight. Those signs are only as good as 99 years of hindsight. The benchmark optimum also sees the full sample, so both sides of the shortfall share the same foresight. What the paper establishes is narrower: if you know the moments, the first two get within 4.86% of the full-distribution optimum's gain on these data, and cubic and quartic terms barely rotate the book. We did not find a rolling or out-of-sample version of the KLM comparison. A trailing-window shortfall of similar size would change my view of how far the result reaches.

What we built on US ETFs

We ran one automated version on liquid US ETFs. The universe is re-screened each year by dollar volume, and near-duplicates are dropped by a trailing correlation threshold. BIL is both the risk-free proxy and the residual holding. At each monthly close we estimate means and covariances from trailing daily excess returns. We scale them to an approximate monthly horizon and apply equation (28) as written, without normalizing the weights to sum to one. We then cap each ETF at 10% absolute weight and gross exposure at 4.0. Commissions are charged on every fill. The comparison book is equal weight at the same aggregate risky exposure, mirroring Whelan's naive benchmark.

From 2020-01-01 to 2024-07-01 our ETF version returned 35.57% in total, with a Sharpe of 0.60, Sortino 1.13, volatility 13.17%, a maximum drawdown of -23.84% and a Calmar of 0.29. These figures are ours, from this out-of-sample run. The paper reports no trading returns. Its only Sharpe figures are in-sample monthly S²max values of 0.028 and 0.033, on different assets over 1926 to 2026, so they do not compare with our 0.60. His shortfalls use fixed full-sample weights, and our returns come from trailing estimates. The two measure different things.

Two choices of ours may shape the result as much as the rule does. Trailing-window means are exactly the estimation noise the paper sets aside, and scaling daily estimates to a monthly horizon adds an approximation that the paper's monthly sample avoids. And the 10% cap rewrites the rule: the paper's own ρ = 2 bond weight is 2.40, twenty-four times our ceiling. Check the 13.17% volatility in the figures above before the return. A weak or strong number here is evidence about this one pass first.

For a systematic desk

The paper gives Σ⁻¹µe a second-order justification valid for any return distribution with finite moments, and shows on two universes that cubic and quartic terms rotate it by a cosine distance under 0.004. The 1/(1+S²max) factor is a 3% trim at monthly horizons. If squared Sharpe ratios scale with horizon, horizon choice moves exposure more than the factor. For log-utility sizing near the zero-wealth boundary, the paper's own excluded case is the warning, and the size of the bet still depends on means that nobody estimates well.

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.