Nonlinear Feature Interactions That Actually Pay
Two features that individually predict little can combine into a genuinely useful signal — value only working in low-momentum stocks, say — but most interactions that look good in a backtest are noise, so finding real ones takes discipline.
Prerequisites: Designing a Cross-Sectional Feature Set
A cheap stock (low valuation) isn't automatically a good buy — cheap stocks are often cheap because something is genuinely wrong. But a cheap stock that is also showing improving momentum tells a different story: the market may be starting to notice a turnaround before it's fully priced in. Neither the valuation feature nor the momentum feature alone captures this; only their combination does. That's a nonlinear feature interaction, and finding real ones — as opposed to backtest artifacts — is one of the harder problems in cross-sectional research.
A feature interaction is real when the combined effect of two features on returns is different from what you'd predict by adding their separate, individual effects — and genuine interactions tend to have a story (why would cheapness matter more when momentum is turning?) that survives being tested on data the interaction wasn't found on.
Why interactions are easy to find and easy to fake
With enough candidate features, testing every pairwise combination for predictive power is guaranteed to turn up some that look strong purely by chance — with a thousand features there are roughly half a million pairs, and at a conventional significance threshold, many will appear significant on noise alone. A model like gradient boosting will happily fit these apparent interactions during training, reporting a lower training loss, without any guarantee the pattern exists out of sample. The interaction only "pays" if it holds up on data collected after the interaction was discovered, not merely on the sample used to find it.
A tree-based model can carve out a region — "value stocks AND rising momentum" — that a linear combination of the two features alone could never express; that flexibility is exactly why interactions are powerful and exactly why they're prone to overfitting the training sample's noise.
Worked example
A researcher tests whether "low valuation" and "positive earnings revision momentum" interact.
- Individual effects. Sorting stocks by valuation alone: 2% annualized spread between cheap and expensive deciles. Sorting by revision momentum alone: 3% spread. Added independently, you might expect roughly 5% if the two effects were separate and additive.
- Joint effect. Stocks that are both in the cheapest valuation quintile and the top revision-momentum quintile show an 11% spread versus the most expensive, worst-momentum quintile — well above the ~5% additive expectation.
- Out-of-sample check. The researcher re-tests the same joint condition on a later, untouched period. The spread holds up at roughly 8-9% — smaller than the in-sample 11%, as expected from some noise inflation, but still clearly larger than the additive baseline, supporting that this is a real interaction rather than a fitted artifact.
What this means in practice
Because tree-based and boosted models discover interactions automatically, the discipline shifts from manually hypothesizing pairs to properly validating what the model finds — holding out a clean test period the interaction search never touched, checking that the effect has an economically sensible direction, and being skeptical of any interaction that only appears in a narrow slice of history or a small number of stocks.
Reporting an interaction's strength using the same data it was discovered on is the single most common way interaction research fools itself — an in-sample search over many candidate pairs will always find some that look strong, and only a genuinely held-out test distinguishes a real interaction from a well-fitted coincidence.
Related concepts
Practice in interviews
Further reading
- Tulchinsky et al., Finding Alphas
- de Prado, Advances in Financial Machine Learning (ch. on feature importance)