See original article here

The naive trap

When forecasting stock price movements with fancy ML models, you want your models to learn something useful from the provided data that humans might not be aware of so you have a competitive edge. This article will show you examples of where those fancy ML models learn something dumb that looks intelligent and how to check if your models are doing the same.

I came across this problem when comparing the stock forecasting performance of various ML models to each other. After selecting the top-performing models, I made a quick comparison to a Naive benchmark model as a sanity check (the Naive model just uses the current price as a forecast for the next time step so it’s not an “intelligent” model that learns anything from historical data). After some investigation, I found that some of these ML models learned the Naive forecasting strategy, which left me with a couple of fancy-looking models that are no more useful than a toddler saying tomorrow’s price will be the same as today’s price. I fell into what I call the naive trap. If you want to avoid falling into the same trap, read on (here)…