AQAI QuantAI research lab for systematic strategies

Automated analysis

This analysis was drafted by our research engine and has not been checked by a human editor. It may contain errors. It separates the paper’s own results from our tests, and any figures called ours come from our own backtest.

Our automated analysisOur backtest

Kim and Wong break a shortfall-aversion bound at one parameter point

Their dual formulation treats the consumption peak as a separate control; strict dominance over earlier solutions remains unproved.

2026-10-26 · 7 min read · Utility-Based Portfolio Allocation · US equity ETF exposure through SPY, with an uninvested cash balance.

Reviewing: Duality of Shortfall Aversion · Jaehyun Kim and Hoi Ying Wong · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Discounted Consumption-Peak Dual Control: SPY and Cash versus Merton

Backtest period 2020-01-01 to 2024-07-01 · hypothetical, net of modelled costs

Why these figures are not the paper's (4)

The paper reports no results of its own

This is a theoretical paper — derivations and proofs, with no measurement on market data. The backtest below is a strategy we built from its idea, not a test of anything the authors claimed.

Run on a different market than the paper

No unavailable-market substitution: SPY instantiates the model's unspecified risky asset, and cash represents its risk-free account. Realized ETF returns need not satisfy the assumed constant-parameter diffusion.

The paper's own figures describe its universe and do not carry over to ours.

This is not a replication of the paper (2)

  • The theoretical policy assumes continuous trading, a complete constant-parameter diffusion market, and an infinite horizon. A daily, finite-horizon historical implementation approximates these conditions and cannot verify the continuous-time optimality or utility-dominance theorem.
  • The risk-free account must be modeled as cash accrual using a stated rate convention; observed Treasury yields are calibration inputs, not executable cash-bond returns. Transaction costs and discrete monitoring may prevent exact satisfaction of the theoretical consumption and solvency constraints.

The figures below measure what we could run, not the paper's own method, so they are not evidence for or against its claim.

Our own audit found this run does not follow the paper faithfully (2)

  • Research investment admissibility: preserve unrestricted risky-dollar control, positive SPY exposure, negative cash borrowing at frozen r, and no hidden clipping; report leverage and borrowing; a no-borrowing optimum is a different control problem.: The analytical policy remains unrestricted and is never clipped, but implemented orders are subject to the mandatory single-symbol position cap and maximum-leverage gate. A breach flags the fold unavailable for implemented comparison rather than creating a constrained-policy substitute. (invalidates: Theorem 3.5 attainability as an implemented platform policy in limit-breaching folds; full-window unrestricted empirical policy comparison in unavailable folds)
  • The paper's continuous-time frictionless complete market is evaluated using historical SPY, daily lagged controls, approximate Treasury calibration, and predefined transaction-cost sensitivities.: Use the declared empirical calibration, actual daily adjusted SPY fills, discrete arrears withdrawals, and cost scenarios while retaining the continuous-time infinite-horizon policy solver. (invalidates: Exact continuous-time optimality of historical daily lagged executions; exact realized-path identification with equation (3.29); transaction-cost optimality in sensitivity runs; continuous-time boundary timing between observed sessions)

These are our findings about our own implementation, not criticisms of the paper. Read the figures below as a description of what we ran.

Jan 2020Total 15.8%Jul 2024
Sharpe
1.47
Total Return
15.8%
Max Drawdown
-7.4%
CAGR
10.4%
Volatility
7.2%
Beta vs SPY
0.51
Trades
247

Kim and Wong break a published shortfall-aversion bound with a spending plan that costs exactly 41/16 units of wealth. The plan delivers more expected utility than the upper bound permits. Their closed-form counterexample, worked out in explicit fractions, exposes a failure in the verification step of the paper that introduced shortfall aversion. They then offer a repair through duality, treating the historical consumption peak as a control in its own right. Their larger claim, that this repair strictly improves on earlier solutions, has the weakest support. The authors' own discussion explains the gap.

This is pure theory. The paper contains no data or performance figures; every backtest result below belongs to our work.

What is the investor maximizing?

Shortfall aversion judges spending against its running maximum. The utility function is u(D(H)c minus L(H)): c is current spending, and H is the highest spending rate reached so far. Guasoni, Huberman and Ren chose a ratio specification, with D(h) equal to h to the power minus alpha and L zero. Deng et al. and Li et al. chose a difference specification, with D equal to 1 and L equal to a fraction of h. In either version, a new spending high raises the standard against which future consumption is judged.

The investor maximizes expected utility from spending over an infinite horizon, with or without discounting. The objective contains no return, Sharpe or drawdown. Withdrawals are what the investor wants; the portfolio pays for them. When this paper uses dominates, a trader should read it as higher expected lifetime utility of consumption. An equity curve cannot establish that ranking.

The market has a single risky asset and a bank account. Its r, mu and sigma are constant, and its market price of risk, kappa equal to (mu minus r)/sigma, is assumed positive. Feasibility requires wealth x to be at least l(h)/r, enough to finance minimum spending forever. The paper treats the strict case.

The peak becomes a stopping decision

Kim and Wong allow H to be any nondecreasing adapted process satisfying l(H) at most c at most H. H therefore need not equal the realized spending peak. Lemma 2.1 shows that this larger choice set leaves the value unchanged, under the standing assumptions and provided the enlarged problem's value is well defined. A Lagrange multiplier y on the static budget makes the consumption choice pointwise. Only the nondecreasing H remains to be controlled in the dual problem.

For discounting with rho above zero, the dual value separates into a baseline and an integral over habit levels a. Each level supplies a one-dimensional stopping problem: when should the peak cross a? The threshold z_rho(a) is the unique root in (0, Gamma(a)) of an integral equation. Gamma(a) is a known function of the utility and habit specification. The optimal peak is H_t = z_rho inverse of min(z_rho(h), running minimum of Y), where Y is the scaled state-price process.

The peak thus increases only when Y reaches a new low, following good market returns. A global stopping problem determines each threshold, rather than a local first-order condition. For the undiscounted case, the authors verify the same structure using a variational inequality, with delta_0 = 1 + 2r/kappa squared above 1.

Where Guasoni et al.'s Lemma A.1 fails

Appendix C sets u(xi) = minus 1/xi, D(h) = h to the minus one half, L = 0, rho = 0, r = 1/2, mu = 3/2, sigma = 1, kappa = 1, initial peak h = 1, wealth x = 41/16 and multiplier y = 1. In Guasoni's notation, these choices give alpha = 1/2 and gamma = 2.

The authors construct a family of peak rules indexed by k. The peak is the larger of 1 and (k divided by the running minimum of the state-price density) to the power 2/3. Spending remains at that peak until the state-price density reaches 1/k times its running minimum; it then drops below the peak. With k = 1/2 and y = 1, this reproduces the construction in Guasoni et al. Choosing k = 1/4 delays the peak increase until the state price has fallen further.

At k = 1/4, the plan costs exactly 41/16 and therefore satisfies the budget. Expected utility is minus 103/32 minus 2 log 2, approximately minus 4.61. At this point the lemma gives a bound of minus 65/16 minus log 2, approximately minus 4.76. The excess over the bound is 27/32 minus log 2, or about 0.15.

An admissible plan therefore violates the inequality in Lemma A.1 of Guasoni et al. Their verification argument fails as written. In the authors' words, "the conditions stated in this lemma are not sufficient in general to ensure the asserted local optimality property within the HJB equation".

The abstract reaches further than this establishes.

The counterexample breaks an upper bound at one multiplier and one parameter point. It does not quantify the utility forgone by the published policy, or establish whether that policy gives up any utility at most parameters.

Weak dominance follows; strict dominance needs the missing calculations

The abstract says the authors "establish that the resulting value function strictly dominates those obtained in the existing literature while remaining attainable under an admissible optimal control". In the body, dominance becomes "an initial observation". The authors write: "straightforward, albeit tedious, calculations show that our value function dominates that obtained in Guasoni et al. (2020)." The paper does not include those calculations. The paragraph also says: "How the two solutions can be reconciled remains an interesting question that warrants further investigation."

Attainability is the abstract's defence, offered in the same sentence as its dominance claim. It supports part of the argument. Their value function is the supremum over the enlarged class, and an admissible plan attains it. Its value must therefore be at least the utility of any feasible policy, including the earlier policy. Weak dominance follows. Establishing strict dominance requires showing that the earlier policy is genuinely different and suboptimal; that conclusion depends on the algebra the paper leaves out.

The exponential case is harder to compare. The authors themselves describe their solution as "not directly comparable" to Deng et al. That admission excludes the Deng et al. case from the abstract's strict-dominance claim. Optimal spending here is min(H_t, lambda H_t + (1/beta)(minus log Y_t)^+). It never falls below lambda H_t, since admissibility requires c at least l(H). By contrast, the Hamilton-Jacobi-Bellman (dynamic-programming) solution in Deng et al. can reach zero. Differences between the solutions therefore combine a change in method with a new subsistence floor. Duality alone cannot take credit for them. The undiscounted theory also requires u(z) to approach 0 as z grows, excluding log utility and power utility with gamma below 1.

A daily SPY-and-cash implementation

We turned the idea into a daily strategy. Its limitations come first. Continuous trading, a complete market with constant parameters, and an infinite horizon are assumptions of the theory. Our finite daily historical run meets none of them and cannot verify optimality or the dominance claim. We substituted SPY for the model's unspecified risky asset; realized ETF returns need not follow a constant-parameter diffusion. Cash earns a frozen, continuously compounded rate converted from the 3-month Treasury yield. That yield serves only to calibrate the cash rate. Transaction costs and daily monitoring can violate the model's consumption and solvency constraints.

Our choices were power utility with gamma = 3, alpha = 0.5 and rho = 0.04, solved numerically using the discounted theory. This combination is ours: the paper's explicit discounted corollary uses exponential utility, while its power-utility corollary is undiscounted. For each annual fold, we refit mu, sigma and r using the prior five calendar years. Each fold begins with wealth 1 and an annual spending peak of 0.04, with execution at the next session's adjusted close. We leave the risky-dollar target from J_yy unclipped. A 4.0 gross leverage gate rejects infeasible orders. The theoretical portfolio has no reason to remain unlevered.

From 4 January 2023 to 1 July 2024, our SPY-and-cash construction returned 15.80% in total. Its Sharpe was 1.47, Sortino 1.97 and Calmar 1.41. Maximum drawdown was -7.36%, and annualized volatility was 7.25%. These are figures for our construction from the paper's idea, covering only eighteen months. The paper supplies no performance figures of its own for comparison.

The reported wealth path is after withdrawals, and the policy maximizes consumption utility rather than that path. Our unclipped exposure under one calibration determines the reported volatility. These results are evidence about our build alone.

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.

How our backtest worked

The steps the code we ran actually executed, from its strategy card. Ours, not the paper's — it is one automated implementation of the idea, not the authors' own.

For each independent annual test fold:
  Load the preceding five complete calendar years of SPY and available DGS3MO.
  Estimate calendar-time mu and sigma; convert Treasury yields and freeze r.
  Reject unavailable data, failed model assumptions, or failed numerical validation.
  Solve the discounted characteristic roots and normalized peak boundary.
  Assemble the dual value and derivatives; extend using homogeneity.
  Initialize each policy/cost scenario with wealth 1, cash only, and peak 0.04.

At each completed close:
  Process previously submitted instructions at this session's adjusted close:
    Mark SPY and accrue signed cash at frozen r.
    Check positive wealth and affordability of withdrawals plus trading costs.
    Pay the submitted annual consumption rate × elapsed calendar days / 365.
    Record any SPY funding sale, then rebalance to the submitted dollar target.
    Commit H = max(previous H, actual withdrawal / elapsed years).

  From actual postexecution wealth x and committed peak h:
    Solve -J_y(y,h) = x.
    If y <= z(h):
      Authorize h_new = inverse_z(y); set c = h_new.
      Evaluate risky-dollar exposure at (y,h_new).
    Otherwise:
      Retain h; set c = min(h, h^[alpha(gamma-1)/gamma] × y^[-1/gamma]).
      Set pi = (mu-r)/sigma^2 × y × J_yy(y,h).
    Submit c and pi for the next session's close, without clipping pi.
    Reject exact targets that breach platform feasibility gates.

Run Merton with w = (mu-r)/(gamma sigma^2), pi = w*x,
  and c = {[rho+(gamma-1)(r+(mu-r)^2/(2 gamma sigma^2))]/gamma}*x.
Use identical execution conventions and paired available scoring intervals.
Cancel executions beyond the endpoint; do not liquidate residual wealth.

Missing execution prices cancel the bundled trade, withdrawal, and peak update and flag an implementation failure. Unfundable prescribed consumption flags depletion rather than creating a smaller synthetic withdrawal. Score discounted realized peak-relative utility separately from residual wealth.