An important element in my vision on running my personal trading business is to diversify across multiple strategies. So far I have been focusing on development, running, automating & monitoring individual trading strategies however I am turning my attention now to simulating the effect of running several strategies next to another.
As I am using Amibroker as the workhorse for my analyses, I have been focusing on trying to use Amibroker to simulate running multiple strategies. In this series of posts I am going to introduce a way of working to this. Admittedly, the method has flaws and does not do the job 100% perfect, however it works for me.
I will start of with explaining the concept. After this introduction I will explain some of the key elements (including code). I will then demonstrate the application by simulating a portfolio of the three strategies that are described in this blog (here). Finally I will make comments on the flaws in this method.
From studying the various resources (Amibroker KB, groups.yahoo.com, Howard Bandy’s books) I came to the conclusion that there are 2 fundamental different ways to simulate multiple strategies:
A) combine all strategies in one meta-strategy or
B) take a 2 step approach: run individual strategies first followed by a second (meta) strategy trading the outcomes of step 1
After some experiments I came to the conclusion that both options do not deliver the 100% solution. E.g. option A becomes complicated very quickly when trying to take a position for 2 strategies in the same instrument). Option B, after running step does not allow you to simply analyse the individual trades of the underlying systems. In the end I have chosen to work with option B. The main reason for this is that option B allows me to simulate various systems without complications. The cost we pay for it is that not all performance metrics are not easily available at meta-strategy level.
The main concept that I use can therefore me summarised as follows:
1. Run individual strategy in Backtester
2. Use custom backtest logic to generate individual strategy Equity curve
3. Repeat 1&2 for all systems of interest
4. Add individual equity curves to watchlist
5. Run meta-strategy in Backtester on watchlist
I am beyond my wordcount of 300 and have still a lot to write, so will create a second post with the further explaination, code, example and comments.
– QD –