A trader pursuing two wealth targets can end up selling at a low stock weight and buying at a high one. Gang and Kim show such a policy in their numerical examples, while proving that the underlying control problem has a solution classical in time and log-price when trades arrive at random times. The existence result carries more weight than the striking picture of reversed trading bands.
A stock, cash and a random clock
The market has one stock and cash that pays zero interest. Each buy or sale incurs a proportional cost, and trading is confined to the jump times of a Cox process, a Poisson-type clock whose intensity may vary with time and price. Borrowing and shorting are barred. The objective is expected utility of terminal wealth after liquidation costs. For some p > 0, the authors require U(e^r) divided by 1 + e^{pr} + e^{-pr} to be bounded and Hölder continuous in r. Concavity, monotonicity and differentiability are unnecessary. Their example w + ½sin(w) has asymptotic elasticity 3/2, outside the standard Kramkov and Schachermayer framework.
Cash and share holdings stay fixed between arrivals while log-price diffuses. In the Hamilton-Jacobi-Bellman (HJB) equation, the trading decision appears as intensity multiplied by the difference between the best post-trade value and the current value. This zeroth-order term leaves a semi-linear equation that is uniformly parabolic in log-price, with holdings treated as parameters. As the authors put it, "The main message of this paper is that search frictions remove this obstruction," referring to the gradient-constrained free-boundary problem created by continuous trading with costs. A Feynman-Kac fixed-point map contracts by a factor of 1/2 when the normalising constant α is large; interior Schauder estimates supply regularity. A verification theorem then identifies the value function and obtains an optimal Markov feedback rule through a Borel measurable selector. The solution is classical in time and log-price, and continuous in positions. The authors say verification needs no more than that.
The paper gives no returns, Sharpe ratios or backtests. Its computations show policy shapes for three smoothed aspiration utilities, each combining a CRRA term with normal-CDF steps. The inputs are μ = 0.06, σ = 0.35, λ = 20 and T = 1; equal buy and sell costs are 0.05 or 0.02. An implicit-explicit finite-difference scheme uses 2000 spatial and 4000 time subintervals. Every performance figure below belongs to our own backtest.
Selling left of buying
The clearest reversal comes from U3 = -1/w + 6Φ((w-1.6)/0.02) + 12Φ((w-2.1)/0.05). With cost at 0.05 and pre-trade wealth w = 1.655, the authors evaluate the policy at t = 0. As the pre-trade stock weight π increases, the chosen action changes from a sale to a purchase. Near π ≈ 0.18, the post-trade weight jumps directly from 0 to 1. A full sale there would leave w(1 - ϵπ) ≈ 1.64, two step widths above the first aspiration level of 1.6. The authors interpret the sale as protecting the 1.6 goal instead of gambling for the 2.1 goal. The second step's height is 12, twice the first step's 6.
The other slices show milder departures from the usual bands. At w = 1.96, U1 alternates two no-trade intervals with two selling intervals and never buys. At w = 0.915, U2 alternates two buying intervals with two no-trade intervals and never sells. U1 at w = 1.51 gives the familiar buy, no-trade, sell sequence. Where wealth lies relative to the steps matters.
What does the jump cost?
The authors prove that a discontinuity in the chosen post-trade weight requires at least two global maximisers with different weights at that state. They also observe that, with search frictions, a state can lie deep inside a trading region at every arrival. Such switches can therefore recur.
For a trader, the same proof limits what the jump establishes. The competing trades have equal value at the switch by construction, and the normalised value is continuous. By continuity, we infer that a small error in locating the boundary near π ≈ 0.18 costs little value even though the positions differ across the full 0-to-1 range. Its location depends on a wealth margin of about 0.04 above a step of width 0.02. To matter in practice, the reversal needs drift and volatility estimates that rank two nearly tied trades correctly, along with a goal as sharp as a 0.02-wide step.
The goal must also tolerate smoothing. A genuine jump violates the Hölder condition. On letting the step width approach zero, the authors explicitly say "we do not claim any convergence of the value functions or policies in this limit".
Costs and the trading clock
For a daily stock-or-ETF interpretation, these are heavy frictions. If T = 1 denotes one year, intensity 20 gives a daily opportunity probability of 1 - exp(-20/252), about 7.6%, or roughly one chance every 12.6 sessions. U1 and U3 pay 5% each way; U2 pays 2%. The figures cover only those two cost levels, leaving open whether the reversals persist at the much smaller costs of a liquid ETF. Costs are proportional, with no fixed charge or price impact, so capacity lies outside the model. The numerical examples also have constant coefficients and a single risky asset.
How far do the plots reach?
The PDE result guarantees one bounded continuous solution, classical in the diffusive variables, and an optimal feedback rule. The policy plots make a narrower claim. Their one-dimensional slices, the authors write, "do not by themselves establish disconnectedness of the corresponding regions in the full state space." If the maximiser is non-unique, the plotted weight is whichever maximiser the numerical procedure returns. They add: "Distinguishing such switches from discretization effects requires numerical refinement and comparison of the competing objective values." We did not find a grid-refinement study beyond the 2000 by 4000 resolution, or a certainty-equivalent comparison with a concave or concavified benchmark.
Our SPY run stayed near cash
We ran our own version with SPY and cash on daily bars from 2020-01-01 to 2024-07-01. The paper offers no performance figures for comparison. Starting with 1.655 units of cash, the run made no initial trade. It used U3 for terminal utility and estimated drift and volatility from trailing daily returns. Values came from a daily lognormal backward recursion; arrivals simulated at 20 per year used a fixed seed. At each arrival, the run searched the full z ∈ [0, 1] range for its preferred trade. This discrete recursion differs from the authors' continuous-time solution and is outside their verification theorem.
The result barely moved.
Over 2020-01-01 to 2024-07-01, our run recorded a Sharpe of 0.52, a Sortino of 0.62 and a Calmar of 0.30. The book sat almost entirely in cash, so those ratios mostly measure noise around cash rather than an edge. Drawdown rounds to -0.00%. These figures describe one automated pass, rather than a verdict on the authors' work.
The starting state accounts for much of the outcome. We began at π = 0 with wealth 1.655, already above the 1.6 step. Cash pays zero, so holding it secures the first goal. The paper's U3 figure likewise shows no trade at the π = 0 endpoint for that wealth. Our estimates of SPY drift and volatility, however, differ from its 0.06 and 0.35.
The authors have done the hard part well; the existence proof stands on its own. I would take the reversed bands to a desk if the U3 switch survived a finer grid and a cost sweep toward ETF levels, with a certainty-equivalent gain attached.
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.