Money Management Trading Systems Day Trading & Scalping Developing a Trading Strategy Part 2

In the first part of this article, which can be read here, we looked at choosing an instrument and timeframe to trade, as well as establishing the set-up and entry rules. In the second and final part we will consider how to establish exit rules as well as various filters and money management rules to maximise the profitability of the system.

6. Stop Loss Rules.

Our strategy already has a natural stop loss in the stop order that does not get filled. The objective of the strategy is to capitalise on those days where the high or low for the day is in place early (9.30-11.45am). If we enter a trade on a breakout of either the high or the low and then the market subsequently hits the other stop we know that our trade is invalid. We know from our testing earlier that this only occurred 10% of the time.

We could add additional rules for the stop loss such as:
  • Moving the stop to breakeven when we are a certain amount in profit. However, how or why would the market care where our breakeven point is?

  • Trailing the initial stop loss as the trade moves into profit.

  • Having a fixed maximum stop (say 35 pts). Fixed point values should be avoided, they do not take into account changes in market volatility and do not "future proof" the system.

  • Setting the stop at a percentage of the opening range. The theory being that if the market has retraced a certain amount then it is likely to continue and eventually hit our original stop.

  • The opening range that we have concluded produces the best system expectancy over our test period, can be relatively wide, averaging 62% of the days range. So, if the days range is 200 points our stop would be 124 points on average. Many traders prefer a much tighter stop for psychological reasons. However, as we discovered with the opening range, there is a payoff between a tighter stop loss and a lower winning percentage.

Let's examine results based on setting the stop loss at a percentage of the opening range. Assume that the trade is closed at 4.00pm ET if not stopped:
Stop as a %age of opening range%age stoppedAverage loss on stopped trades%age not stoppedAverage profit on trades not stoppedExpectancy per trade
10% 84%6.5316%44.410.95
20%74%12.3526%36.790.59
30%58%18.1942%29.702.26
40%50%24.2650%27.051.73
50%41%28.7659%23.451.53
60%31%35.1869%23.515.60
70%25%40.3075%20.355.14
80%21%44.0479%18.434.92
90%16%45.7684%15.806.33
100%11%48.0089%13.156.42

Expectancy per trade is calculated as (%W*Av W)-(%L*Av L)

The above table is based on 109 trades being triggered over the 124 day test period.

We can clearly see a payoff - as the average loss is reduced by having a tighter stop, the percentage of losing trades increases. With a stop at 20% of the opening range we have an average loss of only 12 points and an average win of 37 - A risk/reward ratio than many traders would like at 1:3. However we are stopped out 74% of the time giving an average expectancy of less than 1 point.

Leaving the stop at the opposite side of the entry range means we are only stopped out 11% of the time for an average loss of 48 points. However, the average profit on the remaining 89% of trades is only 13 points. Many traders would be wary of a risk/reward ratio of 3.5:1 but the much better percentage of trades which are not stopped out at 89% means an average profit per trade of 6.42 points.

In conclusion, it is essential to examine the interaction between percentage winners and losers as well as the average win and average lose. We cannot consider the risk/reward ratio without also checking the percentage of winning trades.

We will continue to hold our stops at the opposite side of the opening range.

7. Profit Taking Exits.

At the moment our only profit taking exit rule is to
close at the end of the day, quite simply because we are developing a day trading system with no overnight risk. Generally on a strongly trending day (the type we are aiming to capture) the market will close at very near the high/low for the day so closing the trade at the market close makes sense.

However, there are days where the market will break one way or the other and then stage a reversal before the close. If we are waiting until the end of the day to close we may find that our trade moves substantially into profit before reversing and giving that profit up.

The most common profit taking exits are:
  • A trailing stop
  • A target

Let's examine both of these concepts in regards to our Dow system, starting with a trailing stop. Rather than leave our stop at the opposite extreme of the opening range we'll trail it behind the market - if we are 10 points in profit then our stop will move 10 points. Of course, the trailing stop can only move in our favour, we should never move it further away.

Trailing the stop behind the market produces a net profit of 5.55 points per trade, compared to 6.50 when we did not trail it. On this particular system, trailing the stop seems to be inferior to leaving the stop alone.

How about setting a target? In order to future proof our system we should ensure that the target is a function of current market volatility. Therefore we'll use a percentage of the opening range as a target.
Target as a %age of opening range%age where target hitAverage profit where target hit%age where target not hitAverage profit on trades where target not hitExpectancy per trade
10%88%6.4712%(19.00)3.43
25%72%15.2628%(20.29)5.15
50%45%28.2955%(17.57)3.05
100%21%51.3079%(8.03)4.49
150%9%73.0091%(3.11)3.87
200%6%91.6794%0.505.52
250%3%116.0097%2.615.73
300%1%108.0099%5.096.03
No target0100%6.426.42

By setting a target we aim to increase the winning percentage, the trade-off is that we reduce the average winning profit. We can see that setting a tight target at just 10% of the opening range gives us 88% of trades where the target is hit. Which psychologically is great, we're winning almost 9 times out of every 10 trades. Unfortunately, our average win is just 6.47 points against an average loss of 19.00 points on the 12% of trades that do not hit the target.

Setting a target has reduced the performance of our system, we will continue to hold trades until the close.

8. Ways To Improve The Profit Per Trade.

There are two ways to improve the profit per trade:
  • Increase the profit from the winning trades or reduce the losses from the losing trades - which is what we were trying to achieve through the use of stops and targets in the previous sections.
  • Decrease the number of losing trades through the use of filters - which is what we will examine in this section.

Three ideas for a filter system could be:
  • Seasonal factors - does the system perform better or worse on a particular day of the week?
  • Markets will often consolidate the day after a large range expansion, do we want to avoid these days?
  • Should we only take signals in the direction of the current trend?

Firstly, let's look at the results that we get by the day of the week:
Weekday Number of trades Win %age Average Win Average Loss Expectancy per trade
Monday 1953%392110.47
Tuesday2646%44256.77
Wednesday 2357%522418.83
Thursday2232%2632(13.32)
Friday 1958%32209.74

Each day is reasonably consistent, except Thursday. Thursday has the lowest percentage of winners (at 32%), the lowest average win (26 points), the highest average loss (32) and actually makes a loss per trade. It has to be pointed out that our sample sizes for the individual days is quite low at around 20, but Thursday is overwhelmingly poor.

By not trading on Thursday we would raise our overall expectancy per trade to 11.41 from 6.42.

Secondly, when the market makes a relatively large move it will tend to pause and consolidate. Our breakout system will want to avoid days where the market is likely to consolidate. Let's say we won't trade when the actual trading range the day before was more than x times the average actual trading range for the previous 5 days. The actual trading range is defined as the difference between the high (or the previous close if it is higher) and the low (or the previous close if it is lower). We will test various values of x:
Value of X Number of Trades Win %age Average Win Average Loss Expectancy per trade
1.16543%43235.38
1.2 7145%44237.15
1.3 8246%44256.74
1.4 8648%43257.64
1.5 9149%42257.83
1.6 9651%42259.17
1.79952%41268.84
1.8 10151%40267.66
1.9 10450%40257.50
2.0 10750%40257.50
2.5 10949%40266.34

We can see that if the previous day's actual trading range is 1.6 or more times the average for the previous 5 days then by not trading we will increase the winning percentage from 49% to 51%, increase the average win from 40 points to 42 points and cut the average losing trade from 26 to 25 points - increasing the expectancy per trade to 9.17 points.

Thirdly, another popular filter is to only take trades in the direction of the current trend. We could define the current trend, quite simply, as taking the difference between the latest closing price and the closing price from x days ago. If the latest close is higher then the trend is up and we will only take long trades, if it is lower then the trend is down and we will only take short trades. Let's test for various values of x, i.e. taking the close from x days ago.
X days Number of Trades Win %age Average Win Average Loss Expectancy Per Trade
1 5746%49259.04
2 5042%45273.24
3 5545%50268.20
4 4842%57268.86
5 6040%47263.20
No filter 10949%40266.34

There are two problems with these results:
  • If we take our directional indicator as 1 day, 3 days or 4 days we improve our expectancy per trade, but if we take 2 days or 5 days we reduce it substantially. This inconsistency suggests the filter may not be too reliable for out of sample data.
  • The number of trades taken is halved for a relatively small increase in expectancy, if we take 1 day as being the best value. Trade frequency is important and if we half the number of trades we would want to more than double the expectancy to compensate.

For these reasons I would not include a directional filter as defined above in our system.

Overall we have now added two filters to our system:
  • We will not take any trades on a Thursday.
  • We will not take a trade if yesterday's average trading range is more then 1.6 x the average of the previous 5 day's average trading range.

The overall effect is:
Number of Trades Win %age Average Win Average Loss Expectancy per Trade
Without Filters 10949%40266.34
With Filters 8054%432312.64

By using the two filters we cut out 29 trades which helps to increase our win percentage from 49% to 54%, average win to 43 points from 40 points and reduce our average loss from 26 points to 23 points. Overall our expectancy per trade doubles from 6.34 points to 12.64.

9. Money Management Rules

Once we have developed the actual trading rules there is one further, important, consideration - how much to risk on each trade. Good money management serves two purposes:
  • Minimises the risk of losing the whole trading account before the system edge has a chance to work out.
  • Maximises the potential of the trading system when conditions are favourable.

Many traders will, mistakenly, try to minimise their risk by setting tighter stop levels. Stop levels should, actually, be set as a function of market action. If the losses taken when those stops are hit are unacceptable to us then we should reduce the number of contracts traded, rather than merely tighten the stop. As we have seen this course of action is likely to lead to increased losing trades and an overall degradation of the system performance. In other words, money management controls risk not stop orders.

In order to establish money management rules for our system we need to examine how it has performed over our test period:

Test Period:​
January - June 2004

Total Points Profit:​
1012

Total Trades:​
80

Allowance for Slippage/Commission
(3pts per trade):​

(240)

Net Profit:​
772

Maximum Draw down:​
181

For money management we are most interested in the maximum drawdown. The mini-Dow trades at $5 per point so the maximum draw down on 1 contract was 181 x $5 or $905. In order to trade through this period with one contract we would have needed a minimum of $905 plus the minimum account balance requirement (for Interactive Brokers) of $2,000 = $2,905.

However, future performance of the system is unlikely to replicate our test period so for this reason we must be rather more conservative. Remember our objectives with money management - minimise the chances of losing everything whilst maximising the potential.

If we double our historical maximum drawdown of $905 and add on the minimum account balance requirement of $2,000 we get $3,810. So, if we begin trading 1 contract with $4,000 in our account we would need to immediately start a losing sequence which is twice as big as the maximum during our testing period in order to not be able to continue trading the system. A situation which could, of course, happen but is reasonably unlikely.

The risk per trade may seem very high, if our stop is 50 points or $250 then we are risking 6.25% of our account where many books will recommend just 1%. However, remember our objective with money management is to maximise the potential of our system. The only way to do that with a small account size is to increase risk to the limit of acceptability - we have shown that even at this higher level of risk we are unlikely to lose the whole account. If we were to risk only 1% then we would need at least $25,000 to trade just 1 contract, which given our maximum historic draw down of only $905 is blatantly over the top.

Once we have established the minimum required to begin trading the system we should look at how we will increase the number of contracts traded as the account balance grows. There are 2 main variations:

Fixed Fractional. Here we will trade 1 contract for every $x in the account. In our example that is 1 contract for every $4,000. So at $8,000 we will trade 2 contracts, at $12,000 3 contracts and so on. Note, that if the account balance drops back below the threshold we will drop a contract. In summary:

Account balance required:
Contracts:
4,000​
1​
8,000​
2​
12,000​
3​
16,000​
4​
20,000​
5​
24,000​
6​
28,000​
7​
32,000​
8​
36,000​
9​
40,000​
10​

We can continue to trade 1 contract below $4,000 down to the account minimum of $2,000 as established earlier.

Fixed Fractional is a popular method of money management however it has a serious flaw. That is, it requires unequal achievement at different contract levels. To move from 1 contract to 2 we are required to make a profit of $4,000 from trading 1 contract. However, to move from 2 contracts to 3 contracts we still require $4,000 of profit but this time from 2 contracts. This means that small account balances will take time to grow and for larger account balances the number of contracts traded will jump wildly around. It is not suited to either small or large accounts!

Fixed Ratio: Resolves the problem of fixed fractional by adding a variable to the calculation. This variable (or delta) is the amount required per contract to move to the next level. The lower the delta the more aggressive the system will be.

The formula is:
equity required to trade previous contract size + (number of contracts x delta) = Next level.

If we use $4,000 as our base level for 1 contract and a delta of $1,000 we get:

Account balance required:
Contracts:
4,000​
1​
5,000​
2​
7,000​
3​
10,000​
4​
14,000​
5​
19,000​
6​
25,000​
7​
32,000​
8​
40,000​
9​
49,000​
10​

Comparing the tables shows that at lower account balances the risk is higher (we can trade more contracts) but as the account grows the risk is reduced. For example with an account balance of $10,000 we would be trading 4 contracts against only 2 for fixed fractional. For an account balance of $40,000, though, we will only trade 9 contracts against 10 for fixed fractional. If the account falls below $4,000 we will continue to trade just 1 contract with both methods.

Fixed fractional allows us to be aggressive with a small account and reduce the risk as the account balance grows.

10. Conclusion.

Over the course of this article we have developed a trading system for the mini-Dow Jones futures contract using data from January 2004 to June 2004. Starting with a basic idea for trading an open range breakout we have tested and added each component of the system in a methodical manner. It is important to realise that our system has been created using specific data and is optimised for that particular data set. If we have "over optimised" then we will find that when we test using other periods the system will fall apart. Signs of an over optimised system are:
  • Lots of different parameters
  • Very specific values for the parameters. i.e. a value of 47 makes a profit but 46 or 48 don't.
  • Different parameter values for different markets or even periods
  • Using fixed values - i.e. a fixed 35 point stop no matter what the current market volatility.
  • The system makes a spectacular profit over the testing period and a spectacular loss the rest of the time!

Let's recap our system to make sure it doesn't look too optimised:
Market:Mini Dow Jones $5 futures contract
Set-up:Trading Range 9.30am - 11.45am ET
Entry:Long on a break of the high, short on a break of the low of the opening range.
Stop Loss:The opposite entry point.
Exit:Stop hit or 16.00 ET.
Other rules:Do not trade on Thursday.
Do not trade if previous day's
average trading range > average previous 5 days.

Our set-up contains a specific value for the opening range - 135 minutes. However we tested around this value and anything between 45 minutes and 180 minutes made very little difference overall.

Not trading on Thursday is a very specific rule and could be optimised for our test dataset.

Out of Sample Data

The final test for the system is to check the performance on out of sample data. Here are the results by month after allowing 3 points for slippage and commission.
QuarterNet Points Trades Per Trade
Jan - Mar 20033933910.08
Apr - Jun 2003210365.83
Jul - Sep 20033873810.18
Oct - Dec 2003214415.22
Jan - Mar 2004416429.90
Apr - Jun 20043593510.26
Jul - Sep 200460431.40
Oct - Dec 2004215375.81

As expected our sample period of Jan - Jun 2004 does produce good results, however we also experience similar results for the 1st and 3rd quarters of 2003 suggesting that the system is not over optimised for one particular period.

Draw down

During our test period we experienced a maximum draw down of 181 points, this is exceeded 4 times during our larger back test:
DatePoints
19 Feb 03234
10 Jun 03254
19 Aug 03215
27 Sep 04189

These are all acceptable as in our money management section we allowed for 2 x 181 points or 362 points for maximum draw down.

Equity Curve

Finally, a quick look at the equity curve for trading a single contract below shows that the system is fairly consistent over the entire period:

Equity Curve


Money Management

Trading a single contract makes 2,254 points profit ($11,270) over the 2 year period. Earlier we established a fixed ratio money management model based on our test data. Using this model to trade the system over the 2 year period, turns a starting balance of $4,000 into $47,785, a profit of $43,785. In this case the equity curves looks like:

Equity Curve


Finally

In this article we have examined stage by stage the development of a single trading system using as an example the mini-Dow Jones futures contract. We have produced a system which is consistent and which over the past 2 years would have produced a reasonable profit, especially if aggressive money management is used.

It should be noted that over these 2 years the Dow Jones index has experienced very low volatility when compared to previous years making it a fairly difficult time for day trading systems. However, the currency markets have been volatile over this period and we could have chosen to develop a system to trade dollar/euro or dollar/pound futures, which would have been far more profitable. The point of the article was to demonstrate a systematic approach to system development using an instrument that people are familiar with.

Reliance should not be placed a one system alone. A number of different systems should be developed (using the above methodology) using different instruments, timeframes and set-ups (both trend following and counter-trend). In the last year currencies have been more volatile than indexes whereas in 2002 the opposite was true. All systems have good periods and bad periods and by diversifying the systems traded we can substantially reduce the overall draw downs and produce much smoother equity curves.
 
Last edited by a moderator:
Impressed with the author's rigour and application. Not only that, the content is first class.
Many thanks, very useful.
 
Very good article. I appreciate the effort that has gone into writing it.

The only thing I was uncomfortable with in the example was finding significance in Thursdays not being profitable. One could argue this is over-fitting as in the test period the decision to cut out Thursdays was based on 22 trades (not really enough in my book) and based on the fact it wasn't profitable in the test period. However, this could be confirmed or not by looking at the out of sample data OR/AND asking if there is any logic behind cutting Thursdays (I don't know of any, if it were a Monday one may be able to put an logical argument together).
 
Thanks for your comments!

Tuffy, the Thursday thing really surprised me as well. My sample period for the purpose of the example in the article was only 6 months which as you say only gives 22 Thursdays to base the rule on. The point was, though, that we base our system on data in the test period and in the test period Thursday's were extremely poor. If we then look at the out of sample data and change the rule then our out of sample data then becomes part of our test data - invalidating the out of sample test! Your right, though, a larger test period in the first place would be better, this was only an example for the article.

Friday is the second worse performing day so we could conclude that the beginning of the week is better for breakouts than the end. Logically, many investors will make trading decisions over the weekend and implement them at the beginning of the week, as the week grinds on they wait until the weekend to decide what to do next. Thus, the market makes it's move in the beginning of the week and consolidates towards the end of the week.
 
Have to agree with other posters. This is one of the best articles I have read for a while.

With respect to the Thursday factor. I had been intending to create a thread regarding this as I also find Thursday a pretty poor day for day-trading my FX (primarily Cable) strategies. Again the sample size is a little small for a definitive conclusion, (max 16 months data), but I still think that this is a factor to big to ignore.

Has anyone else noticed this or a similar phenomenon with their instruments, and if this is a recurring theme, does anyone trade counter to their strategy on the poor performing day.

Comments appreciated.
 
Very good article. Thanks.
Will there be a part 3 ? If so, maybe you could address execution risk. For example, system in question would in reality have end results adjusted for cost and slippage. This actually becomes significant over 200+ trades and leaves little room for poor execution. Assuming 1tick slippage and $1.25 bro per side, runing it through TS we get an average trade expectation of less than 3pts vs. over 5 pts before. This still works but it is tight.
Incidentally, if anybody wants code for TS I will post it.
 
The article did allow 3 points for slippage and commission.

My own experience autotrading a slightly different version of this is that maybe 4 points should be used for slippage and commission. However I'm working on getting this down.

JonnyT
 
Have to agree with other posters. This is one of the best articles I have read for a while.

With respect to the Thursday factor. I had been intending to create a thread regarding this as I also find Thursday a pretty poor day for day-trading my FX (primarily Cable) strategies. Again the sample size is a little small for a definitive conclusion, (max 16 months data), but I still think that this is a factor to big to ignore.

Has anyone else noticed this or a similar phenomenon with their instruments, and if this is a recurring theme, does anyone trade counter to their strategy on the poor performing day.

Comments appreciated.

I trade fx, primarily cable at the mo. A number of fx traders avoid Mondays as they can be quite choppy. I am not quite as extreme as this but through observations of market action I have concluded that I should avoid trading on the Monday following the Non farm payroll data which generally comes out on the first friday of the month. This usually results in a volatile friday, generally with a big move one way or the other (or both!) on Friday PM. It is quite logical that the Monday session is likely to consolidate and my observations seem to confirm this
 
Darrenf,

Thanks for your observation about Monday trading after payroll data. I hadn't especially noticed reduced performance on those days so I will look out for that.

As regards other Mondays, although they tend to offer better performance, for me, than Thursdays, they still lag well behind Tue, Wed and Fri. As I think it is well known that some traders avoid Mondays I always thought that could explain the quieter Monday performance, and the normally stellar Tuesday performance but I could never fathom why Thursdays were so poor. Any ideas to explain this very welcome.
 
The article did allow 3 points for slippage and commission

Yeah, I saw that but the results based on my own data corresponded with the final results in the article before I introduced any slippage and Bro. Once I had, the per trade expectation was considerably less. I rechecked the code and audited trades to be sure I was correct.
 
Excellent article but I'm a bit confusedby the different results on your website. Is the higher points total just due to no commissions being taken into account?
Also, the Thursday filter seems to have little effect on the 2004 results

2004 points Thursday Filter added
Q1 489 545
Q2 380 467
Q3 327 192
Q4 469 329
 
shorty,

The figures in the article are after allowing 3 points/trade for slippage and commission, on the website they are gross.

The Thursday filter does reduce the total points made in 2004 from 1,665 to 1,533 but it also reduces the number of trades from 195 to 161 and so increases the points/trade from 8.5 to 9.5. That is an important consideration.
 
ok, thanks for the reply. I take your point about the reduced trades (and therefore reduced costs) but I'm trying to get my head round the Thursday factor. Most market days the important news comes out at 8:30 am or 10.00am so there is plenty of time for the market to digest it before the system's 11:45 start time. I was thinking along the lines of important data after 11:45am might cause the plan to falter on a specific day. The main announcements I can think of after 11:45am are Beige Book, Fed Interest Rate Decisions, Philly Fed ...but only Philly Fed is ususally on a Thurs I think, so prob not enough on it's own to effect the plan
 
As a system developer I must say excellent articles, love the larry willams trade day of the week filter.

The most popular s&p500 trading systems have a breakout with countertrend component which I'm glad you mentioned! They are tested by futures truth website. (If anyone is interested)
 
sidinuk, Is the optimisation strategy you used in the example the one you use for ‘live’ systems (i.e. ones you trade)? The strategy as I understand it being to optimise part of the data set, test it on unseen data and then go ‘live’ if you’re happy with the results without re-optimising.
 
Top