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:
Hi sidinuk,

thanks for the great article. Looking at the spreadsheet there are some things that don't seem to make sense to me though. For example in ES, from 11.02.05 till 17.02.05 it doesn't show any trades yet the ATR filter didn't apply if I'm not mistaken (unless I am using completely different data) :D
 
Samurai, thanks for your comments. If there is no trade shown on a particular day it means that a trade was not triggered - i.e. the high or low from the opening 135 minutes were not exceeded.
 
I will now update the following page everyday to show the results of the trading system the previous day for the 5 index futures and whether or not the filters apply for the day ahead.

Daily System Results Page
 
That Thursday rule would have cost you again...

I took a nice 42 points today using my modified version. Still nothing like Yesterday :)

JonnyT
 
Well the system is there to be customised - are you going to share your improvements with us?
 
Despite missing out on Thursday the system still produced 2 winners out of 2 for the Dow last week providing 152 points profit. In fact across the 5 tested contracts the system produced 10 winners out of 10 trades for a total profit of $3,452.50 before commission.
 
Excellent article, Sidinuk, and even more welcome as it outlines a system that actually works - I've made 279 YM points on it (with very slight mods) since mid January.

I owe you a few beers!!!

A suggestion/query:

Have you looked at using the opening range as a filter for the trade? It seems likely that a breakout from a 35 pt opening range is more likely to succeed (or be larger??) than one from a 70 pt range.

As a smaller range reduces the potential loss to the stop would there be any merit in using the opening range as part of a Money Mangement strategy - reducing the number of contracts traded as the range increases?

Thanks again for your help.
 
MGBRoadster, I'm glad you like the article and have made your own profitable modifications.

The opening range filter certainly seems reasonable - I'll have a look when I get time.
 
Update!

Trading update for this free trading system.

The Russell2000 and S&P Midcap400 continue to be the star performers using this system - even better than the Dow Jones on which the system was originally developed!

Anyway, last week the Russell2000 had 2 winning trades out of 4 for a profit of $150/contract and the S&Pmidcap400 scored 4 winners out of 4 for a profit of $470/contract. Unfortunately, YM, ES and NQ lost $467.50 between them so we had a small profit of $152.50 overall.


Profit/contract before commission so far this year (after publication of the system):

S&Pmidcap400(EMD) - $2,050
Russell2000(ER2) - $1,640
Dow Jones(YM) - $960
S&P500(ES) - $950
Nasdaq100(NQ) - $(820) - Boo!

Total profit per contract $4,780
 
Nice.
sidinuk, I have a couple of questions.
I back-tested this on 500days of data in each of the markets using $2.99 bro and $10 slippage. It seems that ES is a dog and is actually losing money over this period. All the others return good equity curves. Have you considered chopping ES out of the group or do you get different results?
Are you trading these all together? If so do you think that this is all eggs in one basket or diversified?
Do you ever have opposing signals in any of the group on the same day?
 
twalker, your right it would be better to chop ES (and NQ for that matter) out of the test results. However, I include them because they are the two most popular index futures. If volatility ever returns to these markets then they will start to become profitable!

Obviously all 5 contracts are very much related, but we do see quite different results for each of them. If one market just triggers an order and reverses then it is likely that the other markets didn't enter the trade at all. Equally, if the general market makes a strong move then all 5 will get triggered. I suppose it is the same as scaling into a position rather than all or nothing.

For full diversification you need to trade different instruments (such as currencies, bonds) and different timeframes. The is just one system designed to daytrade index futures.
 
Cheers, I like the scaling idea, wonder if this could be expanded upon by using different time frames or possibly starting to look at price spreads between the different indices to make decisions about which to include on a daily basis and in what volume.
Thanks for sharing your knowledge.
 
Week ending 24 March 2005.

Last week the system had a very poor week! On Tuesday we were long on most of the contracts (except NQ) prior to the Fed announcement so when the market turned south they were all stopped out for losers. The system only allows one trade per day so we were unable to take a short trade when we were stopped and missed what would have been a good profit on the second trade. During our backtest we found that overall taking a second trade is not a beneficial thing to do - however, sometimes we will miss some great moves like this.

NQ made a small profit last week of $90 but that was wiped out by losses of $340 on YM, $237.50 on ES, $530 on EMD and $570 on ER2. Our previous star performers (EMD and ER2) cost us the most last week - are they losing their appeal?

Check the daily results this week to see if we can recover!
 
Does anyone else find that slippage is the largest problem on the midcap? Or is my brokers' (global futures) connection just rubbish?

David
 
Hi to all.This is my first post and i'm pleased to read so much valuable information.
I like this thread in particular because i'm a struggling trader looking for a decent trading system to restart trading after 6 years! I recently downloaded the Excel control sheet and saw it was updated only until 13 /2.
Could someone post the complete Control Sheet with every H/L,triggered trade and profit /Loss until today?Thanks for your cooperation
 
Hi, this system looks interesting. Could anyone do backtesting more to history ? At least from year 2000 or so ?
Where can i get code for this system ?
Id like to see backtested results of this system for more markets like ZB, EUR, AUD, CAD, USD, GBP, CHF. Is it possible ?

thank you very much
spajk
 
Last edited:
Top