Generating a methodology for the creation and trading of machine learning strategies

The generation of machine learning strategies used to be a painful process that involved the creation of rather convoluted approaches that generated profitable outcomes through complicated pathways. My initial research in machine learning generated only neural network (NN) strategies that worked on the EURUSD and these strategies were complex and not easily transferable into any other Forex symbols. After several years of research within our trading community we have been able to come up with an approach for the generation of machine learning strategies that is able to create historically profitable outcomes across several different symbols using a variety of different regression and classification methods. On today’s post I want to talk about the mechanism we have now generated for the breeding of machine learning strategies and how this may turn into a methodology for the trading of machine learning strategies.

machinelearnings_1d1h_eurusd2

Using machine learning to build historically profitable systems generally seems much more straightforward than it really is. Academics usually build using methods that are heavily biased and not suited to live trading (read my post on the subject) and attempts to surpass these limitations are usually met with an outstanding difficulty to find historically profitable outcomes. After much testing it became clear that the input/output structure of the machine learning method was the most important piece of the puzzle with things like directionality and volatility predictions having little value to achieve profitable trading. Inputs such as fundamental data, multi-currency data and indicators have also appeared to provide little to no aid in the construction of profitable machine learning models (at least from my experience and that of a few other traders). Constant retraining of models on each trading decision is also a key aspect of machine learning strategies with a good chance to perform well under real market conditions.

A milestone achievement for me was the realization that the prediction of actual trade outcomes provided the best ability to reach good quality machine learning models. Instead of attempting to predict where the market is going in general we make predictions that attempt to answer the question “where is price going to move the most within the next X period?”. Building a machine learning model that attempts to predict long/short excursions seems to be a generic path towards historically profitable models across a significant array of currency pairs. My friend algotraderJo has been discussing these models – which are the fruit of our joint work – within his ForexFactory thread on machine learning. Using excursion predictions we could get historically profitable results on the EURJPY, EURUSD, USDJPY and GBPUSD with a variety of different classification and regression models. This gives us a library of potential candidates for the trading of machine learning strategies that can be evaluated in potentially the same manner as any other trading approach we use.

machine_learning_1h1d_eurjpy

We could potentially use this space of machine learning models to measure the data-mining bias of the ML building process using random series and after determining mining bias we could then build a trading portfolio of highly linear strategies generated within a low data-mining bias process to trade on the real market. Strategies within this portfolio will be based on a variety of different classification and regression techniques, offering a level of diversification that is unparalleled to what we have seen before in machine learning within Asirikuy. My current work with algoTraderJo currently focuses on this exact paradigm, building a systematic method for the generation of machine learning strategies that can be applied to the creation and finding of new machine learning strategies in an automated manner. We are just starting to study all the possibilities but we are definitely excited with the things we have found so far.

If you would like to learn more about machine learning and how you too can create strategies that use machine learning algorithms please consider joining Asirikuy.com, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading.

 

 

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

3 Responses to “Generating a methodology for the creation and trading of machine learning strategies”

  1. Philip says:

    Dear Daniel,
    I follow with great interest your blog and first of all I would like to thank you for your the passion you put in your activity of research and divulgation!
    I am an algorithmic forex trader, and for the past few years I have tried to trade with MT4, but I have also come to the conclusion that I cannot be consistently profitable with it. At least in my case, the problem is that metatrader intrinsic latency has a great impact on the live performance of my algos, although the same algos do very well in backtesting and demo. From my experience, Metatrader infrastructure adds an extra latency of about 100 ms.
    Since my first requirement is low execution speed, I am thinking of adopting the FIX API technology:
    What are the necessary steps to switch from my MT4 algos to FIX API? How to develop a suitable “bridge”, or how to find a programmer able to assist me on this project?

    Thank you very much in advance for your help!

    Philip

    • admin says:

      Hi Philip,

      Thanks a lot for writing :o) I am happy to hear you like my blog. About your question, developing a bridge between MT4 and FIX is probably not a good idea because your bridge will probably add more latency than the latency you get from doing a direct execution on the MT4 platform. If you want to truly gain speed from doing FIX execution you need to implement your strategies on a much lighter framework that will enable you to execute on FIX very fast. You will need to develop an algorithm that receives and analyses pushed quotes from the FIX API and then executes right there. If you are located close to the FIX server you can probably execute much faster (10x faster), provided the calculations you need to make for trading decisions are very fast. I would advice you to hire a programmer who specializes on FIX for this job, but this is not something that will come cheaply. Thanks again for writing,

      Best Regards,

      Daniel

    • Shri says:

      i think you will benefit with using Interactive brokers – they are cheap (execution cost wise – give you excellent spread and low commission) but more importantly have best FIX gateway that is available to retail customers. you will have to code your strategies outside MT4 (in matlab, phython, c++ etc) and then submit orders via FIX to IB.

      I can help you develop the FIX connectivity. my email is strading4 at gmail.

Leave a Reply

Subscribe to RSS Feed Follow me on Twitter!
Show Buttons
Hide Buttons