# Rotational Trading Systems



## Gringotts Bank (30 October 2013)

Looking for info on how to do a rotational trading system with blue chips or ETFs.

Thanks.


----------



## So_Cynical (30 October 2013)

Rotational as in rotating capital between 2 or 3 stocks/ETF's


----------



## sinner (30 October 2013)

http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1585517


Relative Strength Strategies for Investing

Mebane T. Faber

Cambria Investment Management

April 1, 2010

Abstract:     
The purpose of this paper is to present simple quantitative methods that improve risk-adjusted returns for investing in US equity sectors and global asset class portfolios. A relative strength model is tested on the French-Fama US equity sector data back to the 1920s that results in increased absolute returns with equity-like risk. The relative strength portfolios outperform the buy and hold benchmark in approximately 70% of all years and returns are persistent across time. The addition of a trend-following parameter to dynamically hedge the portfolio decreases both volatility and drawdown. The relative strength model is then tested across a portfolio of global asset classes with supporting results.


----------



## tech/a (30 October 2013)

Simply put

Trade the best trending stocks say 5 
When another stock outperforms one 
In the group change from the old to the new.

Rince and repeat.


----------



## Gringotts Bank (31 October 2013)

Thanks all for the input.


----------



## minwa (5 November 2013)

IVE, QQQ, SPY, MDY, IJS, IJT and IWM

Choose to buy and hold the 2 (only 2 of the small list below) that have the highest
current annual performance. We will check that annual performance at the
beginning of each month.

If there is a change we will sell the ETF that leaves the top 2 and buy the ETF that
enters the top 2. Some months nothing changes, some months only one changes out
and some months both change out.

Percentage Returns
Year ETF Strategy vs S & P 500 Index
1998 41.80 vs 26.67
1999 61.73 vs 19.53
2000 -2.25 vs -10.14
2001 -3.09 vs -13.04
2002 -14.09 vs -23.37
2003 43.43 vs 26.38
2004 12.08 vs 8.99
2005 -1.89 vs 3.00
2006 13.28 vs 13.62
2007 6.77 vs 3.53
2008 -41.00 vs -38.49
2009 21.29 vs 23.45
2010 16.97 vs 12.78
2011 7.97 vs 5.94 (through 4/01/2011)

Average return 9.14 vs 2.42

Average 10 trades per year and average holding time of 70 days.


----------



## xxx (23 October 2016)

minwa said:


> IVE, QQQ, SPY, MDY, IJS, IJT and IWM
> 
> Choose to buy and hold the 2 (only 2 of the small list below) that have the highest
> current annual performance. We will check that annual performance at the
> ...





Hi,
I'm working at the same program.

But I would like to buy not each month the 5 best ones. I would like to buy every third month the 5 best ones.
Could you help me with this? 

I tried to do it like my code but it does not work.

this is my code - could you reread it?
I would be very happy about help.

_SECTION_BEGIN("TTTT");


SetTradeDelays (0,0,0,0);

SetBacktestMode(backtestRotational);

SetOption("UsePrevBarEquityForPosSizing", True); // use previous bar opening equity to perform position sizing
SetOption("MinShares", 1); // minimum number of shares required to open the position in the backtester
SetOption("AllowPositionShrinking", True);
SetOption("AccountMargin",100); // Gewinnmarge 100 = keine Begrenzung

MaxOpenPositions = 5;
SetOption("WorstRankHeld", MaxOpenPositions ); // worst rank of symbol to be held in trading mode
SetOption("MaxOpenPositions", MaxOpenPositions);
SetOption("SeparateLongShortRank", True );
SetOption("MaxOpenLong", 5); // 5 beste Aktien raussuchen
SetOption("MaxOpenPositions",5);

newMonth = Month() != Ref(Month(), -1);


Nmonths = 3;

rotate = newMonth AND Cum(newmonth) % Nmonths==0;

perf = TimeFrameGetPrice("O", inMonthly, -1); // get monthly Open price 1 month ago
perf1 = TimeFrameGetPrice("O", inMonthly, -2); // get monthly Open price 2 month ago


score= 100*((perf- perf1)/perf1) + 100;

PositionSize = -100/MaxOpenPositions;

PositionScore = IIf(rotate,PositionScore,scoreNoRotate);
// scoreNoRotate = already open trades should be kept and no new trades entered


----------

