Machine learning in trading: Go simple or complex?

Through the past several years I have performed many machine learning experiments in trading, developed many strategies based on them and traded them in the real market. My biggest development through this time was to significantly stray from what academics were doing in general and go to machine learning mechanisms that were far simpler than what was being published in journal articles. Although this seemed a bit contradictory – as machine learning usually tends to more rather than less complexity – this was the only manner in which I could obtain satisfactory historical testing results with adequately low levels of bias. On today’s article we will talk about complexity as it relates to machine learning in trading and why more complexity might not lead to better results.


People who were interested in applying machine learning to trading started by approaching the problem as a function-description problem. This assumes that the market behaves according to some arbitrarily complex, yet describable function, that we can figure out in order to obtain the next possible outcome. From this point of view the market can be described mathematically and it is just a matter of obtaining that description and then expanding towards the next element to get an answer that tells us what the market will do. Attempts in this area take all market data and attempt to create functions that are able to predict all past market behavior as a function of some set of variables. So take all your market data, calculate any indicators you want, put that into some machine learning algorithm and obtain a model that was trained to predict everything that has happened in the past and can be therefore expected to predict the future.

Well, not so much. Machine learning failed bluntly when applied in this manner. The models generated were usually very complex and yet lacked any relevant level of predictive power when tested in truly unseen data (new market data). Repeated testing was generally not reported in journal articles where split in-sample|out-of-sample tests were done and therefore the results could be reasonably expected to be the consequence of p-hacking. It became clear that machine learning – applied in this manner – was really not able to extract useful information and what was being done was basically a very strong curve-fitting exercise that failed to truly generalize to fundamental market behavior and therefore failed to be able to predict the future with relevant statistical significance.


The search for complexity however continues with developments in machine learning that allow computers to not only learn from a set of predetermined features – as initial machine learning algos did – but instead perform feature extraction and even machine learning algorithm construction on their own. In this sense a computer approaches trading like a computer game it knows nothing about, it extracts relevant features from the market as it acquires experience from examples and in the end it develops its own vision of what is relevant when tackling the trading problem. This means that the structure is not rigid and the algorithm can not only adapt how it adapts but it can also adapt what it uses to play the game.

The above entails deep learning and the great improvements in machine learning that have lead to the development of huge advances such as Alpha Go.  However the nature of the market – a game where other players are constantly changing their behavior and all players have incomplete information – has up to this day proved to be as challenging for deep learning as it was for the simpler predecessors that came before it. The lack of the possibility for endless sample generation – you cannot generate more trading scenarios as you generate games of Go – makes the problem harder in the sense that learning is limited to the information available and the possibility to learn from noise within this information remains an important challenge for today’s complex machine learning algorithms.


In the end machine learning has made tremendous advances in complexity but those advances still seem to be ill-adapted to create trading strategies that can lead to profitable behavior under new live trading conditions. Complexity in machine learning leads to better chances at tackling deterministic problems or even beating players that behave unpredictably in games that can be played endlessly but the lack of enough examples in trading and the lack of complete information makes the trading game particularly challenging, a game that realistically may not be beatable through just exponential increases in machine learning complexity. Other problems such as data-mining bias and data-snooping bias also play a huge role in limiting what advances in algorithmic implementation can achieve. If you would like to learn more about how we have tackled the problem using simpler machine learning algorithms please consider joining, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading.strategies


Print Friendly, PDF & Email
You can leave a response, or trackback from your own site.

2 Responses to “Machine learning in trading: Go simple or complex?”

  1. Jim says:

    I was just reading about Jim Simmons and what is known about Renaissance trading. Are these traders operating on a different planet to the rest of us ? The results seem off the scale good. The breakout system with a trailing stop and some money management thrown in for protection against trader stupidity, just seems so out gunned to me.

    • admin says:

      Hi Jim,

      Funds like renaissance are not like hedge funds in the traditional sense – trying to get alpha from the market – but they are in reality market makers. This is why the results are so good because they get their money mainly from market making activities not from trying to predict the future in the same way we do, as we would try to do with a “breakout system”. Quantitative traders figured out a while ago that if you have a lot of money the best way to make money is by doing that – finding arbitrage opportunities – instead of trying the traditional “system building” exercise to extract alpha. Thanks for writing,

      Best Regards,


      An interesting link on the subject:

Leave a Reply

WordPress › Error

The site is experiencing technical difficulties.