PureBytes Links
Trading Reference Links
|
Steve,
I would be very much interested! While I can't say that Sector
rotation is the silver bullet, I'm seeing a pretty good correlation
between Sector and Industry rotation, and individual stock prices.
Many thanks,
Dan.
--- In amibroker@xxxxxxxxxxxxxxx, "Steve Dugas" <sjdugas@xxxx> wrote:
> Hi Dan,
>
> There was a guy, Jayson Casavant, who posted a lot of his work on
sector
> rotation and analysis here a couple of years ago ( Anyone know
where Jayson
> went? He was very helpful here! ). I still haven't found the time
to study
> it in depth, but I remember that it looked pretty good and I know
that I
> saved all these posts. He was using TC2K or QP2 or both, if I
remember
> right. If you are interested, I will look through my saved posts
and forward
> this stuff to you - just let me know. Or, you could search the
archives for
> posts by him related to sector rotation/analysis. I think it is
the type of
> stuff that you are interested in doing.
>
> Steve
>
> ----- Original Message -----
> From: "danclark_public" <dan_public@xxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Thursday, July 14, 2005 1:59 PM
> Subject: [amibroker] Re: Question on RS, possibly for Tomasz
>
>
> Jason,
>
> This is VERY interesting. I'm working thorough your code now and
> will comment more this evening (I'm US PDT).
>
> Regarding the first set of array variables...
>
> One thing I did notice is that your "aa" and "ab" varibles are
based
> on the "MA(ROC...". I.e., the "a." variables.
>
> For example, here are the first instances of the "a" and "aa"
> variables:
>
> a = MA(ROC(C,5),5);
> aa = Ref(MA(ROC(C,5),5),-5);
>
> I believe that you can change the code to:
>
> a = MA(ROC(C, 5), 5);
> aa = Ref(a , -5);
>
> Besides being a bit simpler (I like simple), I think it will run a
> bit faster because the "a..." array variables have already been
> set. It doesn't need to recalculate "MA(ROC...".
>
> I made the change in the code and got the same output. What do you
> think?
>
>
> Some thoughts on using the results...
>
> One of the things that I'm thinking about is to categorize Sectors
> and Industries with this code. The categories might be:
>
> Strong
> Strong getting weaker
> Weak
> Weak getting stronger
>
> Then, based on the categorization, copy the sector and industry
> symbols into Watchlists with the same names. Since stock symbols
> are mapped to industry and sector symbols, they can be used in
stock
> scans and run fast.
>
> For example, find stocks where:
>
> 1) long term price trend is UP, and
> 2) short term price trend is DOWN, and
> 3) money flow indicators (OBV, A/D, Twiggs, etc.) are UP, and
> 4) stock's Industry is in the "Weak getting stronger" Watchlist,
and
> 5) stock's Sector is in the "Weak getting stronger" Watchlist.
>
> I think the logic wouldn't be boolean, but a weighting structure
> like you have. E.g., maybe give it 10 points for each of the
> criteria it meets. There are obviously lot's of variations, but in
> general, more points = better potential.
>
> What do you think?
>
> Regards,
>
> Dan.
>
> --- In amibroker@xxxxxxxxxxxxxxx, Jason Hart <jayhart_1972@xxxx>
> wrote:
> >
> > Dan,
> >
> > The full code is listed below. This is a "dashboard" so to speak
> of what the different sectors are doing, a top down look. I'm more
> of a top down investor vs bottom up so this fits my style better.
> What I typically do is run it against an ETF watchlist of about 150
> different ETFs and then I'll also run it against a WL that has 450
> of my favorite mutual funds.
> >
> > This is more of a rotational trading tool. I don't use this
> exploration with individual stocks, I think it is more useful for
> ETFs and funds. What I'll try to do with this code is to invest in
> 3-5 ETFs/Funds that are in the top 25% in terms of strength.
> However, if you want more octane and less diversification, you can
> also see which sector funds/ETFs are the strongest and buy the
> individual stocks that these funds hold.
> >
> > The code is still a work in progress but I'll explain what some
of
> the outputs are. The first column "TotalB" is derived from
> differing ROC periods and where the ETF is trading relative to
> different MAs. If it is trading above MAs it gets more points and
> vice versa. I was comparing it to other indicators and it is very
> similar to Martin Pring's "KST" indicator.
> >
> > RSC is similar to TotalB but it incorporates some other momentum
> components into the ranking. I'm still working on this one
> >
> > "B -10" is what the TotalB was 10 days ago and the "difference"
> column is the difference between the two columns. What I look for
> in the difference column is maybe some bottom feeding opportunities
> where there is a big swing in the score of an ETF that has been
> struggling. I haven't looked into how effective this is in great
> detail. A current example is the BHH ETF but I'm not to keen on
the
> sector.
> >
> > Then the RS columns list current RS, RS 10 days ago and RS 20
days
> ago. If the RS is greater than the previous n periods it is green
> and if the RS is lower then it is RED.
> >
> > "ST SD" is a shorter term measure of standard deviation and then
> the "hist SD" is the short term less the historical StDev. Thus,
if
> you get a negative value in the "hist SD" column then the security
> is trading at a lower volatility level relative to its historical
> average. I like these two columns b/c they can help determine your
> asset weightings. Say you have two investment candidates: security
> one with a SD over 30 and the second at a SD of 15.....then you can
> weight your decisions based on how much octane you want. If you
> want less octane you could do a 75% / 25% security2 / security 1
> weighting. Or if you want more octane have a greater weighting in
> security 1 with the 30 SD.
> >
> > The ROC columns are for visual purposes and can help you quickly
> determine how strong a stock is. If all three ROC columns are
green
> then the security is strong. What I do here is look at the shorter
> term ROC. Say the longer term ROCs are green but the shorter term
> ROC is yellow or Red then that could be an indication that the
> current trend is weakening or there is a change in trend altogether
> on the horizon.....then the opposite is true. If LT ROCs are red
> but the ST ROC is yellow or green then it is showing ST strength
and
> it could be reversing.
> >
> > YTD, 30D%, 10d%, etc are the % change for those periods
> >
> > SPX and Nasdaq columns are the securities correlation to the S&P
> 500 and Nasdaq composite
> >
> > Finally EMA 170 & 50: shows if the security is rising relative
to
> its 170 and 50 day MAs. If it is 1 then it is rising, if it is 0
> then the stock is falling relative to these MAs.
> >
> > I think I got it all covered. Like I said this is still a work
in
> progress and would appreciate any feedback. The first few columns
> of the exploration are all relatively the same. What I would like
> to do is incorporate some sort of ranking in this scan the uses a
> combination of the three outputs. I haven't figured out the
ranking
> part yet. I saw the "osaka plug in / ranking" posts from last week
> but I haven't had time to work with them yet.
> >
> > Jason
> >
> > _______________________________
> >
> > //Filter=Cross(PDI(14),MDI(14)) AND StochD(14) < 50;
> >
> > Filter = C > 0;
> >
> > a= MA(ROC(C,5),5);
> >
> > a1 = MA(ROC(C,10),5);
> >
> > a2= MA(ROC(C,20),5);
> >
> > a3=MA(ROC(C,50),5);
> >
> > a4=MA(ROC(C,100),5);
> >
> > a5 = MA(ROC(C,200),5);
> >
> > aa = Ref(MA(ROC(C,5),5),-5);
> >
> > aa1 = Ref(MA(ROC(C,10),5),-5);
> >
> > aa2 = Ref(MA(ROC(C,20),5),-5);
> >
> > aa3 = Ref(MA(ROC(C,50),5),-5);
> >
> > aa4 = Ref(MA(ROC(C,100),5),-5);
> >
> > aa5 = Ref(MA(ROC(C,200),5),-5);
> >
> > ab = Ref(MA(ROC(C,5),5),-10);
> >
> > ab1 = Ref(MA(ROC(C,10),5),-10);
> >
> > ab2 = Ref(MA(ROC(C,20),5),-10);
> >
> > ab3 = Ref(MA(ROC(C,50),5),-10);
> >
> > ab4 = Ref(MA(ROC(C,100),5),-10);
> >
> > ab5= Ref(MA(ROC(C,200),5),-10);
> >
> >
> >
> > x0 = (a+aa+ab)*.35;
> >
> > x1 = (a1+aa1+ab1)*.65;
> >
> > x2 = (a2+aa2+ab2)*(1.65);
> >
> > x3 = (a3+aa3+ab3)*(1.75);
> >
> > x4 = (a4+aa4+ab4)*(1.5);
> >
> > x5 = (a5+aa5+ab5)*(.65);
> >
> > b = (C - MA(C,20))/C;
> >
> > b1 = (C-MA(C,50))/C;
> >
> > b2 = (C-MA(C,100))/C;
> >
> > b3 = (C-MA(C,200))/C;
> >
> > bb = (b*1.7)*100;
> >
> > bb1 = (b1*2.0)*100;
> >
> > bb2 = (b2*1.2)*100;
> >
> > bb3 = (b3*(1.2))*100;
> >
> > z = x0+x1+x2+x3+x4+x5+bb+bb1+bb2+bb3;
> >
> > b = 1041231;
> >
> > a=DateNum()==b;
> >
> > i=ValueWhen(a,C);
> >
> > ii = ((C-i)/i)*100;
> >
> > week = ((C - Ref(C,-5))/ Ref(C,-5))*100;
> >
> > Mth = ((C- Ref(C,-30))/Ref(C,-30))*100;
> >
> > tenday = ((C - Ref(C,-10))/Ref(C,-10))*100;
> >
> > Oneday = ((C - Ref(C,-1))/Ref(C,-1))*100;
> >
> > j = Foreign("!spx", "c");
> >
> > j1 = RelStrength("!spx");
> >
> > j2 = RelStrength("!spx")/Ref(j1,-20);
> >
> > j3 = RelStrength("!spx")/Ref(j1,-30);
> >
> > j4 = RelStrength("!spx")/Ref(j1,-50);
> >
> > j5 = RelStrength("!spx")/Ref(j1,-100);
> >
> > j6 = RelStrength("!spx")/Ref(j1,-120);
> >
> > j7 = RelStrength("!spx")/Ref(j1,-150);
> >
> > j8 = RelStrength("!spx")/Ref(j1,-200);
> >
> > mamPeriod = 13;
> >
> > mam = 100*(Close/MA(Close, (2*mamPeriod) +1) -1);
> >
> > mom= MA(MAm,5)*100;
> >
> > vol1 = StDev(log(C/Ref(C,-1)),720) * sqrt(260)*100;
> >
> > vol2 = StDev(log(C/Ref(C,-1)),20) * sqrt(260)*100;
> >
> > vol3 = StDev(log(C/Ref(C,-1)),50) * sqrt(260)*100;
> >
> > vol4 = StDev(log(C/Ref(C,-1)),90) * sqrt(260)*100;
> >
> > Vol5 = (Vol2 + Vol3+ Vol4)/3;
> >
> > Vol6 = Vol5-Vol1;
> >
> > Final = (j2*1) + (j3*1.2) + (j4*1.3)+(j5*1.4) + (j6*1.5) +
> (j7*1.7) + (j8*1.7);
> >
> > Combined = (.50*final)+(.5*z);
> >
> > CombinedI= (.35*final)+(.35*z)+(.3*mom);
> >
> > CombinedII=MA(CombinedI,25);
> >
> >
> >
> > //Filter = CombinedI > CombinedII AND Cross(PDI(14),MDI(14)) AND
z-
> Ref(z,-5) > 20;
> >
> > //Filter = final > 10 AND Cross(PDI(14),MDI(14));
> >
> > PositionSize = -25;
> >
> > Buy = final > 10 AND Cross(PDI(14),MDI(14)) AND z-Ref(z,-10) > 15
> AND ADX(14) > Ref(ADX(14),-5);
> >
> > Sell = Cross(MDI(14),PDI(14)) OR Cross(Signal(),MACD());
> >
> > ApplyStop( stopTypeNBar, stopModeBars, 70, True );
> >
> > AddTextColumn(FullName(),"Name",5);
> >
> > ro11 = MA(ROC(C,20),10);
> >
> > ro1 = MA(ROC(C,50),10);
> >
> > ro2 = MA(ROC(C,120),10);
> >
> > AddColumn(z,"TotalB");
> >
> > AddColumn(CombinedII,"RSC");
> >
> > AddColumn(Ref(z,-10), "B -10 dys");
> >
> > AddColumn(z-Ref(z,-10), "difference");
> >
> > AddColumn(final,"RS",1.2,colorDefault,IIf(final==0,colorBlue,IIf
> (final>=Ref(final,-10),colorGreen,colorRed)));
> >
> > AddColumn(Ref(final,-10),"10 days",1.2,colorDefault,IIf
> (final==0,colorBlue,IIf(Ref(final,-10)>=Ref(final,-
> 20),colorGreen,colorRed)));
> >
> > AddColumn(Ref(final,-20),"20 days",1.2,colorDefault,IIf
> (final==0,colorBlue,IIf(Ref(final,-20)>=Ref(final,-
> 30),colorGreen,colorRed)));
> >
> > AddColumn(Vol5,"ST SD");
> >
> > AddColumn(vol6,"Hist SD");
> >
> > AddColumn(ro11, "ROC20",1.2,colorDefault,IIf(ro11>0 AND
> ro11<5,colorYellow,IIf(ro11 > 5 ,colorGreen,colorRed)));
> >
> >
> >
> >
> >
> > AddColumn(ro1, "ROC50",1.2,colorDefault,IIf(ro1>0 AND
> ro1<5,colorYellow,IIf(ro1 > 5 ,colorGreen,colorRed)));
> >
> > AddColumn(ro2, "ROC120",1.2,colorDefault,IIf(ro2>0 AND
> ro2<5 ,colorYellow,IIf(ro2 > 5 ,colorGreen,colorRed)));
> >
> > AddColumn(ii, "YTD%",1.2,colorDefault,IIf(ii>
> 0 ,colorGreen,colorRed));
> >
> > AddColumn(Mth, "30d %",1.2,colorDefault,IIf(Mth>
> 0 ,colorGreen,colorRed));
> >
> > AddColumn(tenday, "10d %",1.2,colorDefault,IIf(tenday > 0.005 AND
> tenday < 0.009 ,colorYellow,IIf(tenday > 0 ,colorGreen,colorRed)));
> >
> > AddColumn(week, "5d %",1.2,colorDefault,IIf(week > 0.005 AND week
> < 0.009 ,colorYellow,IIf(week > 0 ,colorGreen,colorRed)));
> >
> > AddColumn(oneDay, "1d %",1.2,colorDefault,IIf(oneDay > 0.005 AND
> oneDay < 0.009 ,colorYellow,IIf(oneDay > 0 ,colorGreen,colorRed)));
> >
> > RS1=Foreign("!spx","C");
> >
> > RS2 = Foreign("!comp","C");
> >
> > Corr1 = ROC(RS1,1);
> >
> > Corr2 = ROC(C,1);
> >
> > Corr3 = ROC(RS2,1);
> >
> > Corr4 = ROC(C,1);
> >
> >
> >
> > test=Correlation(corr1,Corr2,20);
> >
> > test1=Correlation(Corr3,Corr4,30);
> >
> > test=Correlation(Corr1,Corr2,125);
> >
> > test1=Correlation(Corr3,Corr4,125);
> >
> > AddColumn(test,"SPX");
> >
> > AddColumn(test1,"Nasdaq");
> >
> > rising = EMA(C,170) > Ref(EMA(C,170),-47);
> >
> > rising1 = EMA(C,50) > Ref(EMA(C,50),-25);
> >
> > rising ==1;
> >
> > rising1==1;
> >
> > AddColumn(rising,"ema 170");
> >
> > AddColumn(rising1,"ema 50");
> >
> >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam protection around
> > http://mail.yahoo.com
>
>
>
>
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
>
> Yahoo! Groups Links
------------------------ Yahoo! Groups Sponsor --------------------~-->
Try Online Currency Trading with GFT. Free 50K Demo. Trade
24 Hours. Commission-Free.
http://us.click.yahoo.com/DldnlA/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~->
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|