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

Pólya urn cuts loss penalty 60%, trails momentum bandit on Sharpe

On SPY, MSFT, DUK and TSLA since 2020, it picks one asset daily: Sharpe 0.77 versus 1.07.

2026-10-13 · 6 min read · Risk-sensitive portfolio allocation · US equities (MSFT, DUK, TSLA) and a US equity ETF (SPY)

Reviewing: AI-modulated pólya urns (AIM-PU): a unified framework for risk-sensitive contextual bandits, resource allocation and portfolio design · Debashis Chatterjee and Saran Ishika Maiti · Read it on openalex

Our backtest of this idea

Our automated quick test, not the paper's

Risk-Averse Pólya-Urn Allocation versus Stateless Momentum

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

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

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

  • section 7.1 risk-neutral replacement magnitude: ΔX ∝ max(0.1, 1 + Momentum).: Reference only; implement the paper's risk-averse magnitude instead. (invalidates: Paper Table 3 AIM_PU_RiskNeutral results as predictions for this implementation)
  • section 4.6 proposed policy-learning objective: max_θ E[∑_{t≤T} R_t] subject to CVaR_α(C_T) ≤ κ.: Do not optimize θ or claim the formal constraint is solved; use the stated empirical modulation and a separately specified historical portfolio-CVaR exposure limit. (invalidates: Any claimed formal constrained-policy optimum or guaranteed satisfaction of the paper's C_T constraint)
  • Assumption 4.1(iv): strongly connected reinforcement graph: The prospective identity replacement blocks A_i=e_i have no cross-asset reinforcement, so their graph is not strongly connected. (invalidates: Application of the paper's Theorem 4.8 convergence and Theorem 4.12 Gaussian-mixture fluctuation results to this implemented urn; the paper's Table 4 final proportions are not predictions for these identity-block dynamics.)

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 61.8%Jul 2024
Sharpe
0.98
Total Return
61.8%
Max Drawdown
-22.0%
CAGR
11.3%
Volatility
14.1%
Beta vs SPY
0.56
Trades
4,495

What the paper reports for its own strategy

  • AIM_PU_CVaR (real data, daily, 2020-01-01 to present, T=1471 days): Sharpe ratio 0.7718; annualization not stated; no transaction costs mentioned.
  • AIM_PU_CVaR: total reward 1.5048, mean daily return 0.0010, total CVaR-like cost 0.0194, 23 crisis days (>5% daily loss); same period, costs not stated.
  • AIM_PU_RiskNeutral (same period): Sharpe ratio 0.6926, total reward 1.8377, mean daily return 0.0012, total cost 0.0756, 53 crisis days; costs not stated.

The risk-sensitive urn buys fewer large-loss days by giving up Sharpe. Chatterjee and Maiti report 0.7718 for it in their results table, against 1.0730 for a greedy momentum rule. Yet their abstract says "AIM-PU outperforms stateless contextual bandits in both Sharpe ratio and drawdown minimization." The result in the table makes a narrower case, one worth examining on its own terms.

What the urn holds

The Pólya urn assigns a colour, and a mass, to each of SPY, MSFT, DUK (Duke Energy, a utility) and TSLA (Tesla). Each day it draws one name according to its share of total mass. The strategy receives that name's daily return, then adds mass to its colour. A term the authors call the modulation scales the addition. Covariates enter only through this term, the "AI" in AI-modulated Pólya Urn (AIM-PU).

Each asset supplies two lagged signals: a 5-day rate of change (momentum) and a 5-day rolling standard deviation of returns (volatility). For the risk-neutral urn, the increment is proportional to max(0.1, 1 + Momentum). For the risk-averse AIM_PU_CVaR, it is proportional to max(0.1, (1 + Momentum)/(1 + Volatility × 10)). A drawn name gaining momentum thus receives more mass; volatility reduces that addition. The proposed return source is persistent momentum, tempered by the volatility term. Across T = 1471 trading days from 2020 onward, the risk-averse urn finishes at 54.6% DUK and 14.4% TSLA. The risk-neutral urn finishes at 41.3% TSLA.

Those percentages determine the next draw. They are not positions held together: the reported reward comes from a single selected asset each day. Expected daily return resembles a portfolio held at the urn proportions, while the variance belongs to a single-stock holding. The 54.6% DUK figure, for a trader, means a 54.6% chance of holding DUK on a given day.

The paper's theoretical results, proved in its appendix, state linear growth in total mass, almost-sure convergence of the proportions and a √t functional CLT with a Gaussian-mixture limit. Their connection to the trading test needs care. The real-data modulation uses the fixed formula above and a hand-set multiplier of 10. Section 4.6 proposes learning a policy subject to a CVaR constraint; we did not find that training run in the experiments. There is also a problem in the printed proof of Lemma 4.7. It bounds the conditional step by K/N_t, then says the sum of K/N_t is finite because N_t grows linearly. When N_t is of order t, that sum is a divergent harmonic series. Another argument could establish convergence, but the one printed here does not.

How much did the penalty fall?

The paper sums a quadratic charge for daily losses beyond 5%: max(0, −R − 0.05)². It also counts crisis days without defining them. Days that incur the charge are the natural interpretation. The reported figures are:

AIM_PU_CVaR cuts the bandit's penalty by about 60%. The authors put it as the bandit's penalty being "2.5 times greater." If crisis days are penalty days, cost divided by count comes to roughly 0.00084 per event for AIM_PU_CVaR and 0.00087 for the bandit. The apparent advantage is mainly in how often bad days occur; their average charge is similar. A sampler that ends up drawing DUK more than half the time could produce just that pattern.

The plain urn complicates the claim. Without covariates, it has the fewest crisis days, 20, and its 0.0258 cost exceeds the modulated urn's by only 0.0064. The authors specify that AIM_PU_CVaR has the fewest crisis days "among the learning models." That wording excludes the plain urn, correctly, while leaving its better crisis-day count in view. Their reason for preferring modulation is return: they describe the plain urn as conservative but short of meaningful returns. Its Sharpe is 0.4176 versus 0.7718.

The Sharpe claim meets Table 3

The momentum benchmark earns nearly twice the risk-averse urn's total reward, 2.9101 against 1.5048. Mean daily return is 0.0020 against 0.0010, and Sharpe is 1.0730 against 0.7718. The authors call the urn's figure "the second-best Sharpe ratio" in their discussion and refer to "strong risk-adjusted performance" in the conclusion. Those descriptions fit Table 3. The abstract's claim of Sharpe outperformance contradicts it.

Section 7.3 concedes the comparison directly. A traditional Sharpe-focused analyst, the authors write, "would declare the Contextual_Bandit the victor." They answer with 55 crisis days for the bandit versus 23 for the urn, plus a penalty 2.5 times larger. That is the actual trade.

We could not find a maximum drawdown for any model to support the abstract's drawdown claim. The paper gives the loss penalty and crisis-day counts. We also did not find a Sharpe annualization method, a risk-free rate, transaction costs or a buy-and-hold SPY line. Random one-name rotation can require frequent switches. Using AIM_PU_CVaR's final proportions in our own arithmetic (DUK 0.546, MSFT 0.2244, TSLA 0.144, SPY 0.0857), two consecutive independent draws choose different names about 62% of the time. Costs deserve particular attention in a book traded this way.

The synthetic stress test points in the same direction, as the authors acknowledge. Across 100 runs of 500 steps, the greedy bandit leads on mean reward, 1364.10 versus 1346.24 for AIM_PU_CVaR. Its mean cost is 74.32 versus 1295.13, and its 95th-percentile cost is 148.68 versus 6802.01. The paper calls that lead unexpected and offers a reason: "its risk-averse modulation only applied if the Pólya draw selected the high-risk District C." A proposed hybrid would override the draw in high-risk states. That remains future work; the real-data strategy has no such override.

We held the proportions

Our risk-averse rebuild was one automated pass with a deliberate change: we held the urn proportions as portfolio weights. From 2020-01-01 to 2024-07-01, that version returned 61.76%, with Sharpe 0.98, Sortino 1.23, volatility 14.10% and maximum drawdown -22.03% (Calmar 0.51). We retained equal starting mass, drew using pre-update proportions, and applied the max(0.1, (1 + momentum)/(1 + 10 × volatility)) increment to five-day signals. Holding the proportions as weights follows the reading a trader might take from the paper's Table 4, though its reported reward comes from draws. We capped each weight at 25% and left any excess in cash. A historical 95% CVaR measured over 100 sessions scaled the whole book down whenever estimated daily CVaR exceeded 3%. Every fill incurred a commission of $0.004 a share.

Our 0.98 Sharpe exceeds the paper's 0.7718 for AIM_PU_CVaR, but the setups differ. Ours is a capped, cash-bearing weighted book over about four and a half years; theirs rotates into one asset a day over 1471 days. The higher Sharpe in our run has little to do with the urn alone. Under our 25% cap, the DUK tilt behind the paper's tail result cannot occupy more than a quarter of the book, pulling the holdings toward capped equal weight. We also used an identity replacement matrix, so drawing one name never reinforces another. This breaks the paper's strong-connectivity assumption, and its convergence theorems do not apply to our urn. The paper does not specify the cross-asset reinforcement in its real-data urn. If that urn also reinforces only the drawn name, the caveat applies to its backtest as well.

Our fills occurred at the close, although we intended next-day opens. The reported 14.10% volatility and -22.03% drawdown belong to a book that was at most fully invested and often held cash. This is one automated pass, not a verdict on the authors' work.

We did not reproduce the paper's loss penalty or crisis-day count for our run. The portfolio comparison is still open: the same window and four names, with the urn held as weights alongside the urn sampled one asset a day, and real CVaR and turnover reported for both.

On the paper's figures, volatility damping steers an urn holding four hand-picked names toward a utility stock and reduces days with losses beyond −5%. The context-blind urn does better on crisis days, 20 vs 23, and approaches its penalty, 0.0258 vs 0.0194. It earns less, though: Sharpe 0.4176 vs 0.7718 and total reward 0.8202 vs 1.5048. In sample, modulation improves both penalty and Sharpe against that plain urn. Beyond the sample, the paper runs one backtest with no held-out period and reports no transaction costs.

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.

Initialize equal masses for SPY, MSFT, DUK and TSLA; seed the urn RNG.
After each eligible daily close, compute each asset's five-day return and sample volatility, plus 100 synchronized return vectors through that close.
Draw one asset using the pre-update urn proportions M. Add max(0.1, (1 + momentum)/(1 + 10 × volatility)) to its mass; persist the updated masses.
Use the updated proportions as proposed portfolio weights. Cap each weight at 25% without redistribution. If historical 95% CVaR exceeds 3% daily loss, scale all risky weights by 3% / estimated CVaR; leave unused weight in cash.
Separately propose a one-hot allocation to the highest-momentum asset, then apply the same cap and CVaR rule for the unfunded baseline diagnostic.
Skip the decision for both strategies when required synchronized inputs are missing; skip an affected order when its execution price is invalid. Submit funded urn target changes under the specified next-session adjusted-open convention.

The urn draw occurs before reinforcement; capped or CVaR-reduced weights do not feed back into urn mass.