But, see, about anything, that you would want to analyze over a 12 month period, delayed data or not, could help “predict” where the market is going as long as, in general over the long term, it is trending up. There is memory, there is persistency in average market prices.
That's not what momentum is saying.
Momentum is the idea that there is a premia on stocks that exhibit high (relative to their peers) momentum over stocks that exhibit low (relative to their peers). So, a long-short portfolio of stocks with high momentum on the long side and low momentum on the short side will provide alpha over the long term.
It isn't saying momentum predicts where the market is going. It's saying that momentum is a signal of stock returns.
If there was that much predictability in market prices, one could certainly devise trading strategies that would perform a lot better than this one, generate a lot more alpha than having such a hard time beating a benchmark.
You do realize that the value, quality, momentum, defensive, etc, factors in academic finance are puzzles right? They're unexplained, as of yet.
They don't give alpha every year. They may not give alpha over many years. But in the long run these factors do provide alpha. Mixing them together gives you a strategy that can generate alpha over the long run. See, for example, MSCI's smart-beta index based on size, value, quality and momentum.
It does not really matter what the foundations of this predictability is.
Well, it does. Quantopian doesn't want algos that aren't based in economic intuition. If you just have some data mined factor you're not going to get consistent results.
It should show its presence in any long term portfolio backtest.
Again, it does. Please - read Jegadeesh and Titman 1993, Carhart 1997, or Asness et al 2013. If not, the Alphalens preview actually develops the 12 minus 1 momentum strategy as its example.
And it is not what I see here...
And, of course, this isn't a completed algo. I also object to the idea that it has a "hard time beating its benchmark" when there's only a two year stretch of bad performance (which could ultimately be a KCG-data type issue - who knows?).