Australian (ASX) Stock Market Forum

Evaluate this system

Joined
13 July 2009
Posts
370
Reactions
0
I was working on a pretty simple momentum (short term hold) system based on some observations in discretionary trades. I had great results over the last 2 years but pretty average results prior the gfc. I was ready to chuck out the general idea and work on something else when I stumbled upon a peculiar market inefficiency which combined with other elements in the old system got much improved results.

The new system performed well over the last two years, and I moderately optimised it for these two years (increasing per trade performance by about 15%) but then went on to perform almost as well in out of sample data and over almost any time frame I threw at it up to 10 years back.

The system only trades on ASX300 stocks which means low slippage on accounts of my size. I assumed 0.1% roundtrip slippage expense (which I believe to be conservative) and 0.1% commission (which is a bit higher than what I would pay live).

I assume 0.1% for brokerage and 0.1% for slippage

edit: the forum crops the images, here is the gallery link.

http://img7.imageshack.us/g/backest6years2.png/

2 Year performance result:

backtest2years.png


backtest2years2.png



6 Year Performance Result

backtest6years.png


backest6years2.png
 
Exposure is low at 12%. A lot sitting in cash. Show us the equity curve - a lot of info in that.

8%pa return is also quite low. For all your work you could get that in a managed fund. The system drawdown is low, until you compare it with the % return.

It's basically not a favourable system sorry. What can anyone say but keep at it?? Consider posting the formula to see if anyone wants to help that way.
 


2004 untill today.


Uploaded with ImageShack.us


Yeah, I have not really been shooting to improve annual return, because I set a really low equity per trade so that I get a larger set of data to get a more solid expectancy figure.

Putting equity per trade up to 6% gives me a 18% pa return over the last 5 years....god knows what I would get if I put it up to 20%? but the expectancy figure moves around a bit as you get less trades in the sample. What I want is a really good expectancy figure, then I can trade it live for a year on a small scale and see how one year expectancy compares to my backtest expectancy.

The aim of this system is to have an expectancy of 2-2.5 % per trade and an average trade length of 5-10 days. This kind of system really limits your exposure and gives good risk relative returns.
 
I'd try to make everything revolve around % return and std deviation of the equity curve (smoothness) as priorities.

I didn't realize you had 6% as equity per trade! I know some people say 1% max etc. but I see no problems with using as much as 50%, so long as you can maintain a very smooth and steep curve. It's possible. It has to be steep because if you get a big loser on 50% of your capital, you wanna make sure you can bounce back very quicl;y.

Let's see the curve with 50% equity per trade.
 
The stats and equity curve you see there are with a position size of 2%. I think the maximum this system can operate on is about 10%. The reason for this is because often the signals for many stocks come at the same time, and when the market is trending down, my system is not giving buy signals.

What you have to realise with equity curves is that they can be over dependant on the first quarter performance of your system which is really a random variable. Also with Amibroker backtesting, if you set high position sizes then amibroker just buys the first signal that comes along disregarding the other signals that come along while your out of cash. This adds innacuracy to the true expecancy of the system.

This is the 6 year backtest report at 10% position size:

https://docs.google.com/leaf?id=0B8nqNVnhMLy3MGRkN2UxYjgtOWFmMi00ODY4LWJkZjgtNDIyYjVhODI1ZmMy&hl=en_US


This is the equity curve at 10% position size:

https://docs.google.com/leaf?id=0B8nqNVnhMLy3ZWRlZjBmNzItMTM5ZS00ZjUzLTgxNGQtMjg4MTAyMTFhNWQ1&hl=en_US
 
Am interested in results from 1 Jan. 2011 to today with a signal to trade delay of 1 day if you could please.
 
AB can randomize it's pick of eligible shares with Random(). It can also pick according to Positionscore, which you definitely should use.

I think I'd definitely fix my position size at Positionsize = 10000, and maybe Positionscore = 100+(V*C);

Are you trading speccies, where slippage is crucial or big caps where slippage won't be a factor?
 
AB can randomize it's pick of eligible shares with Random(). It can also pick according to Positionscore, which you definitely should use.

I think I'd definitely fix my position size at Positionsize = 10000, and maybe Positionscore = 100+(V*C);

Are you trading speccies, where slippage is crucial or big caps where slippage won't be a factor?

ASX300
 
I think your slippage allowance may be too small.

The average minimum spread of ASX300 is 0.44%, so round trip is ~0.9%. The actual number will depends on whether you trade more RIO @ $75 (spread <0.01%) or NDO @ 15c (spread = 3.33%). It also depends on how often you need to cross the spread.

This may or may not make any difference to your system.
 
I think your slippage allowance may be too small.

The average minimum spread of ASX300 is 0.44%, so round trip is ~0.9%. The actual number will depends on whether you trade more RIO @ $75 (spread <0.01%) or NDO @ 15c (spread = 3.33%). It also depends on how often you need to cross the spread.

This may or may not make any difference to your system.

Hmm I think you are right SKC, if you take out 0.9% per trade round trip there are no profits there. The system filters out stocks lower than 30c but trades plenty in the 30c-$1 range where slippage is going to a bitch.

Back to the drawing board methinks.
 
I think your slippage allowance may be too small.

The average minimum spread of ASX300 is 0.44%, so round trip is ~0.9%. The actual number will depends on whether you trade more RIO @ $75 (spread <0.01%) or NDO @ 15c (spread = 3.33%). It also depends on how often you need to cross the spread.

This may or may not make any difference to your system.
Thankyou!
 
Hmm I think you are right SKC, if you take out 0.9% per trade round trip there are no profits there. The system filters out stocks lower than 30c but trades plenty in the 30c-$1 range where slippage is going to a bitch.

Back to the drawing board methinks.

Don't be too discouraged. Take a look at your trades that are say >4% wins and see if you can spot any common traits...
 
Hmm I think you are right SKC, if you take out 0.9% per trade round trip there are no profits there. The system filters out stocks lower than 30c but trades plenty in the 30c-$1 range where slippage is going to a bitch.

Back to the drawing board methinks.

In raising the slippage issue SKC has also stated that "This may or may not make any difference to your system".

The question you need to address is whether slippage can be avoided by the way you trade and if so then you have just increased your profit by the current slippage allowance of 0.1%.

You mentioned at post #3 that you achieved a return of 18% pa over the last 5 years based on a position size capped at 6% of equity and I was wondering if the system can be enhanced by using a broad based index filter (XAO) to keep you out of the market at certain times?
 
In raising the slippage issue SKC has also stated that "This may or may not make any difference to your system".

The question you need to address is whether slippage can be avoided by the way you trade and if so then you have just increased your profit by the current slippage allowance of 0.1%.

You mentioned at post #3 that you achieved a return of 18% pa over the last 5 years based on a position size capped at 6% of equity and I was wondering if the system can be enhanced by using a broad based index filter (XAO) to keep you out of the market at certain times?


Well the system buys on the open, so there is bound to be slippage, I dont see anyway around it. The back test uses open values and allot of the time I am not going to get filled at them.

I experimented with various filters to only buy in favorable market conditions, if you look at my equity curve during the gfc I have a pretty small draw down of 5% compared to the index over that period. The filters I have in place at the moment is a sector directional filter and a long term EMA filter for the stock itself.

Thanks for the feedback, more research is needed!
 
Well the system buys on the open, so there is bound to be slippage, I dont see anyway around it. The back test uses open values and allot of the time I am not going to get filled at them.

I experimented with various filters to only buy in favorable market conditions, if you look at my equity curve during the gfc I have a pretty small draw down of 5% compared to the index over that period. The filters I have in place at the moment is a sector directional filter and a long term EMA filter for the stock itself.

Thanks for the feedback, more research is needed!

If your system buys on the open you will simply participate in the opening auction. Assuming your position size isn't massive you can probably expect to get filled at the open price.

With exits you would probably get your stop price if the stock has deep enough market depth. Normally a stop price is triggered by the last price being the bid...

So may be slippage of 0.9% is too much... 0.3 to 0.4% might be more realistic. However it does highlight how much of an edge you have.
 
Top