Quantcast
Channel: System Trader Success
Viewing all articles
Browse latest Browse all 323

Rotational Trading: A Simple And Powerful Concept

$
0
0

This time I want to cover a topic that hasn’t been covered here before: rotational trading.  First I’ll give you some background as to why you should look into rotational trading and later I will introduce a simple yet powerful rotational system.

The basic idea behind rotational trading is simple: you rank a list of stocks or ETFs by any kind of measure.  Then you decide to buy or sell the worst or best number of stocks from this list. You can do this as soon as new stocks come in/go out of the top/worst five holdings or on a predefined schedule, e.g. every week or month.

Here are some of the reasons why you should look into rotational trading:

  • Diversification:  there are times when certain strategies work better than others. One shouldn’t put all his eggs into one basket. So besides of swing or mean-reversion trading this can be an interesting alternative.
  • Buy into strength:  Do you remember the time from mid-February to mid-April of this year? Two months with almost no setback. Rather difficult times for swing trading. Rotational trading systems usually buy into strength; hence those do well under these conditions.
  • No dependency on market timing: We are so focused on finding the best entry or the best exit. Rotational trading systems are less sensitive to finding THE best entry. You ride the best stocks as long as they are among the best stocks, then you change horses and go again.
  • Simple in execution: If switching among the stocks or ETFs isn’t done too often, trading execution can be quite relaxing compared to some other strategies.  Furthermore trading cost is less of a burden, at least for infrequent rotation models.
  • Easy to develop. With the right trading software this can be a rather easy task. This might not be an issue for many of you, but there are certainly people who aren’t sophisticated software developers.  One of the reasons why I switched from my former software (Tradesignal) to Amibroker is its ability to setup these models very easy AND fast (with a few couple of lines only).

We need to answer a few questions upfront:

  •  What do we want to trade and why? I like to trade NASDAQ100 stocks for this purpose, because the top or worst performers usually show a strong trend in either direction. Just think of Apple, Bidu and co.
  • How many stocks do we want to trade? I choose 5 to 10 top stocks to trade. If you got to many then you might enter stocks that might not make it to the top.
  • Direction of the trade:  I use rotational trading for long only trades. Upwards trends are slower (=longer) in development compared to fast and sharp downwards trends. Hence upwards moves are easier to catch.
  • How to rank stocks?  Having a good way to rank stocks in order to decide what’s weak and what’s strong is critical for the success of a rotational system.  Using a short-term indicator such RSI(2) to measure strength isn’t a good idea, as on the short-term many stocks tend to mean-revert. Hence the system would enter into strength and leave on weakness (as RSI(2) ranking drops). So you need a method that looks beyond the short-term trend and is able to measure true trend strength.
  • Now we will look into the details of the system as outlined above. Let me clearly state that I don’t trade the system as outlined below. However I use the same concept and similar ingredients.  I suggest you use the system as a starting point for your own research.

In case your current trading platform doesn’t offer rotational trading capabilities then you should definitely look into Amibroker. It’s only $199.  I’m not associated with AmiBroker, but I think it offers great BANG for the BUG.

Ranking

One of the basic principles of rotational trading: you ride the best stocks as long as they are among the best stocks, then you change horses and go again. For this to happen I want to find the strongest trending stocks as they promise to continue to go for some time. My preferred way of measuring trend strength is TSI. So I rank the stocks according to their TSI value (highest TSI value at the top).

Let me give you some background on how I conducted the test.

  •  I looked at today’s Nasdaq 100 stocks.
  • First year of trading is 2001.
  • I don’t want the “bubble” times to be included in my test results.
  • No commission.
  • I take the top 5 stocks and assign 20% of equity.

Already the result is pretty good given the fact that the principle is extremely simple and sound. About 32% CAGR, high Avg% winning trade as well as almost 55% winners.

However the system has an issue: almost 60% MaxDD (= max. draw down). Emotionally that will be VERY hard to trade! What you don’t see; one of the most profitable times of the system is right AFTER this severe draw down. I’m not sure I could trade this! So either you hedge, e.g. by shorting the index, or you add a timing component to your rotational system. I do both, depending on the state of the market.

Avoiding severe draw downs

But let’s look into adding a timing component to the system.  I only trade the system at times where the index is either above the 200 MA or 30 MA. Usually these severe drawdowns happen below the 200 MA average and the second 30 MA average will help me to get in when the recovery happens. So this small change will improve the performance significantly while making it a lot easier to trade. I know this is partially against the philosophy of rotational trading (=be always in the market and avoid market timing), so you need to figure out your own risk tolerance level.

Frequency of trades

Currently the system produces 585 trades in about 10 years. It’s not a lot. So trading cost shouldn’t be an issue.  From a convenience as well as emotional point of view the system can be further improved. TSI isn’t a rapidly changing indicator, but out of the 585 trades there are about 120 trades with a duration of 2 bars only. That indicates that the ranking changes to frequently and therefore produces these avoidable trades. I therefore suggest you execute the trades only once a week. So pick a day of the week that’s most convenient for you. I picked Tuesday for this test, however all other weekdays produce similar good results.

As you see, the performance metrics stay about the same while the number of trades has been significantly reduced.

Summary

The system presented has a decent performance of 37% per year while it’s emotionally possible to trade. It gives you a good starting point for your own rotational system. However, more important than the system I presented is the fact that you should look into diversifying your trading strategies because of the reasons I outlined at the beginning of this article.

AFL Code

SetCustomBacktestProc(“formulas\\include\\cbt_midlevel.afl”,True);
SetOption(“CommissionAmount”,0.0);
SetOption(“MaxOpenshort”,0);
SetOption(“MaxOpenLong”,5);
SetOption(“MaxOpenPositions”,5);
SetPositionSize( 20, spsPercentOfEquity);
SetTradeDelays(0,0,0,0);
SetBacktestMode(backtestRotational);
EnableRotationalTrading() ;
idx           = Foreign(“QQQQ”,”Close”);
score         = TSI();
Score         = IIf(idx>MA(idx,200) OR idx>MA(idx,30),score,0);
PositionScore = IIf(Year()>=2001 AND DayOfWeek()==2,score,scoreNoRotate);

 

– by Frank Hassler from Engineering Returns.

 


Viewing all articles
Browse latest Browse all 323

Trending Articles