Tuesday 23 August 2011

I am having a hard time juggling my tasks as I have about a dozen things to do in Automated Trading. But that's not what I want to write about in my blog today. Instead, I would refer you to a book which I am reading called "Fibonacci Analysis" by Constance Brown. My blog will be relatively short today as I would like to finish reading the book.

This topic is interesting, to me, not because of the Fibonacci Analysis by itself, but because of the author's own intrincacies on how it should be applied in the trading room. The challenge for me is how the Fibonacci Analysis (as shown by the author) could be designed and implemented as an Automated Trading tool.

After reading the first few chapters, my initial thought on design is that the initial range of the Fib analysis has to be identified correctly as it is crucial to the rest of the analysis (according to the author). However, it appears that the range is rather subjective (for example, while most practitioners would use the highest high as a starting point, the author may use the second highest high based on her judgments). As a designer, my goal is to translate the author's judgements into a specification that can be easily implemented as an algorithm.

Ok, time to hit the books and finish reading what I started (hopefully by tomorrow).

Let me fill you in on some of the other things which I am doing; programming an indicator (MT4) based on candlestick and testing it; programming a custom indicator for a colleague; running a portfolio of Expert Advisors (EAs) on my live accounts; trialling a new signal service provider for two weeks; reading several books on Tradestation, candlesticks, and Fibonacci by different authors; and ordered 2 books from Amazon on how to build a robust EA and MIDAS analysis.

For my next blog, I will try to design a specification on the Fibonacci Analysis.


Friday 19 August 2011

My Most Difficult Challenge in Automated Trading

One of the most difficult challenges, at least for me, in Automated Trading is to allow the automated scripts (or robots) to run without any human intervention with its open/close signal logic.

Take a recent example, I decided to close an opened buy trade - which was placed by my robot - early for a small profit, instead I missed out on a big run up (several times my profit). Talked about a missed opportunity. Clearly, I failed to trust the capabilities of the automated script and let my human emotions take control instead.

There are two camps of traders in this area: (1) traders who will never interfere with a robot's trade (let's call them hard traders for simplicity); and (2) traders who will always trump the robot with human discretion (let's call them soft traders).

In the first camp, I have seen hard traders who would rather watch their very profitable trade turn into losses than to interfere with the robot. The typical wound-healing statements made by them are that as the robot had been backtested and had produced a historically profitable equity curve, these losses are just part and parcel of the automated script. My problem with having this view is that there is no evidence that interfering with the robot's trades will diminish its long-term profitability. In fact, the opposite could be true - it may increase the robot's long-term profitability - and unless someone publishes data to show that human discretion will result in a direct drop in the equity curve of the robot, I will continue to have difficulty accepting the hard trader's view.

In the second camp, I have seen soft traders who would discern every open/close signal generated by the automated scripts, and place a trade manually after assessing the current market conditions. Again, I find the soft trader's view hard to accept as you may have lost some profits during the assessment as the market moves against you. Also, the benefits of an automated script are precision and speed, both of which are not utilized by the soft trader. This, to me, seems to defeat the purpose of having an automated script in the first place.

I have identified several factors to discern whether I should interfere with an automated script:

1) Upcoming news or events that may work against the robot (wrong direction).
2) Volatility (whiplash profitable trades turn into losses).
3) Volume (too thin to trade).
4) Two robots that may have conflicting trades (one opens a long, and the other opens a short).
5) Major resistance or support levels reached.

These are in order of importance (hence I would consider 1 as more important than 5).

In conclusion, my view lies somewhere between the two camps. However, as a trader with an engineering background, I would imagine the future with an automated script that is capable of processing huge amounts of data in order to make decisions as close to humanly as possible. This would be made possible by improving technology, which in turn would lessen my challenge of having to trust the robots to run without human intervention.