Joe,
I have created a
watch list of the !ID001 thru !ID0150. I then use a Ranking AFL against the
watch list each weekend after the new indexes have been downloaded. This
ranks the indexes, I then take a closer look at the stocks within the top 5
Industries. I have included the AFL below for you to look
at.
--------------------------------Begin
Code----------------------------------
/*
Simple Sector Rotation
Model
bmitchell@xxxxxxcom
This is a simple method for determining
the strongest sectors at any given time. Use daily
mode for intermediate term, and weekly
for longer term. The basis of it is Daryl Guppy's
Multiple Moving Averages (MMA) plot.
Here, I separate the moving averages into short term
and long term averages, and give a point
for each moving average above all the long term
averages.
I do this for every symbol in the watch
list except the index being scanned, then I generally
sort the results based on the RS
reading. To use this, you need to create a watch list
of
symbols, and set WatchlistNum
appropriately. Also, you want to define a filter so that you
only
scan this
watchlist.
This is intended only for sector
rotation, and probably would not be terribly useful as a
trading
system in and of itself. I use TC2000's
MG* sector indexes personally.
*/
WL=Param("Watch List #",2,0,100,1); //Here is where I set the watch list I
am ranking. This must also be choosen in AA filter.
EnableRotationalTrading();
SetOption("WorstRankHeld", 5);
PositionSize = -100;
PositionScore = 0;
WatchlistNum = WL;// Choose the Watch List to
Rank
Filter=1;
NumColumns=0;
function CalculatePosition(st, Lt1, Lt2,
Lt3, Lt4, Lt5, Lt6)
{
score=0;
if(st > Lt1)
score++;
if(st > Lt2)
score++;
if(st > Lt3)
score++;
if(st > Lt4)
score++;
if(st > Lt5)
score++;
if(st > Lt6)
score++;
return score;
}
// walk through the watchlist grabbing
all the symbols to calculate RS vs ourself.
List = CategoryGetSymbols(categoryWatchlist,
WatchlistNum);
for(i=0; (sym = StrExtract(List, i)) != "";i++)
{
if(sym != Name())
{
f = RelStrength(sym);
st3 = EMA(f, 3);
st5 = EMA(f, 5);
st8 = EMA(f, 8);
st12 = EMA(f, 12);
st15 = EMA(f, 15);
Lt30 = EMA(f, 30);
Lt35 = EMA(f, 35);
Lt40 = EMA(f, 40);
Lt45 = EMA(f, 45);
Lt50 = EMA(f, 50);
Lt60 = EMA(f, 60);
z=BarCount - 1;
// uncomment the following if you want
to do some backtesting or if you like waiting around
// a long time for the exploration to
complete
//for(z=0;z <
BarCount;z++)
{
PositionScore[z] = PositionScore[z] +
CalculatePosition(st3[z], Lt30[z], Lt35[z], Lt40[z], Lt45[z], Lt50[z],
Lt60[z]);
PositionScore[z] = PositionScore[z] +
CalculatePosition(st5[z], Lt30[z], Lt35[z], Lt40[z], Lt45[z], Lt50[z],
Lt60[z]);
PositionScore[z] = PositionScore[z] +
CalculatePosition(st8[z], Lt30[z], Lt35[z], Lt40[z], Lt45[z], Lt50[z],
Lt60[z]);
PositionScore[z] = PositionScore[z] +
CalculatePosition(st12[z], Lt30[z], Lt35[z], Lt40[z], Lt45[z], Lt50[z],
Lt60[z]);
PositionScore[z] = PositionScore[z] +
CalculatePosition(st15[z], Lt30[z], Lt35[z], Lt40[z], Lt45[z], Lt50[z],
Lt60[z]);
}
}
}
IY=Foreign("!TYX", "Close");
EPS=GetFnData("EPS");
VVValue=(100*(EPS/IY));
AddTextColumn(FullName(), "Name",1.0,colorBlack,colorWhite,200);
AddColumn(Close,"Close",1.2);
AddColumn(VVValue,"Intrinsic Value", 1.2, colorBlack,colorLightYellow, 100);
AddColumn(PositionScore[BarCount - 1], "Rank Score");
AddTextColumn( IndustryID( 1 ), "
Industry name" );
AddTextColumn( SectorID( 1 ), "
Sector name" );
SetSortColumns(-6,-5);
----------------------------------End
Code
--------------------------------------
From:
amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com] On Behalf Of Joe Landry
Sent: Sunday, August 05, 2007 3:38
AM
To:
amibroker@xxxxxxxxxps.com
Subject: Re: [AmiBroker] Quotes Plus
Industry groups - RE: GROUP ROTATIONS
Don, I don't understand exactly what you
mean. I know QP updates the !ID001 thru
!ID0150
on a weekly basis. How do you use
this to determine group rotation? Relative strength of
each
index !ID001 or is there
another function that I'm overlooking.
Regards
----- Original Message -----
Sent:
Saturday, August 04, 2007 8:43 PM
Subject: RE:
[AmiBroker] Quotes Plus Industry groups
Allan,
QP will
automatically assign sectors and industries as well as showing all the
members of all of the groups. In addition each Saturday QP downloads
the group rotations, which I find very useful. As far as setting up
ATC, since I don?t know what you were doing I can?t help you on changing it.
Little more info, and we?ll see what we can
do.
From:
amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com] On Behalf Of matrix10014
Sent: Saturday, August 04, 2007 6:31
PM
To:
amibroker@xxxxxxxxxps.com
Subject: [amibroker] Quotes Plus
Industry groups
Hi
all,
I am giving Amibroker another shot after having difficulties setting
up my database in a sector/group/stock format...This time around,I
plan on keeping it much simpler..
If i am not mistaken Quotes
Plus has decreased the number of industry
groups fromm 200 to 150 since
the last time I ran ATC and Ami.In my
group 253,I have apx 200
groups.What should I do to set up the group
structure in Ami to mirror
the 150 group structure in Quotes Plus??
Any and all help
appreciated
Allan