Click to go to TraderSmarts
  website


Pitbull image

SP500 heat map


Communities

Blog
  Directory for Stittsville, Ontario
Environmental Activism Blogs - Blog Catalog Blog
  Directory

« Christmas Gift Update | Main | Christmas Gift for Loyal Readers »
Wednesday
Dec312008

Second Thoughts

So I've switched horses and now I'm having second thoughts. First I'll provide the new rules and public simulation links then get started pondering why I want to go back to the previous version.

Second thoughts on which trading system to
continue with

New Stock Trading Simulation

Let's get back to my latest and greatest simulation. Last post (actually second last) I showed off a system that trades 20 stocks and achieved 36% profit per annum with less than 13% drawdown as shown below. The full stats can be found here.


Stock trading system backtest summary image

Trading Rules

Below you can see the trading rules / simulation setup.

Stock system trading rules and simulationsetup

I have used my standard liquidity rules for this system, same as previous systems:

(Close(0) > 3) AND (MktCap > 125) AND (AvgDailyTot(66) > 500000)

For risk management I used my previous technique of limiting industry weight (IndWeight) at time of stock purchase to 10% of the trading capital and sector weight (SecWeight) to 25%.

(IndWeight < 10) AND (SecWeight < 25)

Of course the weightings of the stock holdings will change over time. To limit risk for any given industry group I used a sell rule to liquidate 33% of stock holdings within an industry when the industry weight exceeds 15% of the trading capital.

Eval(IndWeight > 15,0.333,0)

I used my favored industry breakout rule RSI(7) for filtering stock purchases - see previous posts if you are not up to speed on this:

(FMedian("RSI(7)",#Industry)>60) AND (NoConst > 25)

Then I applied some market timing logic based upon the S&P500 benchmark:

(BenchClose(0) > BenchClose(5)) AND (BenchClose(0) > BenchClose(10)) AND (BenchClose(0) > BenchClose(20))

The market timing is fairly straightforward. The benchmark index (SP500) has to be up for 1 week, 2 weeks and 4 weeks. Now for the remaining sell rules. First the system looks for a drop in rank of 4 points over the previous week.

Rank <= RankPrev(1) - 4

The system also has a market timing exit rule when the benchmark exhibits a certain amount of weakness.

BenchClose(0) < 0.97*WMA(10,5,#Bench)


Those are the rules in a nutshell. And by the way the ranking system is one of Oliver Keating's babies: his latest version of his Fourth Generation with unfollowed Smallcaps. I have renamed the ranking system because there are too many with similar titles floating around. I get confused easily.

For Portfolio123 members, the public simulation can be found here: Industry Breakout 19DEC2008
The ranking system can be found here: Olikea's BrainChild 19DEC2008
The stock universe is same as before and can be found here: Baseline_Universe

So there you have it!

Preliminary Analysis of the System

Now what don't I like about it?

After I made the previous post I decided to do some further testing. I found out that 99% of the performance had to do with the ranking system and nothing to do with my industry breakout rule. The breakout rule brought the max drawdown from ~15% down to ~12%. It also reduced the annual profit by a few percent per year. The second issue is that the system is very much dependent upon the finely tuned market timing. For example, if I choose the Russell 2000 as the benchmark then I get a significant drawdown at the end.

One alteration I have been looking at is replacing the market timing sell rule with a sector weakness rule such as:

FMedian("RSI(7)",#sector)<45

 

This rule appears to be quite nice reducing the sensitivity of the benchmark index for exit timing.  But the %profit per trade also goes down substantially.

Next post I am going to really scrutinize this system to see what the good and bad things are. Everyone please have a Happy New Year!.

Steve

Reader Comments (2)

It's very interesting watching you work through this system. After defining the target universe, the challenge for me has been whether to focus on the Screening or the Ranking. I usually start with Screening to capture the big picture of what I am trying to build and include some kind of "regime switching" protocol. Within a successful screen, the candidates can be ranked. This is where it becomes challenging... do you echo your Screen's metrics in the ranking or do you rank on other factors such as momentum? One large fund manager likes Value with Momentum, so you screen for value and then rank on momentum.

Looking forward to your next post.

January 2, 2009 | Unregistered Commentershaun

Thanks for the comments Shaun. I haven't really thought about using (partially) independent factors for the screen versus the ranking. i.e. value and momentum. I see some interesting prospects in that.

What I did do was use the screener to find some industry and stock-based formulae - it turns out they are all momentum-type. And I also used the screener to quickly find what ranking system(s) worked well with the factors.

Each of these formula gave a slight to moderate advantage:

- Fmedian("Close(0)/Close(220)", #Industry) > ....
- Fmedian(RSI(7),#Industry) > 60 ...
- Close(0) / Close(250) > 1 ....

With the new system I got away from my original ideas too much. I grasped onto a really good ranking system and made some very optimal market timing but lost the concept of industry breakout. I think you will see me get back to the original industry breakout idea as I move forward. I am a firm believer that the development process is as important as backtest results.

January 2, 2009 | Registered CommenterStockMarketStudent

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>