Quant Memo
Core

Global vs Local Forecasting Models

When you have thousands of related time series to forecast — one per stock, one per store — you can fit a separate model to each one, or pool them all into a single shared model, and the right choice depends on how much data each individual series actually has.

Prerequisites: Reframing Forecasting as Supervised Learning

A firm wants to forecast next-week returns for 3,000 stocks. One approach is to fit 3,000 separate models, one per stock, each trained only on that stock's own history — this is the local approach, the natural extension of classical single-series forecasting. The other is to pool all 3,000 stocks' histories into one enormous training table and fit a single model to all of them at once — the global approach. Which one wins is not obvious, and the answer depends heavily on how much history each individual series actually has and how similar the series are to each other.

Why pooling can help, and why it can hurt

A local model for one stock only ever sees that stock's own history — maybe a few years of daily data, a few hundred to a few thousand rows once windowed. That's often not enough data to reliably fit anything beyond a very simple model without overfitting. A global model sees all 3,000 stocks' histories at once, so it can learn shared structure — a general relationship between momentum and forward returns, say — from a training set that's effectively 3,000 times larger, which lets it support a more flexible, higher-capacity model without overfitting as easily.

The cost is that pooling assumes the series share enough structure to benefit from being learned together. If different stocks genuinely behave according to different underlying relationships — momentum works one way for high-beta tech names and a different way for defensive utilities — a single global model averaging over all of them can produce a compromise that fits none of the individual groups well, a bias a local model, tailored to only one series, would not have.

Worked example: an approximate bias-variance tradeoff

Suppose a local model, trained on only 500 rows per stock, has high variance — it fits noise in that stock's short history — contributing an estimated variance component of 0.30 to its expected squared forecast error, on top of a genuine bias of 0.05 because a model that simple can't otherwise be that far off. Total expected error ≈ 0.05 + 0.30 = 0.35 (in some arbitrary squared-error units).

A global model trained on 500 × 3,000 = 1,500,000 pooled rows has much lower variance — say 0.04, thanks to the huge effective sample size — but a higher bias of 0.12, because it's forced to compromise across genuinely heterogeneous stocks rather than specializing to any one of them. Total expected error ≈ 0.12 + 0.04 = 0.16.

In this illustration the global model wins by a wide margin, purely because the local model's data starvation dominates its error. If each stock instead had 50,000 rows of reliable history (a local model plausible for a slow, decades-long macro series), the local model's variance term would shrink dramatically and could easily beat a global model forced to compromise across dissimilar series.

local (500 rows/series) global (pooled) bias 0.05 variance 0.30 bias 0.12 variance 0.04
With little data per series, the local model's error is dominated by variance from overfitting; pooling into a global model trades some added bias for a much larger reduction in variance.

The choice between local and global models is a bias-variance tradeoff at the population level: local models can specialize but starve for data, global models get abundant data but average across possibly dissimilar series. Pooling wins when series are numerous, individually short, and genuinely share structure; it loses when series are long enough to fit well alone or too heterogeneous to share a model honestly.

What this means in practice

A common middle ground is a global model with entity-level features: pool all series into one training table as the global approach does, but include an identifier or descriptive features for each series (sector, market cap bucket, historical volatility) so the single shared model can still express some series-specific behavior rather than forcing one flat compromise — this captures much of the data-efficiency benefit of pooling while retaining some of the specialization a purely local model would offer. Gradient-boosted trees and neural networks are both well suited to this hybrid, since both can learn interactions between an entity feature and the other inputs. A practical rule of thumb: with more than a few hundred related series and a few hundred observations or fewer per series, start with a global approach; with a handful of series each carrying tens of thousands of observations, local models are usually competitive or better.

Practice

  1. A hedge fund is forecasting a macro variable with 40 years of monthly history (480 points) for one country only. Would you recommend local or global modeling? What would need to change about the setup for a global approach to even be an option?
  2. Explain why including a categorical "stock identifier" feature in a global model doesn't fully eliminate the bias risk from pooling dissimilar series.

The common mistake is choosing global pooling by default because it looks like "more data is always better," without checking whether the series being pooled genuinely share structure. Pooling a fast-moving crypto asset's history together with a slow-moving investment-grade bond's history into one global model can produce a compromise that describes neither well, even though the combined dataset is enormous.

Related concepts

Practice in interviews

Further reading

  • Montero-Manso and Hyndman, Principles and Algorithms for Forecasting Groups of Time Series (2021)
ShareTwitterLinkedIn