A twelve-name daily book lives or dies by selection. This one holds six longs and six shorts at equal weight, stays dollar-neutral and unlevered at 100% gross, enters at the close, and exits after one day.
Market exposure is not the intended source of return. Beta against the S&P 500 is 0.048. Le Grice works with roughly 300 large-cap S&P 500 constituents from January 2015 to December 2025, giving about 750,000 stock-days across ~2,500 trading days and 50 features. Training covers 2015 through 2024. The models then run once over the 252 trading days of 2025.
The headline book returned 51.26% on that holdout, with a Sharpe of 2.44. Its annualised CAPM alpha is 0.423 at p = 0.011. Over the same window, the S&P 500 returned 18.01% at Sharpe 0.77.
Everything rests on how the twelve names are selected.
Next-day returns are converted into a three-class label. Tomorrow's log return is percentile-ranked across the cross-section, with the top decile labelled long, the bottom decile short, and the middle 80% hold. Five model classes learn that label: logistic regression, XGBoost, an MLP, TabNet, and an FT-Transformer. Each model assigns every stock-day a long probability and a short probability.
The headline strategy is called the Hybrid. It takes the daily probabilities from XGBoost and TabNet, converts them into within-day ordinal ranks separately on the long and short sides, then averages those ranks across the two models. The book buys the top six names on the long ranking and shorts the top six on the short ranking. This rank-first construction prevents a poorly calibrated model from controlling the blend. There is no trained meta-learner.
The information case is familiar from cross-sectional equity ML. News diffuses with a delay, while nonlinear interactions among technical, fundamental, macro and alternative inputs can escape a linear model. The lagging rules receive some attention: monthly macro +21 trading days, quarterly fundamentals +63, jobless claims +5, and news and Google Trends +1. A RobustScaler is fitted per fold. Redundant features above a variance inflation factor (VIF) of 10 are removed, although the paper retains a small number of high-VIF features when domain relevance is judged more useful than the collinearity cost.
The advertised contribution concerns hyperparameter choice. Le Grice calls the method cross-regime Bayesian optimisation. Instead of tuning against one validation year, Optuna's Tree-structured Parzen Estimator runs 30 trials per model. Every trial is scored across three expanding-window validation years, 2022, 2023 and 2024, with a one-day purge at each boundary.
The objective gives 0.4 weight to mean return over a 15% target and 0.4 to mean Sharpe over 1.5, then subtracts 0.2 times mean drawdown over 10%. Quadratic penalties apply to any negative-return or negative-Sharpe fold, along with any fold whose drawdown exceeds 15%. Any configuration returning below -20% in any regime receives a hard 10.0 penalty. Portfolio size n is tuned jointly from 5 to 8 and resolves at 6.
Final models are retrained from 2015 to 2024, then run once through 2025, a span of 252 days. Costs are set at 2.2bp per trade and charged per leg on entry and exit. The paper supports the 2.2bp assumption with Hagströmer's 2.84bp mean effective spread for S&P 500 constituents (1.42bp one-way). A passive S&P 500 buy-and-hold supplies the performance benchmark.
One strong holdout year
The Hybrid returned 51.26%, posted a Sharpe of 2.44, and finished near $15.1m from $10m. Its maximum drawdown was -7.76%, the lowest among the models. It was also the only model with significant CAPM alpha: 0.423 annualised, p = 0.011, beta 0.048, PSR 0.960. XGBoost alone produced 33.61% at Sharpe 1.37, with alpha p = 0.171. TabNet returned 9.30% at Sharpe 0.44.
TabNet entered the blend because its errors were relatively orthogonal to XGBoost's. Pairwise CAPM R-squared with XGBoost is 0.028 for TabNet, compared with 0.149 for the MLP. The MLP was rejected despite returning 17.34% against TabNet's 9.30%. Two models carrying alpha p-values of 0.171 and 0.479 become the sole configuration with p = 0.011 when combined.
That aggregation result is the paper's best finding. It concerns model combination more than tabular deep learning. No individual deep architecture beat gradient-boosted trees, a result the paper states directly.
A second finding comes from what fails to separate the strategies. Across all six strategies and all four years in the main table, accuracy stays between 0.786 and 0.799, while F1 ranges from 0.337 to 0.369. The 2025 accuracy spread alone is 0.789 to 0.795, even as annual returns range from -5.69% to 51.26%. Logistic regression and XGBoost are separated by half a point of accuracy, 0.789 versus 0.794, and by 39 points of return.
The hold class accounts for 80% of observations by construction, so a constant-hold predictor scores 80%. The paper says aggregate accuracy "reflects its ability to identify stocks that will not be traded," while per-class precision offers almost as little separation. On the short side, the figures are 0.239 versus 0.240.
Quarterly signal precision provides another strand of generalisation evidence that the headline return conceals. Throughout 2025, the Hybrid remains 13 to 17 percentage points above the 10% random baseline in every quarter. Long precision ranges from 23.06% to 25.78%, and short precision from 24.34% to 26.67%, based on 360 to 384 signals per side per quarter. No quarter collapses. Pairwise KS tests classify the four quarters as distinct environments, so one favourable stretch does not account for the entire signal.
The appendix skips the decisive comparison
The appendix reports pairwise regressions. Regressing Hybrid on MLP yields relative alpha 0.373 (p = 0.015); on TabNet, 0.377 (p = 0.009); and on FT-Transformer, 0.413 (p = 0.005). Those are also the three comparisons named in the accompanying text. A Hybrid-on-XGBoost row is missing.
The table includes only the reverse direction: XGBoost versus Hybrid, with relative alpha -0.022, p = 0.894, beta 0.776, and R-squared 0.388. Under the table's convention, XGBoost contributes nothing beyond the ensemble. The regression that would measure the ensemble's edge over its own tree constituent never appears.
The reported figures still establish two points. First, the series overlap substantially, with R-squared 0.388. Second, the Hybrid surpassed XGBoost by 17.65 points of return and delivered both a higher Sharpe (2.44 versus 1.37) and a smaller drawdown (-7.76% versus -8.58%).
Other tests answer different questions. The Friedman test across all six strategies fails to reject equal rank distributions (p = 0.352). The Hybrid's daily return distribution is also indistinguishable in shape from the index (KS p = 0.339, Wilcoxon p = 0.682). Neither result compares the Hybrid directly with XGBoost. The paper attributes the alpha to a handful of large days, including the April 2025 tariff episode.
The author anticipates the objection in his conclusion: "a strategy can be statistically indistinguishable from its peers and still be the most profitable in production, since classification metrics being consistent across models does not mean the strategies are equivalent in practice." His first point holds. Daily-rank tests provide weak evidence of equivalence, as the documented LogReg-versus-XGBoost gap demonstrates. Production profitability therefore needs separate evidence. The missing Hybrid-on-XGBoost regression would supply precisely that test. We have one year, one holdout, and no direct test of the pair whose separation matters most.
The author's own counterfactual
Adopting the method means paying for extra tuning. TabNet's 30-trial search required 19.6 hours, compared with XGBoost's 10.8 minutes, while the cross-regime objective backtests every trial three times. The paper makes no claim that this cost pays for itself: "No single-regime baseline was tuned under an identical objective function." Its abstract uses matching caution, describing the framework as "associated with out-of-sample generalisation."
That disclosure deserves credit. It also means the headline remains a one-year backtest of a rank ensemble, with the framework's incremental value left unmeasured. The Pagliaro comparison cannot close the gap. It reports Sharpe 1.18 for a regime-aware LightGBM framework using different data and a different period.
The regime certification carries less information than its framing suggests. Every pairwise KS test rejects at p < 0.001. Yet the 2023-versus-2024 return statistic is 0.015, and the training-versus-2025 statistic is 0.022. Each test compares two individual years of daily cross-sectional returns, amounting to tens of thousands of stock-days per fold. With a sample that large, those p-values reflect n more than they establish that folds 2 and 3 represent different worlds.
The input-noise exercise is described as gradual deterioration before a threshold. Gaussian noise equal to 5% of each feature's own standard deviation immediately reduces Sharpe from 2.44 to 1.13. At 10% noise, Sharpe rises to 1.53; at 20%, it falls to 0.04; and at 50%, it returns to 0.26. Movement in both directions looks more like a high-variance small-sample surface than a degradation curve. The random-feature null (-8.21%, Sharpe -1.44) does what it should by ruling out backtest mechanics.
The author is candid about deployability. Constituents are identified from the S&P 500 at the end of the sample, which overstates returns relative to a point-in-time universe. The 2.2bp cost excludes stock borrow fees and availability, with the omission most damaging when short signals are strongest. At n = 6, the portfolio breaches conventional issuer concentration limits. The N = 3 Sharpe peak is uninvestable, and market impact remains unmodelled.
Reported figures represent the best of about 161 trialled configurations. The Deflated Sharpe Ratio could not be calculated because per-trial Sharpes were not retained. PSR 0.960 should therefore be treated as an upper bound.
Our reconstruction breaks before comparison
Our figures need a disclosure first: we cannot reproduce the feature set. Google Trends and stock-specific search-volume data were unavailable, so we dropped those inputs instead of substituting proxies. The supplied news sentiment had no score. We built one in code using a different vendor from the paper's Bloomberg firm-level feed. Our news history begins around 2020, ruling out the eleven-year panel.
Only the 63-day fundamental lag from the paper's schedule was implemented. We also skipped both the paper's ensemble selection and its Optuna search, hardcoding XGBoost plus TabNet instead. These results test a reconstruction rather than the paper's result.
Our run spans 2020-01-02 to 2024-07-01 and uses an annually rebuilt point-in-time top 300 by market cap. It returned 6.96% in total with a Sharpe of 0.75. For the Hybrid on its 2025 holdout, the paper reports 51.26% and 2.44. The pairs are measuring different setups: the periods do not overlap, the universes and feature matrices differ, and our side performed no hyperparameter search.
Our risk figures are worse than useless. Volatility was 207.88%, beta to SPY was 1.43, and maximum drawdown reached -365.10%. A solvent dollar-neutral book running at 100% gross cannot produce those figures. Stored daily returns also sum to 696%, against the reported 6.96% total. Our return aggregation and exposure accounting conflict internally. Until that is repaired, our Sharpe, drawdown and beta cannot support a comparison.
The return level is easier to interpret, though still thin. Win rate was 50.65%. Profit factor was 1.06.
Period choice explains some of the shortfall. Our window averages COVID, the 2022 bear, and the 2023-24 bull, whereas the paper's headline covers one favourable year that includes the April tariff shock. The Hybrid's in-sample fold returns were 5.92% in 2022, 3.61% in 2023, and 25.99% in 2024. Those figures sit far nearer our 6.96% than the headline 51.26%.
Universe construction matters too. We rebuild membership annually, removing the survivorship that the paper acknowledges inflates its result. Missing features and the omitted selection step could also account for part of the gap, since the configuration earning 51.26% emerged from a search we did not run. The available evidence cannot fully explain the difference, and most of it speaks to our implementation.
One experiment would change my view of the framework: use the same 30-trial budget, the same search space and the same objective under single-regime validation, then evaluate on the same holdout. Le Grice identifies that experiment as the direct extension. Until it is run, and until someone regresses the Hybrid on XGBoost, the evidence supports a twelve-name daily rank ensemble with one strong year and an untested margin over its best constituent.
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.