Dec. 30, 2018

The notion of overfitting and over-optimizing in automated stock trading strategies has been over-documented in the financial literature for quite some time. What I often see, however, are poorly designed trading strategies that should be better classified simply as misfitted and using worthless concepts or trading procedures for the job.

In a nutshell, an “automated” stock trading strategy says: this is how I see the structure of this trading environment. My program will do this and that, ..., and will win the game.

Some consider a trading program well-designed if it does not crash. It most certainly is not enough! In reality, and often, we should ask the question: how could the program's developer ever design such a piece of crap? Doesn't he/she know better? Elementary tests would have revealed that there was nothing there, yet they still put it in our faces anyway. These misfitted programs can become quite expensive due to the subsequent losses they may incur.

When these misfitted programs fail, they get reclassified as training frameworks or for educational purposes only. I usually classify those as double whammy programs: you pay for them upfront, and then you pay again, even more so by using them.

Poorly designed trading strategies usually do not work so well going forward. Take it as a euphemism. The reason should be more than obvious. Yet, most still want to qualify them as if they did work under specific circumstances over some selected past data from which they then get their over-optimized or overfitted qualifiers.

But when you dig deeper into the code (should you be able to see the code), you can find the faults, the unsubstantiated claims and premises, the misconceptions, the blurry math, and the misunderstanding of what they are really doing in the code. The code will work since the program has been debugged but will fail to generate the level of expected profits that were supposed to be the program's raison d'être.

It is only after such trading strategies fail to deliver according to their design that they inherit the overfitted moniker as some form of consolation, usually after much is lost.

The misfitted strategy was bad from the start (it had no real foundation in reality), which is why it also did not work going forward either. All it gets as reprimand is that it somehow overdid it, as if a slight exaggeration, or that some market regime has changed. Anything, as long as the strategy itself is not to blame. As if the machine used or the market was the culprit for the program being literally worthless. How could the author of the program be responsible for that anyway?

A misfitted trading strategy is simply that: a misfitted strategy. It does not need other qualifiers; it was just badly designed. A program wants the market to do this and that; the market does not, and it is the fault of the market. Come on... do put the horse before the cart.

We use past data to give us an idea of how our programs will work. But there is no money in that. They are just simulations over past data. What counts is what those programs will do going forward, not in out-of-sample testing where no money is involved, but in real life under real-life conditions. That is what our programs will have to face. Then design them accordingly.

A Buy & Hold strategy, for instance, would qualify as fitting the market as is. It would be in a 1:1 relationship. It would be like saying that by buying SPY and holding for a long time, you would get SPY's return, whatever it might be. You could translate this into F0 ∙ (1 + rSPY)t. Except that, going forward, you do not know what rSPY will be. And it matters. However, one thing you do know, it will be close to the actual long-term market averages, giving it time.

Should you want to do better than holding SPY, you will then need to slice and dice the time series in such a way as to produce more. And it is here that a trading strategy needs to show its merits. It should be considered worthwhile only if the profits generated from trading resulted in a higher CAGR than just holding SPY: F0 + Σ(H∙ΔP) > F∙ (1 + rSPY )t.

Otherwise, you would appear to be losing the game by doing less than average. It will be about the same problem for any of the stocks in your portfolio.

Stock price movements do not seem to follow strict rules that well. Another euphemism.

Created... December 30,  2018, © Guy R. Fleury. All rights reserved.