Implementing Next-Generation Testing: The Power of the New F4 Strategy Tester Module

During the year 2012 Asirikuy has gone into a period of very fast thinking where our theoretical understanding has been lagging greatly behind our ability to put our ideas to practice. This has happened due to several factors (including my  academic excursion in Europe) but this has been caused largely by the higher complexity of our ideas when compared with what we developed in the past. While in past years testing an idea was a simple matter of writing a few lines of MQL4 code – and some elegant and slim ideas still are – we have now faced a time where our understanding of trading has required the development of much more elaborate and complex trading tools. Due to all of this it has become critical to design new ways to evaluate our trading strategies in a “mind-numbing” scale in order to test our theories and take our trading to the next level. Today I am going to be talking about the most important part of this puzzle: the F4 strategy tester module. I will talk about how it will help us build better systems, what it will enable us to do and why there is nothing even remotely like it available elsewhere :o).

There are basically three theoretical developments that have rendered the MT4 back-testing abilities too little to achieve our goals and increase our understanding. The first amongst these was our desire to grow a better understanding about the parameter space of a trading strategy, in order to do this we needed to compare the complex array of statistics of a single parameter set’s results with all of its siblings and doing this in MT4 requires running a back-test for each parameter set and then saving the results, processing it and organizing it. Not only is this a tremendous hassle but it is a very slow process that requires large amounts of memory and processing power. In the end if you want to completely understand the parameter space of a strategy you need to be able to run back-tests that are fast and then be able to save all of them in a structure that is easily accessible and efficient.

The second reason why we want to develop a better and faster solution – which is related to the above – comes from our desire to implement Walk forward analysis in our strategies. There are some very primitive walk forward analysis solutions available for use with MT4 (as I have mentioned in previous posts) but in reality we want a solution that allows us to test complex algorithms for instance selection added to the ability to test walk forward analysis in direct back-testing and live trading. We want a testing implementation that allows a user to perform WFA in whatever way he/she wishes to do, choosing any parameter selection algorithm, window lengths, etc.

The last reason why we currently need a better testing implementation is due to our desire to develop game theory portfolio management which requires us to save the trading of each system in a way that allows “ghost” histories of the strategy to be kept in order to evaluate whether or not the system should trade according to the game theory selection algorithms. This is difficult to do in MT4 because you need to create parallel systems for the storage of ghost signals and if you miss any trading hours due to platform closes you will run into problems due to the lack of a stored ghost trade. In general what you need is an implementation that can always look into the past and say in which way a parameter set has traded for as long as you want or need.

Out of all of these needs came the idea to implement the F4 strategy testing module. This module is a beautiful back-testing implementation coded inside the ANSI C Asirikuy F4 framework DLL which allows a system to perform a back-test of a system’s parameter set at any point in time. Furthermore, the DLL does not need to perform the back-test after every tick – something which would be prohibitive – but new trades can be added to the back-tests as trading progresses and new bars are added to the trading history. The F4 module allows you to store and access the history of any parameter set inside the parameter space through the use of a very efficient binary file structure, allowing you to easily explore very complex trading strategies. The module is also coupled with other units of the F4 framework, allowing this data to be used for any tasks.

One of the greatest things that we will be able to do with this is online WFA analysis. With this strategy tester you will be able to perform a back-test where a WFA is done internally, using any selection algorithm you use to advance your walk forward testing. When doing live trading the WFA will also be available and work in the same identical way, allowing you to carry out adaptive live trading (provided that your strategy does adapt thanks to WFA).  Another important function is that you will be able to combine WFA with game theory because you will also have information about what parameter sets you have used in the past. With this in mind you can create very powerful portfolio game theory/WFA implementations. The strategy tester module makes all these implementations possible, even in combination with other approaches such as Neural Network Money Management (NNMM).

Overall we are still about a week away from the first testing implementation of the above strategy tester module but it will – without a doubt – greatly increase our ability to trade and move forward in Asirikuy. The development of this unit – carried out thanks to Morgan – creates a unique opportunity for the Asirikuy community with an incredible tool that will be able to put our understanding (and then potentially our trading) above most other traders’. If you enjoyed this post and you would like to learn more about us please consider joining, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading in general . I hope you enjoyed this article ! :o)

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

Leave a Reply