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

The optimal mean-reversion trade is a horizon-scaled trend bet

Hoffmann and Rásonyi prove T^(2β+1) growth for 0<β<1; our SPY build earned 0.03%, 2020 to mid-2024.

2026-10-07 · 5 min read · Mean reversion / utility-based position sizing · US equity ETFs

Reviewing: Exponential investors with weakly mean-reverting prices · Balazs Hoffmann and Miklos Rasonyi · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

SPY Horizon-Dependent Smoothed-Power Share Position

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

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

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.

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

  • Eqs 2.1–2.3: dS_t = μdt + dX_t, S_0 = 0; dX_t = −α sgn(X_t)|X_t|^β dt + dB_t, X_0 = 0; θ_t := μ − α sgn(X_t)|X_t|^β, so dS_t = θ_t dt + dB_t.: Trade observed SPY adjusted prices without asserting or fitting this SDE. (invalidates: Theorem 3.1(i) bound as a claim about SPY; Theorem 3.1(ii)–(iii) admissibility and order as claims about SPY; Lemma 6.1 model gains bound as a claim about SPY)
  • Eqs 2.4–2.5: u_T := sup_{H∈A_T} E[−exp{−V_T^H}]; c_T := −log(−u_T), where V_t^H := (H·S)_t.: Compute sample exponential utility and CE of normalized completed-block P&L for one specified rule; do not take a supremum. (invalidates: Theorem 3.1(i) optimal-value interpretation for the empirical statistic)
  • Eqs 3.3 and 6.2: H_t^{β,ε,T} := ((T+1−t)^β − 1)φ_ε(S_t), 0 ≤ t ≤ T; w_T(t) := (T+1−t)^β − 1.: Use the exact weight and function on each block's anchored adjusted-close change, followed by separately reported empirical share scaling and caps. (invalidates: Lemma 6.1 continuous-time wealth identity and gains bound for executed SPY trades; Theorem 3.1(ii)–(iii) for executed SPY trades)
  • Eqs 6.3–6.6: V_T^{β,ε} = I_1(T) − I_2(T); I_1(T) := β∫_0^T (T+1−t)^(β−1)F_ε(S_t)dt; I_2(T) := (1/2)∫_0^T w_T(t)F_ε''(S_t)dt; |I_2(T)| ≤ B_ε T^(β+1), B_ε := (1/2)(β+1)||F_ε''||_∞.: Retain these exact equations as paper reference, but calculate executed SPY wealth from actual share changes, fills, and cash rather than assigning it this Itô decomposition. (invalidates: Lemma 6.1 terminal-wealth decomposition and resulting gains bound for executed SPY trades)

2 further finding(s) are described in the note.

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 0.0%Jul 2024
Sharpe
0.09
Total Return
0.0%
Max Drawdown
-0.1%
CAGR
0.0%
Volatility
0.1%
Beta vs SPY
-0.00
Trades
1,060

Hoffmann and Rásonyi's asymptotically optimal trade buys a price above its starting level and shorts one below it. Its size depends on the time left to the horizon. The rule never reads the mean-reverting factor, even though weak mean reversion underwrites its T^(2β+1) growth order. That distinction matters to anyone considering the trade for an ETF.

The clock sets the position

The model has one risky asset, zero interest and price S_t = μt + X_t, with S_0 = 0. A force α|X|^β pulls the deviation X toward zero when 0 < β < 1. The authors call this weak or sublinear mean reversion; unit-variance Brownian noise drives the price as well. The investor has exponential utility, risk aversion one and horizon T. Its certainty equivalent, minus the log of minus the best attainable expected utility, grows like T^(2β+1) as T → ∞. Earlier work co-authored by Rásonyi obtained the same order under strong reversion, β ≥ 1. The paper has no data. Every performance figure here is ours.

Their trade is H_t = ((T+1−t)^β − 1) φ_ε(S_t). The function φ_ε starts from sgn(x)|x|^β; an odd quintic smooths its infinite slope around zero on [−ε, ε] so Itô's formula can be used. The authors identify this smoothing as the change from the β ≥ 1 case, where the functions did not pose the same C² problem near the origin. The time weight begins near (T+1)^β and reaches zero at T. Because φ_ε increases and is odd, the position is long above the starting price, short below it and larger after a bigger move. Neither α nor μ enters the rule. Negative drift pays exactly as positive drift does.

The payoff calculation makes the source of that growth visible. Apply Itô to w_T(t)F_ε(S_t), with F_ε the antiderivative of φ_ε, and terminal wealth becomes I1 − I2. On every path, I1 = β∫(T+1−t)^(β−1) F_ε(S_t) dt is nonnegative; F_ε grows like |S|^(β+1)/(β+1). I2 charges for the curvature induced by the quadratic variation of S. The paper bounds that charge by ‖F''‖/(2(β+1)) · T^(β+1). When drift takes S to roughly μt, I1 accumulates at order T^(2β+1) and overwhelms it. The gains process stays above −B_ε T^(β+1), the paper's admissibility bound.

Why does reversion matter to this trade?

The proof has to rule out paths where S lingers near zero. Such a path requires X to offset the drift, leaving |X| of order T across much of the window. A Foster-Lyapunov argument gives ∫|X_s|^(2β) ds an exponential moment. The probability of that bad event then falls to C e^(−bT^(2β+1)), yielding the claimed order.

The authors write that "the line of attack from [6] fails in the present case." Their Jensen route for β ≥ 1/2 nevertheless remains close to the earlier proof. It uses an averaging event over [0, T/2]. When β < 1/2, |x|^(2β) loses convexity, so the authors instead count Lebesgue measure on [T/4, T/2]. This newer route also covers β ≥ 1/2. Both give the same exponent.

The upper bound comes from the unique martingale measure. Its entropy is ½E_Q∫θ_t² dt, where θ = μ − α sgn(X)|X|^β. A bound of μ²T + α²∫E_Q|X_t|^(2β) dt puts that entropy at order T^(2β+1). With α = 0, only μ²T remains and growth is linear. Mean reversion makes the drift likely to be realized: the model has a known trend line, with deviations that become expensive to sustain. In economic terms, it sits close to an asymptotic arbitrage.

The SPY assumption

Applying the trade to a listed fund requires a price that follows a line of nonzero slope. Excursions from that line must also revert strongly enough to make a whole-window failure of the trend super-exponentially rare.

The drift does the work.

The authors exclude μ = 0 and say it "will be addressed elsewhere."

The guarantee specifies an exponent, rather than a usable horizon. The paper leaves subscripted C's implicit by convention, and we found no values for b, δ0 or c0 either. T^(2β+1) describes certainty-equivalent growth for large T in units with Brownian variance one per unit time. It gives no threshold for large T and no certainty equivalent at 20 sessions.

Position sizing creates another gap. Shares scale like T^β|S_t|^β, without a position cap or trading costs. The loss floor, −B_ε T^(β+1), rises with the horizon; B_ε also depends on the smoothing width. Beyond the spline, |F''| = β|x|^(β−1). At the matching point this is βε^(β−1), so narrowing ε increases the curvature charge. The theorem allows every fixed ε > 0, but we did not find a selection rule. The arithmetic price begins at zero, making the signal a dollar move from an anchor and ε a dollar amount.

One-share SPY blocks, 2020 to mid-2024

We built a discrete version with daily SPY data from 2020-01-01 to 2024-07-01. Nonoverlapping blocks reset the horizon every 20 sessions. The first adjusted close in each block anchors x, the current adjusted close minus that anchor. We chose β = 0.5 and ε = 1.0 dollar. Target shares follow ((21−t)^0.5 − 1)φ(x), with a multiplier of one against $100,000 of capital. We capped position value at initial capital and forced the target to zero at session 20. These are figures from our construction; Hoffmann and Rásonyi report a theorem without data.

After commissions, total return was 0.03%. Sharpe was 0.09, maximum drawdown was −0.12%, and the win rate was 46.01%.

With a one-share multiplier on a $100,000 book, positions were tiny. The run was close to a sign test, and this quick automated pass earned nothing a book would notice at that size. Our choices account for much of the weakness: 20 sessions is far from T → ∞, while ε and the share multiplier were scalings we selected. We did not model short borrow, margin financing or market impact. Nor did we calculate the paper's own metric, a per-block certainty equivalent, against buy-and-hold over the same blocks. This single automated run is no verdict on the authors' theorem.

A comparison could change my view. The horizon-scaled rule would have to beat holding SPY on block-level certainty equivalent over identical 20-session blocks, at a size that produces returns a book would notice. For now, Hoffmann and Rásonyi have a clean theorem for a market with a known trend line and costly deviations from it. Nothing yet shows SPY is that market.

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 predeclared, nonoverlapping SPY block with sessions t = 0,…,20:
  Set anchor = adjusted close at t = 0; do not signal before that close.
  After each close, x = adjusted close[t] − anchor.
  Compute φ(x) using the specified smooth quintic for |x| ≤ 1,
    otherwise sign(x) × |x|^0.5.
  Uncapped target shares = ((21 − t)^0.5 − 1) × φ(x).
  Multiply by 1; cap position value at initial capital and check 4×
    gross leverage before increasing exposure.
  Queue the change from held shares for the next available adjusted open.
  At t = 20, target zero; require a real next-session open to liquidate.
  Skip and record a fill whose required open is missing.
Track signed shares and cash; assess realized results from fills, not the
paper’s continuous-time wealth identity.