Sequence Models for Multi-Horizon Return Forecasts
Instead of training one model per forecast horizon, a sequence model reads a stock's recent history as an ordered path and predicts several horizons at once, letting it learn how today's move decays into tomorrow's and next week's.
Prerequisites: Turning a Model Prediction Into a Position, When an ML Signal Becomes a Strategy
Most cross-sectional return models make one prediction: what happens over the next fixed period, say five days. But a desk usually cares about several horizons at once — the 1-day move, the 5-day move, the 20-day move — and those forecasts are not independent. A stock that just jumped on an earnings beat behaves differently over the next day than over the next month. Training a separate model for each horizon throws away that structure and triples the work.
A sequence model treats the recent past — a run of daily returns, volumes, and features — as an ordered path rather than a single row of numbers, and learns to output a forecast for multiple horizons from one pass over that path.
A sequence model doesn't just look at today's feature values; it looks at the order they arrived in, and it can emit forecasts for several horizons from a single trained network instead of one model per horizon.
Why order matters
A cross-sectional tree model sees "20-day momentum = 8%" as one number regardless of whether that 8% built up steadily or arrived in one gap yesterday. A sequence model — typically a recurrent network (LSTM/GRU) or a 1D convolution over time — reads the day-by-day path itself: [+0.3%, +0.1%, ..., +6%, +0.5%]. It can learn that a slow grind and a sudden jump with the same total return decay differently, because it has seen the shape, not just the summary statistic.
Worked example
A researcher builds a model that reads each stock's last 20 daily returns and volumes and outputs three numbers: predicted 1-day, 5-day, and 20-day forward return. For a stock that gapped up 6% on an earnings beat three days ago and has since drifted flat, the model outputs +0.05% (1-day), +0.20% (5-day), and -0.10% (20-day) — it has learned from history that single-day earnings jumps tend to give back a little of their gain over a month, a pattern a same-day snapshot of "20-day momentum" alone would not distinguish from a slow grind that keeps drifting up. Compare that to a stock with the same 20-day cumulative return built from a steady daily climb: the model outputs +0.15% (1-day), +0.60% (5-day), +0.90% (20-day), continuing the trend rather than fading it.
What this means in practice
Multi-horizon sequence models are attractive on desks that trade at more than one holding period from the same signal family, because a single training run produces consistent forecasts across horizons rather than several models that can quietly disagree about direction. The cost is data: sequence models need enough history per name to learn shape, not just level, and they are more prone to overfitting the idiosyncrasies of whichever market regime dominates the training window — a network trained mostly on calm markets can badly misjudge event-driven jumps it saw only a handful of times.
A common mistake is treating the multi-horizon outputs as independent forecasts to be traded separately. They come from the same shared internal representation, so their errors are correlated — if the model misreads today's jump as noise, both the 5-day and 20-day forecasts will be wrong in the same direction, not by chance in opposite directions.
Related concepts
Practice in interviews
Further reading
- Gu, Kelly & Xiu, 'Empirical Asset Pricing via Machine Learning'