Saturday 13 January 2018

Different Ways of Trading an Algo

Today I am posting the results of a different type of algo. This algo is one that I use on many different markets. It was created by me using momentum and trend indicators. No genetic creativity but purely observation and test based logic.



As you can see, the algo has a little less than 3 years of data in its test results. The reason for this is that, after testing, I discovered that the algo works best by using that shorter amount of data to optimize and then trade it for a month before a new re optimization. In the Periodic Returns Report  you can see the Out of Sample profitability for January so far.

This algo is optimized every month and uses that almost years of data for that reoptimization. During that month the algo trades fully automatically. This means that my expectation is that the algo will trade more consistently than the historical statistics show, particularly that the drawdown is expected to be much less.

Its important that proper testing is done. Its not just a matter of pressing the OPTIMIZATION button and taking the most profitable result. The internal results of the optimization, such as symmetry, distribution of trades, average trade, ratio of draw down to profit are critical. I've posted links in this blog to the books that I recommend if you're interested in this way of trading. I'll be writing more on this theme.


3 comments:

  1. Robustness testing is not dependent upon type of market at all. Robustness testing is looking at just the metrics of your results during the creation of the algo and only accepting those algos that pass the filters I have ordained.

    I don't think that looking for "sudden changes" is a good idea. Trying to filter out all losing trades just ends up curve fitting. The whole process of creating an algo is to create one that does good enough in the training and then holds up well enough - better than say 50% - in the testing. Algo creation has become a lot more sophisticated nowadays compared to even 5 years ago.

    ReplyDelete
  2. When there is a major event then I stop trading an algo until the market for that symbol normalizes in the next few days. Then I can re-optimize but I may cut out the data from the event in my re-optimization databank so it doesn't skew the optimization. The Swiss unpegging is a good example.

    ReplyDelete
  3. Sandy, you're looking for a short answer to a two day question. Its lots more complicated than that. Create a decision flow chart to take you through the process like I did. Starting point after you have chosen the symbol is to look at risk & reward to determine periodicity. My flow chart takes me through the process choices and then its a matter of a lot of testing.

    ReplyDelete