There are many ways to use indicators to help determine when the market is within a bull or bear mode. A common method that works well on trending markets over the long-term has been the so-called death cross and golden cross (Death/Golden Cross) indicator. This topic was discussed in a former article called,
The Death Cross – What You Need To Know. I encourage you to read the article which is based on backtesting the indicator on the S&P 500. Below are the rules used by the Death/Golden Cross to divide a market into a bullish or bearish mode.
Bull Market = 50-Period SMA > 200-Period SMA
Bear Market = 50-Period SMA < 200-Period SMA
In short, the Golden Cross has been a great signal for long-term market strength while the Death Cross often signals market weakness. Simply using the Death Cross as a signal to close all long positions within your retirement and brokerage accounts has historically saved your account from painful drawdowns. But can we improve upon this idea?
Within this article I’m going to build upon the Death/Golden Cross concept. I recently became inspired to write this article after reading “Defining The Bull And The Bear” by Chuck Dukas. Chuck developed a simple and interesting method to take the Death/Golden Cross to the next level. I’m going to reconstruct his concept using EasyLanguage programming code and backtest it to see how effective it is.
Within Chuck’s article, he uses a 200-period simple moving average (SMA) and 50-period SMA as the two primary indicators. These are the same indicators used by the Death/Golden Cross. However, where the Death/Golden Cross uses the crossing of these averages to generate their respective bull and bear signals, Chuck goes further by breaking up both the bear and bull markets into six different Phases.
- Recovery Phase
- Accumulation Phase
- Bull Phase
- Warning Phase
- Distribution Phase
- Bear Phase
These phases take into account the relative positions of both the daily closing price and the two moving averages. This finer granularity can be used as a guide to deploy your money in the markets.
Recovery Phase = 50-Period SMA < 200-Period SMA and Close < 200-Period SMA and Close > 50-Period SMA
Accumulation Phase = 50-Period SMA < 200-Period SMA and Close > 200-Period SMA and Close > 50-Period SMA
Bull Phase = 50-Period SMA > 200-Period SMA and Close > 200-Period SMA and Close > 50-Period SMA
Warning Phase = 50-Period SMA > 200-Period SMA and Close > 200-Period SMA and Close < 50-Period SMA
Distribution Phase = 50-Period SMA > 200-Period and SMA and Close < 200-Period SMA and Close < 50-Period SMA
Bear Phase = 50-Period SMA < 200-Period SMA and Close < 200-Period SMA and Close < 50-Period SMA
For a pictorial representation of some of these phase you can see the “Bull Phase” and “Warning Phase” listed below.
On the opposite end of the spectrum, below is an image of price action in “Bear Phase”, “Recovery Phase” and “Accumulation Phase.”
The original article goes into much more explanation behind each phase but let’s stick with the basics which are very quantifiable. These simple rules can now be programmed into an automated trading system and tested. This system will be called the Market Phase System. For our examples I’m going to be buying the S&P 500 cash index ($SPX.X) and deduct $30 per round trip for slippage and commissions. The system will be going long only and will scale into a position based upon the following rules:
Buy X shares when we advance from Recovery Phase into Accumulation Phase.
Buy X shares when we advance from Accumulation Phase to Bull Phase.
The number of shares will be adjusted based upon an ATR calculation and will risk no more than $2,000 per trade with an account size of $100,000. We will exit our entire position when we enter a Bear Phase. The exit rule is basically the same as the Death/Golden Cross. Also, the entry rules are similar. The only difference is with the Market Phase System we are scaling into our position while the Death/Golden Cross purchases all shares ($4000 risk per trade) when the signal occurs. In short, the Market Phase System allows us to scale into our position during the Accumulation Phase instead of waiting until we transition into a Bull Phase. So, how do these two systems compare?
Golden Cross vs Market Phase
Golden Cross | Market Phase | |
---|---|---|
Net Profit | $276,820 | $294,261 |
Profit Factor | 14.85 | 7.19 |
Total Trades | 25 | 63 |
%Winners | 80% | 57% |
Avg.Trade Net Profit | $11,072 | $4,670 |
Annual Rate of Return | 2.70% | 2.79% |
Sharpe Ratio | 0.1 | 0.08 |
Max Drawdown(Intraday) | $52,621 | $57,883 |
Expectancy | 2.77 | 1.21 |
Expectancy Score | 1.41 | 0.92 |
Since the inception of $SPX.X it has been difficult to beat following the Death/Golden Cross signals. The Market Phase System holds its own. It produces more than twice as many trades, but remember that’s also due to the fact it scales into the full position and TradeStation reports each entry as an individual trade. That’s why we have over twice as many trades. But the system does hold up well.
One tweak I would like to make to the Market Phase System is to substitute the closing price with a price proxy. As we know, the daily closing price of SPY can be rather choppy resulting in whipsaws. Let’s try to reduce some of these false signals and see if we can improve the system’s performance.
For our price proxy let’s take the exponential average of the last five days. But don’t use the closing price of SPY. Let’s take an average of the daily high, daily low and the closing price. With this method we are taking into account the size (range) of the daily bar. Here is the formula.
PriceProxy = Exponential Average ( (High+Low+Close)/3, 5 )
We will use the value of PriceProxy instead of the daily closing price in all our calculations. This is done to smooth out the short-term price noise. Below are the results.
Golden Cross Vs Market Phase
Golden Cross | Market Phase | With Price Porxy | |
---|---|---|---|
Net Profit | $276,820 | $294,261 | $290,415 |
Profit Factor | 14.85 | 7.19 | 7.83 |
Total Trades | 25 | 63 | 52 |
%Winners | 80% | 57% | 69% |
Avg. Trade Net Profit | $11,072 | $4,670 | $5,585 |
Annual Rate of Return | 2.70% | 2.79% | 2.77% |
Sharpe Ratio | 0.1 | 0.08 | 0.07 |
Max Drawdown (Intraday) | $52,621 | $57,883 | $63,396 |
Expectancy | 2.77 | 1.21 | 1.94 |
Expectancy Score | 1.41 | 0.92 | 0.84 |
The price proxy does what is should do – reduce the number of trades, increase the percent winners and increased the average profit per trade. This was accomplished by reducing whipsaw trades. This results in slightly less overall net profit but generates a better profit factor. So our reducing the number of losing trades comes at a cost.
Keep in mind the number of shares traded between the two systems is not identical. Trades are entered at different times based upon volatility and price so, the number of shares traded will not be identical. Does the scale-in technique of the Market Phase system perform better than our Death/Golden Cross system? It’s a close call. Both systems are very similar, which is expected since both systems produce similar trading signals.
However, we enter the trade earlier with the Market Phase system which is why it produces slightly more profit. It also has more losing trades. Again, this is due to the fact we are scaling into the position. Clearly the Market Phase with the price proxy does not add much value. It all comes down to what you are looking for. For me, the Market Phase does not add enough value. I like to keep things simple and it does not get much simpler than the Golden Cross. Both the Market Phase system and the Golden Cross system are long term trend following systems. They do OK on SPY because it’s such a broad based index. However, they don’t fair so well on major stock index ETFs such as NASDAQ, DIA or IWM. They also perform poorly when trading individual stocks.
So, what else can we use these systems on? Commodity ETFs appear to be the best bet since they tend to have smoother trending characteristics which trend following systems can take advantage of. Note, many times a lot of cash is left on the table as we wait for the Bear Phase to close our long positions. Trading this type of system, which is typical for a long-term trend following system, one must have a lot of psychological strength to sit and watch profits evaporate while waiting for your exit signal. This is mentally difficult to do! This also makes me wonder if scaling out of the trades may work better to capture more profit.
In closing, both of these systems are not trade able systems as they stand. For example, they do not utilize protective stops! However, it appears they could provide a basis for a complete system with some modification. Another idea would be to use the Market Phase as a regime filter.
Jeff,
When compiling code TS write: _CE_Normalize_Units_vs_Volatility is unknown identifier. Where is problem?
Thank’s
Did you download the strategy ELD? The “_CE_Normalize_Units_vs_Volatility” is a function that should be contained within the ELD.
Trying to run this on some other symbols and shorter time frames.Symbol UPRO and futures @ESu14.I get a Macro Error..
I got it.Trying to optimize the parameters for shorter timeframes.Any thoughts?
I would not be so quick to use the Market Phase as a possible system on lower timeframes. Lower timeframes contain more noise and are difficult to trade just using moving averages. However, using the Market Phase or the Golden Cross as a regime filter (daily chart) to filter for trades on lower timeframes would probably be more beneficial.
This should work on any symbol but I’ve not tested it on smaller timeframes. It is designed for the daily timeframe.
I have a double criticism about all of your systems:
1) they don’t include any commission/slippage fee
2) they are generally based on daily bars, which produces very few trades (very often less than 100).
I understand that your goal is not to provide fully working systems, but both these issues are a strong “minus” against statistical reliability.
Thanks for writing. 1) Slippage and commissions are included as stated in the article. 2) I disagree. I think there is a lot of validity in both the golden cross and the market phase indicators. 50+ samples since 1973 is good-enough for me to draw some general conclusions on the market. That is, price above a 200-day SMA tend to show strength into the future. Prices below a 200-day SMA tend to show weakness or choppiness. Furthermore as you pointed out, the Market Phase strategy code provided is not a trading system, but could be used to help define various regimes and thus, act as a filter. As such, these filters have worked well for me in real world application and have helps other system traders in real world application.
I agree with G on one aspect.I think some of us would like to see some of these run on smaller time frames.Not necessarily a one minute chart but something besides a dialy chart.Your work is greatly appreciated
Thanks for the input Rob. I’ll be keeping this in mind!
thx you sir
Hi Jeff,
How can subscribe to your posts? I can’t find the entry.
Hello and thanks for writing. I just added a simple sign-up form at the bottom of every article. Put in your name and email and you’ll get notified when a new article is published.
Hi Jeff,
I can’t see the sign-up form except the reply form. Can you check?
Here is a snap shot of my screen with the sign-up form circled in red. Does this help?
Hi Jeff,
Thanks for the screenshot. I still can’t see the form, most likely our network blocked some JavaScript code (I’m in China)…
No problem. Can you do me a favor to sign up for me?
Name: wqking
email: wqking outlook.com (you may know where to add AT).
Thanks
Jeff, whenever I load the strategy on the daily chart tradestation crashes. Any ideas?
Hey Rick. Sorry about that. I’ll need more information to provide any help. I just made a minor change to the code which might be causing a problem. Download the ELD file again and give it a try.
Hi Jeff,
What timeframe are you using for backtest. Trying to repo results but Tradestation only goes back 26 years and my results are less. Net at 177K. I used the TXT file.
I was using daily data of the S&P cash index.