Click to go to TraderSmarts
  website


Pitbull image

SP500 heat map


Communities

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

« Out of the Starting Block Part 2 | Main | Ranking System Magic »
Tuesday
Dec162008

Stock Trading System Simulations: Out of the Starting Block

Using the Portfolio123 screen backtest capability I have discovered some useful formulae.  Now it's time to get my feet wet with some simulations.

Starting a stock trading system simulation


At some point in time I have to stop playing with the Portfolio123 screen backtest and move forward.  The exercise has been useful and I now have some weapons in my arsenal.  But it is time to leave the starting block and get going on development of a trading system. 

General Trading System Parameters

My initial trading system will hold approximately 30 stocks.  I may vary this number as time goes on to achieve the best performance and lowest drawdown. There is nothing cast in stone here.  30 stocks allows me to  reduce down to 20 stocks without violating my objectives or up to 40 stocks without having broker's fees impact my results.

Based on the last post I will continue to use the ranking system "Fourth Generation with Unfollowed Small".   This is a very powerful ranking system  that seems well suited for industry strength systems.  Now for stock buy rules.

Stock Buy Rules

After long consideration I have decided that the best formula to base my system on is the one listed below, mainly because it is the one most suited for meeting my objectives (stated in one of my first posts):  long term, high profit percentage per trade, etc.  The formula is a test of "industry strength".  i.e. only buy stocks within industries on the rise:

FMedian("C(0)",#Industry)/FMedian("C(220)",#Industry)
 >  (1+0.1*FMedian("ATRN(100,0)",#Industry))


with the number of industry constituents greater than 25:

NoConst > 25

This second formula assures better reliability as the number of stocks within the industry under consideration has to have a reasonable number of stocks.

I set my liquidity filters slightly above what is in my stock universe definition.  This will eliminate the majority of cases where liquidity drops shortly after a stock is bought causing the stock to be sold because it dropped out of the stock universe. i.e. there is some slack.

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


As a reminder here is my stock universe definition:

Close(0) > 2.50
AvgDailyTot(66) > 350000
MktCap > 100


I added a price filter to weed out stocks that are underperforming over the longer term:

Close(0)/Close(250) > 1

After doing some simulation test runs I decided on a stock ranking buy rule:

Rank > 98

Stock Sell Rules

I want to exit my stock holding if the industry is  exhibiting weakness.  To detect this condition I used a variation on the buy rule:

(FMedian("C(0)",#Industry)/FMedian("C(220)",#Industry) <
                  (1-0.05*FMedian("ATRN(100,0)",#Industry)))

I also want to exit if the stock is underperforming long term:

Close(0)/Close(250) < 1

The final sell rules have to do with stock ranking.  If the stock ranking drops by 7 points in one week or drops below 80 then I wish to sell the stock.

Rank < RankPrev(1) -7
Rank < 80


Simulation Setup

The following screen shot shows the setup immediately prior to running a simulation backtest. 

Stock trading system setup

Simulation Results

Stock trading system equity curve, drawdown and
capital used

Unfortunately, I'm having some internet connection issues.  So I can't access any of the stats.  I'll end here and pick this up tomorrow (or soon thereafter).

Take care and happy trading.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

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>