A 23% cut in normalized 96-step MSE on Bitcoin is the entire load-bearing result in this paper, and Chen is straight with the reader about that. The other two assets get about 2% in MSE. Dogecoin's MAE does better, 0.399 down to 0.374, a 6.3% gain that clears significance at p = 0.036. Binance Coin clears nothing: MSE p = 0.112, MAE p = 0.214. If you want to reproduce the thing, the Bitcoin column is what you are reproducing.
The task is plain. Take OHLCV-type columns for one coin (open, close, high, low, VWAP, volume, transaction count, spread), feed in a 96-bar window, and predict the next 24 to 128 bars of price. Score the predicted path against the realized one with MSE and MAE. Chen does this for Bitcoin, Dogecoin and Binance Coin, drawn from the G-Research Crypto Forecasting set on Kaggle and downloaded 31 October 2025. The split is chronological: earliest 70% train, next 10% validation, most recent 20% test, five seeds per configuration.
A trader's money in this setup would come from turning a predicted 96-bar path into a position and holding it against costs. The paper never gets to that question. No Sharpe, no return, no hit rate, no turnover, no drawdown, no transaction-cost assumption appears anywhere in it. MSE and MAE on a normalized price scale are the whole evaluation.
What is reported is a forecasting result. Bitcoin at h=96: MSE 0.175 against iTransformer's 0.226. On Dogecoin and Binance Coin the MSE gains do not reach p < 0.05. Three things drive the rest of this review: the Boruta-SHAP screen that picks the input columns, an ablation table that undercuts that screen, and the absence of a naive persistence forecast among the baselines.
How the two-stage method works
The premise is that crypto market data give you a handful of highly correlated columns, and that feeding all of them into a long-sequence transformer buys you noise. So BSFinformer runs in two stages. The first is a Boruta-SHAP screen. It builds a shadow copy of each column by permuting that column, then trains a tree model on the original-plus-shadow matrix. Features are ranked by mean absolute SHAP, and the threshold in each iteration is the highest-scoring shadow column. A feature that beats the threshold often enough across N iterations passes a binomial test and is labeled Accepted. The screen is fitted on the training data only, and the surviving subset is applied unchanged to validation and test.
The survivors then go into a Finformer-style encoder-decoder. Inputs get a linear projection plus positional and timestamp embedding. An average-pooling decomposition splits each sequence into a slow trend and the fluctuation left over, so the model handles the two separately. Attention is banded: a mask blocks attention between any pair of timesteps more than r apart, which cuts the O(L^2) cost of full attention.
Input window 96, horizons 24 through 128, embedding dimension 512, learning rate 1e-4, batch 32, Adam, early stopping on validation MSE. Nine baselines, from LSTM through iTransformer, with plain Finformer as the ninth.
The headline numbers. Bitcoin at 96 steps: MSE 0.175 against iTransformer's 0.226 (difference -0.051, p = 0.008) and MAE 0.314 against 0.340 (-0.026, p = 0.018). Dogecoin: 0.413 against 0.421, with the MSE difference not significant (p = 0.091), while the MAE gain of -0.025 is (p = 0.036). Binance Coin: 0.362 against 0.369 and 0.416 against 0.421, neither significant (p = 0.112 and p = 0.214). All six of those tests sit in one significance table, run at the 96-step horizon and against iTransformer only. Chen puts his own null results in it and repeats them in the text, which is worth saying out loud.
His own reading of the spread: "On the Dogecoin and Binance Coin datasets, the improvements are more moderate", and then "instead of overclaiming universal superiority, the results indicate that BSFinformer provides competitive and stable forecasting performance across different cryptocurrency assets". The first half is fair. The second stretches. A 1.9% MSE gain at p = 0.112 on Binance Coin, and 1.9% at p = 0.091 on Dogecoin, does not separate the model from iTransformer. "Competitive" is a Bitcoin-only statement, with Dogecoin's significant MAE as a partial second.
What is specified tightly enough to copy
The leakage discipline is specified at the level of an algorithm: shadow generation, the max-shadow threshold, hit counting over iterations, the binomial decision, Accepted features only, then frozen for validation and test. Normalization parameters are fitted on train alone. Optimizer settings and window geometry sit in one table. Code is archived at Zenodo with a GitHub mirror, which matters, because several things an implementer needs are not in the text.
Four of them, all small:
- the value of the attention radius r, which is defined by formula but which we did not find given a number anywhere in the text;
- the number of Boruta iterations N and the significance level, both listed as inputs to the algorithm without values;
- which tree model computes the SHAP values, and which target the screen regresses against (the forecast target is written as a generic vector, so whether the model predicts close only or all seven retained series is a choice the implementer makes);
- the scaler, and the date range and bar frequency of the extracted records, described only as "high-frequency cryptocurrency market records".
The last one stops you cold. Errors on a normalized scale with no stated period cannot be compared to anything. And you cannot tell whether the most recent 20% is a bull leg or a chop.
Seven columns, five of them the same series
On the Bitcoin training set the screen keeps seven of thirteen candidates: CLOSE (mean SHAP 2.262), OPEN (2.166), SPR (1.812), LOW (1.668), LAS (0.736), HIGH (0.477), VWAP (0.256). It rejects COUNT (0.081), TICK (0.066), VOL (0.058), MOV (0.052), VAR (0.041) and VOLUME (0.037). Read the retained list as an implementer would, not as a feature-importance chart. Four price levels plus VWAP is one series at five slightly different sampling points. The screen has dropped the volume-side information, which is the part of the input that is no transformation of price. Whatever the module does for Bitcoin MSE, describing it as redundancy removal is hard to square with keeping OHLC and VWAP together and throwing out VOLUME at 0.037. Six of the thirteen names (SPR, LAS, TICK, VOL, MOV, VAR) are used in the table without a definition we could find, so we could not check how they are built or whether any of them looks forward.
The ablations complicate the story Chen tells about his own contribution. Full model 0.175 on Bitcoin MSE. Without sparse attention 0.339, the largest single degradation at +0.164. Without decomposition 0.241. Without Boruta-SHAP 0.263, which is numerically identical to the plain Finformer row across all six columns, as it should be, since that variant is Finformer. So the table holds four distinct experiments and one restatement. And without temporal embedding the model still posts 0.218, better than every baseline's Bitcoin MSE in Table 6, including iTransformer's 0.226. In that same row the Dogecoin MSE is 0.431 against iTransformer's 0.421, so the embedding earns its place away from Bitcoin.
The sparse attention is doing most of the work: 0.175 to 0.339 when it is removed, against 0.175 to 0.263 for the screen.
From 0.175 to a position
We could not put this on our data. We hold no cryptocurrency price history, and running the two-stage method on an equity universe would be testing a different strategy. Even with the bars, there is no forecast-to-position rule to implement. Nothing in the paper maps a 96-step predicted path to a size or a rebalance schedule.
Chen does not pretend otherwise. The paper says the framework "may be useful for trading strategy design, risk monitoring, and decision support". It then says "forecasting results should not be interpreted as direct investment advice". The conclusion treats the model as an analytical tool rather than a standalone trading system. Take him at his word and this is an honest forecasting study.
Two things still stand between the table and a P&L. No naive persistence forecast appears among the nine baselines, and on high-frequency price levels a last-value forecast is the number that decides whether any of this is information. Second, the Bitcoin error metrics diverge with horizon. MSE rises from 0.153 at h=72 to 0.175 at h=96, a 14% move. MAE over the same step rises from 0.229 to 0.314, 37%. A 37% MAE move against a 14% MSE move is odd, and the paper offers no reading of it. Our guess is that the shape of the error distribution changed, and it is a guess.
The author lists the missing rolling-window and walk-forward validation himself and puts it in future work, alongside broader markets and an end-to-end version. The walk-forward is the item on that list that matters. Re-fit the screen and the model on an expanding window, then show the Bitcoin advantage surviving across several disjoint test periods instead of one most-recent 20% block. Right now the paired t-tests run across five seeds on a single split, which measures seed variance. We have made the same point before about a trend paper where the trading question turned entirely on the cost threshold (/articles/trend-following-as-a-poisson-kernel-read-of-the-spectrum). Same gap here, one step earlier: the error metric is clean and the position rule has not been written yet.