A rolling crypto optimizer cannot be traded on a reported Sharpe of 0.72 when the paper's own window table puts the same 30-day strategy at -0.52. Giudici, Piergallini and Castelli call the first result out-of-sample. Until they reconcile the two, I would leave the strategy alone.
Ten coins and a recurring optimization
The authors build an automated portfolio process with CrewAI. In that framework, LLM-driven agents call tools, hand files along and eventually produce Markdown reports. Eight tools handle data loading and cleaning, with gaps forward-filled, an 80/20 train/test split, metrics and benchmark comparisons, the static and rolling optimizers, and a file check. An agent with no tool reads the reports and recommends a portfolio.
Two "crews" use the same process. Crew A maximizes Sharpe once on the training set, subject to long-only, fully invested weights, then holds the result. The solver is SLSQP and the risk-free rate is 1%. Crew B solves the same problem every 30 days using the trailing 30 days.
Daily closes cover BTC, ETH, BNB, SOL, XRP, ADA, DOGE, AVAX, DOT and SHIB from 2020-08-20 to 2025-03-13. The first 1333 rows form the training set; the last 334 are the test set. The case for rolling weights rests on clustered volatility and wide dispersion. BTC has the set's lowest annualized volatility at 50.83%, against 155.95% for SHIB, while correlations range from 0.287 to 0.811. Monthly re-estimation should let the portfolio follow the coins working at the time. In-sample Sharpe rises from 0.48 for equal weight to 0.60 for Crew A and 1.00 for Crew B. Table 6 reports out-of-sample figures of 0.53, 0.69 and 0.72, respectively.
How much do the agents decide?
Very little.
The paper says LLMs neither estimate weights nor replace the numerical optimizer. Weights "are computed deterministically by the optimization tools," and, the authors stress, no randomness enters the run. They describe the automated process as their novelty and claim no new learning model. That leaves the performance figures testing a standard long-only Sharpe maximizer on these coins, either static or rolling. A plain script would produce identical weights. The Markdown reports give a practitioner an audit trail; any trading edge would come from an optimizer the authors trace to Markowitz (1952).
The conflicting test results
Table 6 gives Crew B a 10% return, 10% volatility, 0.72 Sharpe, 1.30 Sortino and -15% drawdown. The 30-day row in the window-sensitivity table instead reports -20.58% return, 39.88% volatility, -0.52 Sharpe, -0.83 Sortino and -48.69% drawdown. Across windows from 7 to 90 days, Sharpe stays between -0.56 and -0.52. The authors call the window results consistently weak and say all expected returns are heavily negative. They nevertheless present them as confirming the rolling-window conclusions. We did not find a passage reconciling those results with Table 6. The authors' only nod to the difficulty is that the test set's downward trend made the out-of-sample task more challenging.
I believe the window table. The authors say the test set trends down, and their cumulative-return figure shows the decline. Volatility raises the same doubt about Table 6. BTC is the calmest coin at 50.83% volatility, and the BTC-ETH correlation is 0.811; a long-only basket reaching 10% volatility is hard to credit. The paper's minimum-variance benchmark runs at 34.22% out of sample, compared with 46.38% for inverse volatility. A portfolio built to minimize variance could not get below 34.22%, yet Table 6 gives Crew B 10%. The window table's 39.88% is easier to believe. Table 6 has an arithmetic problem as well: (10% - 1%) / 10% gives 0.90, while the reported Sharpe is 0.72. If the negative row is right, Crew B trails BTC buy-and-hold, which returns 15.86% at 42.21% volatility with a 0.38 Sharpe, by about 36 points of annualized return.
A 0.03 edge the tests cannot detect
Even on Table 6's figures, Crew B gains just 0.03 of Sharpe over Crew A. The authors concede that none of their tests finds significance. Comparing B with A on out-of-sample daily returns gives a Welch p-value of 0.921 and a Mann-Whitney p-value of 0.971. Against equal weight, the paired HAC (autocorrelation-robust) p-values are 0.200 for Crew A and 0.204 for Crew B. The authors argue that crypto noise limits statistical power and call the gains "indicative, rather than conclusive, evidence."
The estimates' direction makes that defence less persuasive. Table 9 reports Sharpe differences against equal weight of -0.540 for Crew A and -0.566 for Crew B. Crew B's 95% bootstrap interval is [-1.606, 0.536], and its bootstrap p-value is 0.295. Read as crew minus equal weight, as the row labels suggest, both point estimates put the optimizers behind 1/N. Table 6 points the other way: +0.16 for Crew A (0.69 minus 0.53) and +0.19 for Crew B (0.72 minus 0.53). Table 9 therefore conflicts with Table 6 and fits the window table's -0.52. DeMiguel, Garlappi and Uppal (2009), whom the paper cites, document the difficulty of beating 1/N with optimized portfolios. Low power might explain an uncertain small gain; the reported estimates here are negative. The conclusion also claims lower drawdowns for Crew B, although Table 6 shows -15% for both crews and the text calls Crew B's drawdown slightly higher. Its claim of return enhancement sits beside equal expected returns of 10% for both crews in Table 6.
Selection, concentration and costs
The authors choose the ten coins by capitalization on 2025-03-13, the sample's final day, then run the sample back to the date when all ten existed. Selecting on that final outcome puts survivorship into the backtest before optimization begins.
Crew A assigns 0.6490 to SOL, 0.3099 to SHIB and 0.0411 to DOGE. The authors attribute those weights to the Sharpe objective favouring the best in-sample risk-adjusted returns and note that estimation error magnifies the concentration. They remove SOL and SHIB to check whether those coins drive it. Concentration survives: Crew A puts 100% in ETH, while Crew B has an effective N of 1.08 and average turnover of 0.267.
Costs remain unresolved. The method describes net return using 0.1% per trade and 5% daily turnover. The limitations section says spreads and fees are ignored and could eat into Crew B's edge. We found no net-of-cost row in Table 6, so Crew B's 0.03 advantage after fees at its 0.098 average turnover per rebalance is unknown.
We could not rerun the study. We have no price history for these coins; substituting another universe would test a different strategy. The authors make data and code available only on request.
A corrected Table 6 that reconciles with the -0.52 row would change my view. For now, the paper's window-sensitivity table describes a 30-day Sharpe maximizer with a -20.58% annualized expected return over the test period, delivered through a well-documented agent process.