Skip to content

When Simple Statistical Forecasts Can Beat Machine Learning

Original question

What is the difference between traditional statistical forecasting and machine learning models when applied to financial markets?
Traditional forecasting often starts with a structured model of the data, such as a linear autoregression for the mean or GARCH for volatility. Machine-learning approaches often start with a predictive objective and a more flexible function class, such as boosted trees or a neural network. The distinction is one of emphasis. Both approaches estimate models from data, and they can be compared on the same chronological forecasts.

Compare the assumptions each model makes

An autoregression with one exogenous variable has a conditional mean forecast
r^t+1=β0+β1rt+β2xt,\widehat r_{t+1}=\beta_0+\beta_1r_t+\beta_2x_t,

where xtx_t could be trailing volatility. Here the marginal effect of rtr_t is β1\beta_1 at every value of xtx_t. To add a specific interaction, include β3rtxt\beta_3r_tx_t. A boosted tree ensemble instead learns a sum of piecewise predictions from partitions of the feature space. Each tree may split on volatility and lagged return in different places, allowing nonlinear interactions with less hand specification.

Choose between these models through the evaluation design. Give them the same feature information where possible, same label horizon, same chronological folds, and same out-of-sample loss. Track whether the additional flexibility helps over several periods and whether the resulting differences survive the cost of trading.

Suppose you predict one-week equity returns from lagged returns, a volatility measure and a liquidity proxy. Compare a zero forecast, a ridge regression, and a shallow boosted tree. You use the same point-in-time inputs and five forward validation blocks. The tree improves error in only one block, during a sharp volatility spike, and worsens the other four. Inspect whether the tree captured a plausible interaction specific to that regime. Then test the hypothesis on later data with the evaluation locked. The average score and its distribution across periods both matter.
If the model's purpose is a return ranking, inspect date-level rank correlation alongside squared error. For a volatility forecast, a loss designed for positive variance forecasts may be more appropriate. The metric should reflect the output the model is being asked to predict.
A ridge model assumes a linear combination of inputs, but it also shrinks coefficients towards zero, which can stabilise a noisy estimate. A shallow tree can find an interaction, such as a reversal effect appearing only when spreads are wide. That flexibility costs evidence. Ask how many separate periods support the proposed interaction and whether the model would have recognised it in advance. Use a simple baseline and the same input set before attributing any gain to the model class.