Automated Systems With 2-D Market Environment Filter
|November 2nd, 2011, 07:36 AM||#1 (permalink)|
Futures Experience: Advanced
Favorite Futures: Futures
Posts: 46 since Apr 2010
Thanks: 17 given, 88 received
Automated Systems With 2-D Market Environment Filter
This article is really for those of us who enjoy automated trading. I don't have an elite membership to access the automated forum, but some of you may find this of value. The code is written in EasyLanguage, but can be adapted to any language. The concept is what's important!
In this post I'm going to demonstrate a technique to help adapt your trading systems to the changing market conditions. By the end of this post we will have created a 2-dimensional market environment filter that will help make our trading system adapt to the changing market. Often I will use a 200-period moving average on a daily chart to determine the overall market is within a bull or bear trend. I often call this the market mode. A trading system would then use this information to trade differently. For example, you may wish to only take long trades during a bull mode. Or, maybe stop trading when the market moves into a bear mode. But we can take this concept further.
A market may be in a bull mode, but how strong is the trend? Is the market rising fast or is it range bound? We would like to know if the market is trending strong or not because we would like to trade them differently. It's clear a range bound market should be traded differently than a trending market. In general you may want to hold an open position longer if the trend is strong. By measuring the strength of the trend we can further divide the market to make our trading system more adaptive. By introducing trend strength we now create four distinct market environments that can be used to determine how an automated system trades.
Looking at the image below, each box represents a different market condition. The ideas is to adapt the rules of your trading system for each of the four market conditions.
THE BASELINE SYSTEM
For the by and sell signal I’m going to borrow what is known as the Cumulative RSI Strategy from the book, ”Short Term Trading Strategies That Work” by Larry Connors and Ceasar Alvarez. The system only goes long. There is no shorting. This strategy goes long the S&P 500 E-mini when the market experiences a pullback in a long-term uptrend. A long-term uptrend is defined by our familiar 200-day simple moving average. We will also be using a 2-period RSI to locate high probability entry points, but with a slight twist. Instead of a single calculation we will be computing a running daily total of the 2-period RSI. In this case, the total of the 2-period RSI for the past three days. We exit the trade when the 2-period RSI rises above 65 . The rules are:
* Price must be above its 200-day moving average
* Buy on close when cumulative RSI(2) of the past three days is below 45
* Exit when RSI(2) of the close of current day is above 65
This system is applied to a daily bar chart going back to 1997 with$ $26 deducted from each trade.
Looking at the chart the equity graph looks great up until the very end! That’s when the sudden market drop occurred this summer (2011). Remember, the strategy code has no stops. Overall, these rules do a fine job of trading the S&P E-mini.
Looking at the trading rules, you can see the Baseline System has a market mode filter (the 200-day SMA) to identify the overall bullishness or bearishness of the market. But we make no distinction between a strong trending bull market and weak trending bull market. If we are in a strong bullish market it makes sense to hold on to our trade in an attempt to capture a bigger move. On the other hand, if we are not in a strong trending market we may want to exit our long position rather quickly. Yet, our Baseline System always sells when a 2-period RSI rises above 65. The exit makes no adjustment for the trendiness of the market.
INTRODUCING TREND STRENGTH
Let’s use TSI to gage the trend strength of the market and define a strong trend as >= 1.5 and a weak trend as < 1.5. These are not optimized numbers. They are simply a generalization from experience. Now, let’s modify our exit parameter to hold longer during a strong trend. We’ll exit when a 5-period RSI rises above 65. By increasing the period of the RSI calculation we required price to move further from out entry before triggering our exit. This should allow us to hold our position longer and capture more profit during a strong trend.
Our new bull market exit rules look like…
If TSI >= 1.5 Exit when RSI(5) of the close of current day is above 65
Else Exit when RSI(2) of the close of current day is above 65.
By introducing a simple trend strength indicator and holding our long position a little longer when the trend is strong we generate more net profit and more profit per trade. We also reduce the number of trades. This is a good improvement and demonstrates we are on the right track by holding our position longer during a strong trend.
GOING LONG DURING A BEAR MARKET
What can we do during the bear mode? Bear markets tend to have very sharp, dramatic down days. These can often be followed by violent short-covering rallies. It makes sense that if we want to find a buying opportunity we must be a bit more choosy on our entry. We can accomplish this by requiring price to be VERY oversold by reducing the cumulative RSI(2) value to be below 20. I just basically took the default value of 45 and cut it in half. We’ll use the Baseline System’s exit rule to exit quickly since we are in a bear market.
Bear market entry rule…
Buy on close when cumulative RSI(2) of the past three days is below 25.
There you have it. A system that adapts to several different market conditions. I did not cover the non-trending side of the bear market, but you are certainly free to explore that. Likewise, you can expand this concept to create an automated system that actually changes its trading behavior based on which of the four market environments we defined. Maybe a mean reversion system vs a long term trend following system. You can also try different indicators for measuring trend strength of market mode.
You can download the strategy code for the final system here (text file).
If you are not familiar with the TSI indicator, you can learn about it and download the code here.