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

A liquidation floor changes Kelly's 0.10 bet

The absorbing-boundary model and our 0.68 Sharpe ETF construction

2026-08-04 · 8 min read · US ETFs and liquid US equities using daily price data

Reviewing: Boundary-Induced Apparent Risk Aversion in Nonergodic Multiplicative Growth · Ling Zhang, Boyan Xing, Zhenyu She et al. · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Boundary-Aware Kelly First-Passage Position Sizing for Liquid US ETFs

Backtest period 2020-01-01 to 2025-10-08 · hypothetical, net of modelled costs

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

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

The paper does not study a real market instrument; it analyzes a stylized binary multiplicative return process. A practical backtest would adapt the mechanism to daily US ETF or equity returns by estimating an up/down return distribution and applying the same absorbing-boundary position-sizing logic. The substitution is acceptable because the core mechanism is path-dependent wealth evolution relative to a continuation floor, not a market-specific feature such as futures carry, order-book dynamics, or term structure.

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

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

  • The exposure grid max 0.3 and Kelly reference f_K=0.10 are tagged from_paper but calibrated for the paper's unit-scale return magnitudes a=b=1; applied to daily ETF returns where a_hat,b_hat≈0.01, the symmetric Kelly fraction is f_K=(2p_hat-1)/a_hat≈(2*0.52-1)/0.01=4.0, roughly 40x the grid ceiling of 0.3, so the constrained optimizer saturates at 0.3 (then the 0.1 position cap) for every positive-edge ETF and the boundary-compression content the strategy claims to trade is deleted by a scale-specific constant.
  • Time-base decoupling (category 8): a_hat and b_hat are per-day return magnitudes (R_t=close_t/close_{t-1}-1, 252-day lookback), but the lattice horizon T=50 is carried verbatim from the paper's abstract period count while the rebalance is weekly, so first-passage risk is propagated over 50 daily-scale steps (~10 weeks) yet the position is only held ~5 days before recomputation — a factor of ~10 between the horizon that governs the absorption term and the actual holding period.
  • Replaced defining construct: the paper's d=log(W0/L), L, S describe a single multiplicative wealth process, but the spec computes each ETF's f_star on its own single-asset binary lattice against the shared PORTFOLIO trailing-wealth floor L_t (0.8*peak); with each ETF capped at 0.1 across 14 names, no single-ETF lattice trajectory equals the actual portfolio wealth path, so the boundary/absorption term entering each f_star does not describe the portfolio-level absorption event it is claimed to model.
  • The inactive-boundary condition d>-T*log(1-f*a) instantiated at the spec's own scale (a_hat≈0.01, f≈0.3, T=50) gives threshold d≈0.15, while the trailing floor at 0.8 of peak puts d_t=log(W0/L_t) near log(1/0.8)=0.22 whenever wealth is at its peak; combined with grid saturation this means the boundary mechanism is dynamically irrelevant except in a narrow drawdown band, so the paper's headline compression rarely arises under the chosen parameters.

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 16.4%Oct 2025
Sharpe
0.68
Total Return
16.4%
Max Drawdown
-8.3%
CAGR
2.7%
Volatility
4.2%
Trades
2,950

A liquidation floor turns Kelly's 0.10 from a fixed fraction into a bet determined by distance to forced closure. Zhang, Xing, She and Xu remove the assumption that the game can continue indefinitely, then solve for growth-optimal exposure when a path may be terminated. For anyone running leverage against a margin line, an IMA drawdown gate or a redemption trigger, the relevant state variable is the log distance to the level where someone else closes the position.

This is a theoretical paper. It contains no return series, backtest, Sharpe, transaction costs or performance figure of any kind. Every reported result is a numerical solution to a stylized model whose underlying object is a binary multiplicative process rather than a traded instrument. We took daily US ETF returns, estimated an up/down distribution and applied the paper's absorbing-boundary sizing logic to those estimates. The resulting construction is ours. It is neither a replication of the paper nor a test of its result, and every figure we quote below comes from our own run.

When does 0.10 lose relevance?

The model is deliberately compact. Wealth follows W_{t+1} = W_t(1 + f R_t), where R_t equals +b with probability p and -a otherwise. Before the first period, the agent selects a fixed fractional exposure f and holds it unchanged. The lower threshold L is absorbing. Once wealth touches or falls below it, the path ends and receives residual terminal value S, where 0 < S < L. Expected log terminal wealth, including that absorbed payment, is the objective. Three quantities describe the state: log distance d = log(W_0/L), horizon T and residual ratio rho = S/L.

Their benchmark sets L=100, S=10 (so rho=0.1), T=50, p=0.55 and symmetric payoffs a=b=1. Without the boundary, the Kelly fraction is f_K = 2p - 1 = 0.10. That value supplies the reference line throughout the paper.

The absorbed objective is evaluated through exact lattice propagation rather than simulation. Active probability mass occupies nodes W_0 A^k B^{t-k}, with A = 1+fb and B = 1-fa. Whenever a descendant node reaches or crosses L, its mass moves to an absorbed bucket. The binary tree recombines, leaving at most t+1 nodes in each layer. Computational cost therefore grows polynomially in T instead of following 2^T paths.

There is no Monte Carlo error.

A grid search over f then finds the optimum. The main result is exposure compression near the floor. The optimizer chooses a fraction that is, in the authors' words, "substantially below the no-boundary Kelly benchmark". As d increases across their distance grid, f*(d) climbs toward 0.10.

They feed that choice into the unconstrained symmetric CRRA first-order condition, gamma_app(d) = log[p/(1-p)] / log[(1+f)/(1-f)]. Far from the boundary, the result is gamma = 1. Near the threshold it rises sharply. An f* of zero implies infinite gamma, and the paper explicitly says that any finite plot cap serves display purposes only.

Enough detail to rebuild, too little to verify

The numerical specification is unusually thorough for this kind of paper. Exposure takes 601 equally spaced values on [0, 0.3], while distance takes 80 equally spaced values on [0.05, 3.0]. The admissibility condition is 1 - fa > 0. Ties use tolerance 1e-12, with the smallest exposure retained.

Verification is harder. We did not find tabulated values of f*(d) or gamma_app(d) in the text, so on our reading their magnitudes appear only in the figures. Anyone rebuilding the calculation must match curves to pixels. According to the data availability statement, the reproducibility package is available "according to request to corresponding author".

Their sufficient condition has a direct implication for those figures. If d > -T log(1 - fa), the boundary cannot be reached within T periods. Absorption probability then falls to zero, the correction disappears and f* = f_K. The paper introduces this as "A useful finite-horizon sufficient condition makes the far-from-boundary limit explicit", without printing a numerical value.

At f = 0.10, a = 1 and T = 50, the threshold is -50 log(0.9), about 5.27 in log units. Their displayed distance grid ends at 3.0. None of its points therefore meets the inequality. We read the right side of Fig. 3 as an approach to the limit rather than the region where the boundary is provably inactive.

The paper describes survival there: "Far from the boundary, survival remains close to one over a wide range of low and moderate exposures." Its own wording is "approaches" and "converges toward", which supports that reading. The distinction matters if a reader treats the far end of the plotted curve as the Kelly limit itself.

Tie-breaking also deserves attention. The authors state the rule and give their reason: choosing the smallest f leaves the exposure function single valued. They add that it "is not a behavioral preference for lower risk". Fair enough. Where the objective is shallow, however, the rule moves displayed f* in the same direction as the paper's headline compression. The authors themselves flag shallow competing maxima. Without tables, readers cannot determine the size of that contribution.

The identification warning inside gamma_app

The CRRA mapping invites over-interpretation, a risk the authors address directly. Their control problem maximizes expected absorbed log terminal wealth and remains within expected utility. gamma_app is an interpretive diagnostic. Its numerical level depends on the symmetric binary benchmark and is not universal. The conclusion describes the finding as "a narrower identification result".

That framing is persuasive. Unobserved distance to a continuation threshold could account for part of the cross-sectional dispersion in estimated risk aversion. The result supplies no evidence against preference curvature, and the paper makes no such claim.

Most implementation objections appear together in the limitations section. Fixed exposure comes first. The authors then write that "the apparent-risk-aversion mapping is benchmark specific" and that "the numerical level of the inferred curvature is not universal". They also state that "The paper does not prove global monotonicity of f* in d, T, or rho".

Reported results use p = 0.55 and a = b = 1, with variations in d, T and rho. We found no case using asymmetric a and b or another win probability. Their response is explicit: "The qualitative mechanism should remain relevant whenever exposure affects both growth and the probability of reaching a continuation threshold, but the present results do not establish its form for arbitrary return processes." I accept the first clause. Payoff geometry gives the effect its sign, which should carry into other return processes. Magnitude remains open. The paper gives no basis for estimating compression away from p = 0.55, a = b = 1, T = 50.

A soft floor can push exposure above Kelly

The sign reversal is the more interesting finding. Boundary corrections can become positive when residual value exceeds the wealth an absorbed path would otherwise reach. As rho approaches one, absorption truncates further downside while surviving paths retain multiplicative upside. Within a narrow region at small d, the optimum moves above f_K = 0.10. High-resolution refinement confirms the result.

The authors call this a local limited-liability-like effect, while stressing that the model contains no debt contract, creditor or strategic transfer. Its distance from the benchmark matters. Their standard case has rho = 0.1, whereas the reversal requires rho near 1. A trader receiving only a tenth of the floor after breach remains far from this corner. A fund facing a soft close near NAV might fit it more closely.

Our cap swallowed the mechanism

We turned the mechanism into an ETF construction. The universe contained 14 liquid US names: IWM, QQQ, SPY and the eleven sector SPDRs. Rebalancing was weekly from 2020-01-01 to 2025-10-08. For each name, we estimated p, a and b from the trailing 252 days and required at least 126 observations.

Sizing ran through the paper's absorbing-boundary lattice with T = 50, the same 601-point exposure grid over [0, 0.3], and rho = 0.1. We placed the floor at 80% of running peak portfolio wealth. The book was long only and otherwise held cash. Costs were $0.004 per share in commission with zero modelled slippage.

Total return over the window was 16.43%. Sharpe reached 0.68, Sortino 0.81 and Calmar 0.32. Annualised volatility was 4.22%, with maximum drawdown of -8.29%. A 0.68 Sharpe from a book that never exceeded the 10% per-name cap is thin. Those figures describe only our ETF construction. The paper offers no performance figure for comparison.

The sizing mechanism disappeared in the change of units. Mean daily ETF gains and losses are around 0.01, producing a symmetric no-boundary Kelly fraction of roughly 4.0. That sits far above the 0.3 grid ceiling and farther above the 10% per-name cap. Every positive-edge ETF consequently saturated at 10%. None of the boundary compression shown in the paper's figures reached an actual traded weight.

Our backtest therefore amounted to a long-only ETF book at up to 1.4x gross, combined with a hard 20% drawdown stop. We added that stop ourselves. On breach, the book liquidates into cash for the rest of the sample; the paper instead assigns the absorbed state S = rho L. The rule never fired because maximum drawdown reached -8.29%, short of the 20% threshold.

Our absorbing floor was therefore never tested.

Simple arithmetic caused the saturation: an estimated Kelly fraction near 4.0 faced a 0.3 grid ceiling and a 10% per-name cap. Every positive-edge name pinned to that cap. Our overlay adaptation of the triadic stress index encountered a comparable substitution problem (our note).

A cleaner implementation would rescale the lattice to the holding period and remove the caps, or define the binary step at a horizon where a and b match the floor distance more closely. We did neither here. Nothing in our run bears on whether the paper's compression result is correct.

The inequality is what I would take to a desk. Calculate d = log(W/L) from an actual trigger, insert the worst-case per-period loss as fa, and test whether d exceeds -T log(1 - fa) over the relevant horizon. Above that level, size from the edge. Below it, constant-fraction Kelly answers a different question from the one imposed by the continuation threshold.

A dynamic version of the model would change my view of how much this compression matters in practice. Fixed exposure is the authors' first listed limitation, and they say dynamic exposure "may alter the quantitative strength of the boundary effect". My own guess, unsupported by anything in the paper, is that a feedback policy cutting exposure after adverse shocks would recover part of the growth sacrificed by the ex ante haircut. The paper commits only to this: "A dynamic policy could reduce exposure after adverse shocks or increase it after favorable shocks."

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 weekly rebalance at the close:
  Mark current portfolio wealth W0 before new trades
  Update running peak wealth
  Set trailing floor L = 0.80 * running_peak_wealth
  Set residual wealth S = 0.10 * L

  If W0 &lt;= L:
    Liquidate ETF positions at available real close prices
    Hold cash for the rest of the backtest
    Skip liquidation trades where the real close is missing

  Else:
    For each ETF in the fixed 14-symbol universe:
      Compute daily close-to-close returns using observations strictly before rebalance date
      Use the latest 252 trading days, requiring at least 126 observations
      Estimate:
        p = count(R &gt; 0) / [count(R &gt; 0) + count(R &lt; 0)]
        a = mean(-R | R &lt; 0)
        b = mean(R | R &gt; 0)
      Exclude zero returns from p, a, and b

      If a &lt;= 0, b &lt;= 0, no positive/negative returns, or p*b - (1-p)*a &lt;= 0:
        target_weight = 0
      Else:
        d = log(W0 / L)
        For each f on grid [0.0, 0.3] with 601 points and 1 - f*a &gt; 0:
          Propagate exact T=50 recombining binary lattice with:
            favorable multiplier A = 1 + f*b
            adverse multiplier B = 1 - f*a
          Absorb paths that first cross W &lt;= L and assign terminal wealth S
          Score f by expected log terminal wealth under absorption
        Choose f_star with highest score, using the smallest f on numerical ties
        target_weight = min(f_star, 10%)

    If gross exposure exceeds 4.0x, scale target weights proportionally
    Trade to targets at real closing prices; keep unused capital in cash