What is the robot creation methodology for SMI?

What is the robot creation methodology for SMI?


Methodology that we follow to create robots for SMI is made up of several phases:


Analysis of the portfolio from the point of view of risk management

In this phase, how can we expand on How does SMI manage risk? we analyze the deviations in the different currencies that make up the portfolio from the point of view of exposure risk, that is, we try to measure the risk as distance to the stop in euros (taking into account the number of operations) that we assume annually in the different currencies is as balanced as possible. Weekly we update the exchange rates and decide the systems that we must disconnect for deviating from their operating premises, we can then evaluate the risk situation and select the pairs where we should increase our exposure to reduce the deviations.


Analysis of the systems that we have operating in the pair where we want to increase positions

In this phase we analyze the types of systems that we have operating in the pair, if we already have systems that operate with a 2 to 1 objective, (Take profit to Stop Loss) in sufficient number we will guide the generation of the new systems that we generate to objectives 1 to 1 or even 1 to 0.5 (seeking to have systems that "trade on the coast").


Selection of input and output variables

When we have decided the pair where we should increase exposure and the type of system we want to implement, we review which will be the ideal variables and / or generation ideas both from the point of view of entry (opening of operations) and exit (closing of operations), volatility (using averages of 100 and 300 ATR periods) and the levels of protection (stop loss) and targets (take profit) that we believe will work best in the specific pair.


Generation phase, back-test, robustness and correlation tests

It is SMI's base and greatest source of value contribution.


      • Generation "in sample" we use a minimum of 7 years of history where we will look for the patterns and / or inefficiencies that we want to exploit based on the selected input and output variables. For this search and generation we use the high quality data that we acquire from a first provider other than Darwinex. We use the data in ticks so that the entire system has the highest possible quality of analysis. We use data from another broker since we want our systems to be robust in different brokers and be able to be profitable in at least 2 brokers, taking this characteristic as a guide to avoid, as far as possible, the over-optimization of our robots.


      • Once we have located the candidate systems, we create the robot and carry out a first back test with an additional 3 years “out of sample”.


      • Both in the “in simple” and “out sample” parts, we stress the results of the systems by applying two robustness tests, firstly Walk Forward test and secondly Montecarlo test. Finally, in the case that we have more than one system, we carry out a first correlation analysis between them.


      • If systems pass robustness tests and obtain the minimum target ratios, we carry out a new back test, this time on the historical data of Darwinex.


      • At this point, we carry out a final back test using the trading platform with which we will operate.


    • For the small number of systems that pass all the tests, we carry out a correlation test with the portfolio, discarding both those systems that have both a positive correlation, those that win or lose in the same assumptions, and those that already have a negative correlation, because we do not want systems that lose when others win. We therefore only look for systems that are not correlated with each other.


    • At this point in the process we consider systems as suitable for real operations, we use, at the manager's discretion and depending on different aspects of both the system and the deviations in currencies, 2 different methodologies. At this point we could:

      • Put the system in an "incubator" to have a first validation of its execution.

      • Put it into direct exploitation.


Real execution

Finally we will activate our robot in real, we will update the deviations of the exposure to the different currencies and we will carry out the constant evaluation of the performance of the system that you can expand in How is the process of continuous evaluation of SMI performance?