Tree-Based Cross-Sectional Return Models
Gradient-boosted trees rank thousands of stocks by predicted forward return using dozens of interacting features at once — capturing 'value is good, but only in low-momentum stocks' style non-linearities a linear factor model can't see, at the cost of being much easier to overfit.
Prerequisites: Tree Ensembles in Finance, Factor Investing
A traditional factor model says a stock's expected return is a weighted sum of its value score, its momentum score, its quality score, each contributing independently. Real markets don't obey that additivity: value might only work in stocks with positive momentum, momentum might reverse in the most illiquid names, and quality might matter more in expensive stocks than cheap ones. A tree-based cross-sectional model — typically gradient-boosted trees like XGBoost or LightGBM — is built to find exactly these interactions automatically, by repeatedly splitting the universe of stocks on whichever feature and threshold best separates future winners from future losers, without anyone pre-specifying which combinations to look for.
How the model actually ranks stocks
Each month (or day), every stock in the universe gets a feature vector: value ratios, momentum scores, size, volatility, quality metrics, maybe alt-data signals — often 50 to 200 features. A single decision tree picks the one feature and split point that best separates high future returns from low ones (say, "momentum > 8%"), then within each resulting group picks the next best split ("...and market cap < $2bn"), building up a tree of nested if-then rules a few levels deep. Gradient boosting builds hundreds of these trees in sequence, where each new tree is trained specifically to correct the errors the previous trees made, and the final prediction for a stock is the sum of small adjustments from every tree in the sequence.
Worked example. Suppose the training data shows: among stocks with low momentum (past 12-month return below the cross-sectional median), a cheap value score barely predicts anything — the average forward-return spread between cheap and expensive value deciles is only 0.3% over the next month. But among stocks with high momentum, the same value spread widens to 1.8% a month — cheap-and-rising outperforms expensive-and-rising by six times as much as the unconditional value effect would suggest. A linear model averages these two regimes into one mediocre value coefficient. A tree first splits on momentum, then applies value within each branch, and captures both numbers separately — this is the "value works differently depending on momentum" interaction a tree finds automatically that a linear regression, unless someone manually adds a momentum-times-value interaction term, does not.
What this means in practice, and what makes it dangerous
Cross-sectional tree models power a meaningful share of systematic equity research at multi-strategy shops and quant funds, typically feeding a predicted-return ranking into the position-sizing layer described in Turning a Model Prediction Into a Position. Feature importance and SHAP values (see Feature Importance with SHAP) are used to sanity-check that the model is picking up real interactions like the value-momentum one above, rather than a spurious quirk of the training window.
The danger is that trees are flexible enough to fit noise as eagerly as signal — with 150 features and a few hundred trees, a boosted model can find "interactions" that are really just overfitting to a handful of stocks in the training sample, especially in the thinner tails of the feature space where a split might be based on 20 stocks instead of 2,000. Deep trees, aggressive learning rates, and long training windows all raise this risk, which is why production models lean on shallow trees (2-4 levels), strong regularization, and out-of-sample validation on data the model never touched during training (see Random Forests and Out-of-Bag Error).
A tree-based model's edge over a linear factor model is that it finds conditional relationships — "X matters, but only when Y is true" — automatically. That same flexibility is what makes it overfit faster, so the model needs more validation discipline, not less, than the linear model it's replacing.
High feature importance is not evidence the feature causes returns — it only means the model's splits relied on it heavily in-sample. A feature that happens to separate a few outlier stocks in the training period can show high importance and zero out-of-sample value.
Related concepts
Practice in interviews
Further reading
- Gu, Kelly & Xiu (2020), Empirical Asset Pricing via Machine Learning
- Chen, Pelger & Zhu (2023), Deep Learning in Asset Pricing