Thursday, 30 November 2017

The Traps in Algo Trading

Creating an algo has a lot of traps. Its a skill, or rather an art, that needs to be learned. There's a lot to do but the end result is worth the effort.

Let me try and list of some of my main "gotchas" that kills the algo even before you start creating it..
  1. "Bad" periodicity that doesn't catch the rhythm of what I want to trade or provides too much noise.
  2. Bad quality data
  3. Too much or too little data. Was the market in 2003 the same as it is now? Or I'm only using 3 months of data on 3 minute time frame so am I curve fiting or catching the right rythm?
  4. Then we have that whole list of biases that impacts our build. Many of them are set out in Aronson's book.
  5. I don't structure the math of the required output correctly. An axample might be that my average trade is so small that the slippage will make live trading a losing proposition. Or the risk reward is wrong. The metrics of your backtesting report is very important.
  6. If I don't do a proper ROBUSTNESS set of tests I'm in a fool's paradise. I say "a set" because there are a lot of them.
  7. And the biggy: What's happening inside the bar. All the trading plarforms make an assumption about what happens within that High, Low, Open and Close.  These assumptions impact the assumed fill or stop loss. Within a 3 or even m Tore, a 30 minute bar, a lot can happen within that bar that is inconsistent with the assumptions that NinjaTrader, MultiCharts or whoever have to make. This impacts results so being able to test what happens inside the bar is important.
All these issues and more can be dealt with in the build and test process but I have to be vigilant that I am keeping to the processes I have created to build algos. Then I put them in portfolios to mitigate any one algo that is at the end of life, but have another on ready to replace it in the portfolio.

No comments:

Post a Comment