TensorLOB's advantage over the strongest FI-2010 baseline ranges from 3.3 points of weighted F1 at one horizon to 0.1 at another. The paper has yet to show that preserving the book's tensor structure explains either lead.
Gu and Mandic build around the book's dimensions. Each snapshot contains two sides, ten price levels on each side, and a price and volume at every level. The last 100 events form a 100×2×10×2 array, with axes for time, side, level and attribute. DeepLOB and the TABL family combine side, level and attribute into a single feature axis for each event. TensorLOB carries all four axes separately through to the logits.
Processing takes three stages. BiN normalization, taken from the BiN-C(TABL) paper, blends a temporal view of each entry with a cross-sectional view of each event. Two projection layers then apply a separate small matrix to each axis. Layer 1 uses 24 heads to produce 35×2×10×6; layer 2 uses 44 heads to produce 20×2×10×12. The heads all share the time matrix. Each of the three classes (down, stationary, up) then receives a weight tensor matching the output shape. A rank-16 CP decomposition constructs that tensor as a sum of 16 outer products, each using one vector per axis. An inner product gives the class logit. This classifier uses 2,115 parameters, compared with 14,403 for a dense classifier.
The authors use pre-normalized FI-2010 and labels looking ahead 10, 20, 50 and 100 events. They do not identify the instruments or dates. Seven of the ten trading days are used for development, with a chronological 80/20 split. The remaining three days provide the test set. The respective sample counts are 203,701, 50,851 and 139,488. TensorLOB records the highest mean accuracy and weighted F1 at all four horizons, although accuracy at 50 events is tied at 77.5. The paper notes that accuracy equals weighted recall. The authors describe the work as a proof of concept, reporting classification metrics without a P&L claim. The classification result is therefore the claim to assess.
Where the parameter savings come from
Remark 1 explains the mechanism: the weight connecting an input entry to an output entry is the product of four factors, one for each axis. Entries belonging to the same event share a time factor. Entries at the same level share a level factor as well. Our arithmetic puts a dense map from layer 1's 4,000 inputs to its 4,200 outputs at 16.8 million weights. Factoring the map requires 3,500 shared time weights and 116 per head, giving 6,284 across all 24 heads. Weight sharing supplies the inductive bias. For an order book, that is a sensible choice.
Only the classifier's savings are quantified in the paper. We did not find total parameter counts for TensorLOB or its baselines. There is also a discrepancy in the architecture description: the text says time falls from 100 to 12 and attributes rise from 2 to 10. The reported shapes instead follow 100→35→20 and 2→6→12.
How far ahead of BiN-C(TABL)?
Across the four horizons, the weighted F1 margins are 1.6 (82.5 vs 80.9), 3.3 (72.2 vs 68.9), 0.1 (77.4 vs 77.3) and 1.1 (79.1 vs 78.0).
The authors acknowledge the narrower gap at 50 events. Their defence is that TensorLOB keeps its lead and increases it again at 100. The table offers little support for that emphasis. Accuracy at 50 events is 77.5 against 77.5. Weighted F1 is 77.4 against 77.3, a margin within BiN-C(TABL)'s ±0.4. At 100, F1 rises to 79.1 against 78.0, with TensorLOB itself reporting a spread of ±0.8.
Weighted precision at 50 events favours BiN-C(TABL), 78.0 against 77.5. The paper's statement that TensorLOB leads on weighted precision at three of the four horizons leaves 50 events as the exception. And the headline 3.3-point margin at 20 events comes from the noisiest of the four TensorLOB comparisons with BiN-C(TABL). Across three seeds, BiN-C(TABL)'s standard deviation there is 4.6. A single poor seed could explain much of the difference. The paper reports no significance test.
TensorLOB's seed spread may be more persuasive than its lead. Its accuracy std is ±0.1 at 10, 20 and 50 events. BiN-C(TABL) reports ±1.7 and ±4.3 at 10 and 20. The ordering flips at 100 events, where TensorLOB has ±0.8 against BiN-C(TABL)'s ±0.2. Consistency across three seeds at three of four horizons has some value. But the 139,488 test windows each contain 100 events and overlap across three days, so the sample count overstates the independent information. The paper does not say whether windows advance one event at a time. If they do, successive samples share 99 of their 100 events.
Constant predictions in six of ten FI-2010 baselines
At 10 events, six baselines produce identical results: 70.7 accuracy, 50.0 precision and 58.6 F1, all with zero variance. DeepLOB-Seq, Linear SVM, MLP, LSTM, B(TABL) and C(TABL) each predict "stationary" for every window. Five repeat this behaviour at 20 events, with accuracy of 62.1.
The authors explicitly acknowledge that some baselines "collapse to predicting only the majority stationary class at horizons 10 and 20". They interpret the collapse as support for preserving structure. We consider the common training recipe a likelier explanation. Every neural model received a learning rate of 2×10⁻⁴, label smoothing of 0.05 and a maximum of 60 epochs. With B(TABL) and C(TABL) reduced to constant predictors, equal treatment offers a weak control.
Those failed runs inadvertently establish a majority-class baseline. TensorLOB scores 83.5 at 10 events, putting it 12.8 points ahead of always predicting "stationary". Its 74.0 at 20 events is 11.9 above that baseline.
We found no ablation in the paper.
There is no run replacing tensor projections with dense layers, replacing the CP classifier with a dense classifier, or removing BiN. TensorLOB takes BiN directly from the runner-up. The decisive comparison is therefore BiN with dense projections, trained under the same recipe.
The trading question remains open
We could not reproduce this result. TensorLOB requires event-by-event bid and ask prices and volumes at ten levels, with forecast horizons measured in events. We have one-minute OHLCV data for US equities. It cannot reconstruct those event sequences or their labels.
A trader needs two conditions to hold. Correct up and down predictions must concentrate on mid-price moves large enough to cover the spread paid to trade them. The paper reports neither spreads nor costs. Any edge must also survive beyond a 3 days test window immediately following the 7 development days. Neither condition is tested, in keeping with the authors' proof-of-concept framing.
Sharing weights by side and level merits further work. We would be persuaded by a comparison that replaces the tensor projections with dense layers while retaining BiN and the training recipe. If that model also finishes within 1 point of weighted F1 of TensorLOB, the structure is not doing the work.