The image CNN's 0.82% monthly return depends on a hedge that makes the trade lose money at 10bp. Paluszkiewicz has found a real residual signal in S&P 500 stocks. How much of the abstract's 0.97 Sharpe survives its own concessions is the question. The abstract acknowledges that conventional predictors explain part of the image-based performance and that profits depend on beta estimation and trading costs. It also reports positive alpha after controlling for those benchmarks.
The image spread beats a random forest using ordinary indicators by five basis points a month: 0.82% versus 0.77%, with Sharpes of 0.97 and 0.74. Controlling for both indicator portfolios leaves an FF8 alpha of 0.57% (t=2.29). That deserves credit, though it is one t-statistic near 2.3 for the best of eight cells. Trading the stocks and FF8 hedge at 10bp turns the 0.82% gross return into -0.13%.
What does the network see?
The trade follows the generalized pairs-trading approach of Avellaneda and Lee. Each stock gets a synthetic twin, a factor portfolio weighted by betas estimated with OLS over the previous four months of daily excess returns. Subtract the twin from the stock and the difference is the residual. In "From pixels to profits", the paper calls this position a factor-hedged arbitrage portfolio. A CNN ranks these portfolios by reading charts of their recent paths. If large residual moves partly reverse, their recent shape could help identify next month's outperformers. The intended source of profit is transitory idiosyncratic deviation, with systematic risk hedged away. The paper offers several possible sources: price pressure, omitted risk, firm news or estimation error.
The input is the new part. The author constructs three log cumulative return paths for every stock, assigning the stock to the red channel, its factor hedge to green and its residual to blue. Each daily level is ranked across stocks, placed in one of 30 quantile rows and drawn as a line. This produces a 30 by 60 pixel, three-channel image containing either one month or three months of daily observations. The images go into two small CNNs with 8/16 or 16/32 filters and 3x3 kernels. Of ten trained networks, the five with the best validation results are averaged. Their output is the probability that the stock's residual will beat the cross-sectional median next month.
Training happens once for the baseline model, using the first half of 1990 to 2022. There is no rolling re-estimation. Testing runs from 09:2006 to 12:2022. Every month, the strategy buys the top decile and shorts the bottom decile, hedging each leg at its average beta. The four hedge choices are CAPM, FF3, FF5 and FF8. FF8 adds momentum and short- and long-term reversal to FF5.
The three-month image paired with FF8 wins. Monthly decile returns rise from -0.42% to +0.40%, producing a gross long-short return of 0.82%. Its sigma is 2.93%, annualized Sharpe is 0.97 and FF8 alpha is 0.73% (t=2.96). A residual-reversal benchmark constructed the same way loses 0.15% with FF8; none of its hedge variants is significant. The 0.82% figure leads eight image and hedge combinations evaluated over the same test window. Results across the three-month row are steadier, ranging from 0.69% to 0.82%. The one-month row ranges from 0.21% to 0.69%.
Remove the hedge: 0.82% falls to 0.06%
The paper's most informative table leaves the stock positions unchanged and removes the FF8 hedge. Monthly return drops to 0.06%. Volatility climbs from 2.93% to 4.46%, while Sharpe falls from 0.97 to 0.05. FF8 alpha shrinks from 0.73% (t=2.96) to 0.05% (t=0.20).
The author takes this as evidence that the hedge works. The paper's claim that hedging improves gross risk-adjusted performance is right. For a trader, the implication is blunt: all the CNN's value resides in residual space. Running it means running a hedge book with a stock-selection overlay.
Beta estimation becomes a second signal. The paper shows just how much it contributes. With the FF8 setup otherwise unchanged, OLS using about two months of daily observations earns 1.01% (t=2.95). Thirteen-month OLS returns 0.50%. Welch's slope-winsorized betas produce 0.37%, and Vasicek shrinkage produces 0.39%. For the longer-window tests, the paper explicitly holds CNN predictions fixed: one-, two- and four-year OLS return 0.44%, 0.62% and 0.29%.
The same strategy ranges from 0.29% to 1.01% across both beta tables; even the longer windows with fixed CNN predictions range from 0.29% to 0.62%.
As the author observes, higher returns from the short window do not establish that its betas are more accurate. The tests establish the importance of hedging without establishing the quality of the estimated hedge. Figure 8 shows the noisiest estimator has the widest dispersion, yet it earns the most. Hedge error and signal appear to interact. We found no decomposition separating their contributions in the paper.
The random forest is close
The image CNN leads by five basis points in mean return and 0.23 in Sharpe. Both a random forest and a temporal CNN earn 0.77% monthly with an annualized Sharpe of 0.74. They use 48 handcrafted indicators drawn from the stock, hedge and residual series. Lower volatility accounts for most of the image model's advantage: 2.93% versus 3.60%. Adapting Jiang, Kelly and Xiu to a single-channel price chart produces 0.51%.
The positive alpha claimed against these benchmarks survives the test. Include both indicator portfolios in an FF8 regression and the image portfolio retains 0.57% a month at t=2.29. That result should count. It remains a t-statistic near 2.3 for the best of eight cells, evaluated on one fixed split against benchmarks constructed by the author. A linear model using 40-day stock and hedge returns and their ten-day changes also follows the CNN's rankings closely: mean Spearman correlation is 0.68 over 2011 to 2022.
The author gives his own result fair limits. Under FF8, a 1D-CNN using the same series earns -0.13% to 0.05%, including when its inputs are scaled like the images. The paper explicitly cautions that this "should not be interpreted as a general advantage of two-dimensional images over models applied directly to the underlying time series". Retraining also addresses some of the concern about a single split. From 02:2016 to 12:2022, the original model earns 0.60% with a Sharpe of 0.75. Retraining on overlapping and later samples produces 0.66% each; rank correlations with the original are 0.85 and 0.73.
Costs and the S&P 500 alternative: 17% hedge turnover versus 308%
Monthly one-way stock turnover is 157.7%. Building the FF8 hedge from separate factor portfolios adds 308.0%, without netting overlapping positions. Charge 5bp per trade and net return is 0.34%, with Sharpe 0.41. Charge 10bp and return falls to -0.13%, with Sharpe -0.16. Hypothetical factor contracts raise the result to 0.50% at 5bp on both legs, or 0.63% when hedge trades cost 1bp. The paper labels those contracts hypothetical and identifies availability as a constraint.
A better trade appears in the hedge-instrument tests in Section 4.5.1. Using a single value-weighted portfolio of S&P 500 constituents to hedge the three-month signal raises gross return to 1.18%, with Sharpe 1.10. Hedge turnover falls to 17.0%. At 10bp, the spread still earns 0.84% net, with Sharpe 0.78. Its FF8 alpha of 0.58% (t=2.54) means omitted factor exposure cannot explain the whole result. But FF8 controls reduce 1.18% gross to 0.58% alpha, leaving about half the gross return attributable to FF8 factor exposure. The paper concludes that this "underlines the importance of including other risk factors in the hedge portfolio."
Read the cost table carefully. Its SPY row uses the one-month configuration. The three-month SPY-hedged portfolio earns 0.56% gross, and its FF8 alpha is 0.08% (t=0.33). Borrow, financing, market impact, basis and roll costs are excluded by the author. Each leg contains roughly 50 equal-weighted large caps.
Our ETF-hedged adaptation lost money
We could not run the paper's eight-factor hedge. We substituted US ETFs, fitting SPY, IWM and the liquid Select Sector funds jointly with four-month daily OLS. The substitution changes the hedge and the residual presented to the CNN. Our run tests the image-ranking mechanism with a different hedge and says nothing directly about the reported FF8 results. We also could not establish the exact factor construction or every CNN training detail. Our network therefore approximates his.
Our available history permits only a post-2010 build. We cannot establish equivalence to the paper's period. The ensemble was trained once on 96 monthly cohorts with an 80/20 split, compared with the paper's 1990 to 2006 training half. Our universe consists of the yearly top 500 non-ADR stocks by capitalization. We lacked historical borrow availability and fees. Charging the short side no borrow fee flatters our result.
From November 2020 to July 2024, our total return was -5.65% and Sharpe was -0.62, net of commissions of $0.004 a share. These figures are ours. The nearest reported comparison in the paper is the one-month SPY-hedged book, which earns 0.75% monthly gross with a Sharpe of 0.74 over 2006 to 2022. Our return has the opposite sign. Differences in hedges, universes, training samples and evaluation windows mean this gap describes our setup and delivers no verdict on the paper.
We cannot fully account for the loss. The window difference is verified: our sample overlaps the paper's by about two years, with 2023 and 2024 entirely outside it. The paper's 2016 to 2022 subsample already returned less than its full test period, earning 0.60% monthly with Sharpe 0.75 versus 0.82% with Sharpe 0.97. That subsample Sharpe is no weaker than the 0.74 for the one-month SPY book used in our comparison. The hedge likely contributes to the difference, given the three-month ETF alpha of 0.08%. Our smaller, later training set likely also makes the ensemble noisier.
Collinearity is an untested candidate. Each stock is regressed on up to eleven collinear ETFs using roughly 84 observations, which could generate large offsetting betas and noisy residual images. Our risk caps reject formations and likely reduce exposure as well. Annualized volatility was 2.49%, compared with about 10% for the paper's spread (2.93% monthly). Commissions consume a few basis points per month, too little to reverse the sign. Fills recorded at the close instead of the specified next open could also matter, although the paper's masking test suggests little effect. None of these explanations clearly accounts for a weaker result becoming a negative one.
I would change my view of the images if a periodically retrained, SP-hedged version retained an FF8 alpha near its in-sample 0.58% beyond the paper's data ending in 2022.
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.