[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Relative Strength



PureBytes Links

Trading Reference Links

Dan
 
Thanks for the info you provided. It was very meaningful to me.
 
I finally got some test results using relative strength.
 
Using 12 years of QP data, I structured the Stock - Industry - Sector relationships same way you did. Using ATC to create the industry and Sector  indeces.
 
I get what I think are reasonable results:
- about 20% annual return. Invest only original equity, (NO compounding) $500K,  25 issues Max.
- Profit Factor > 3.0
- Sharpe Ratio = about 0.55
 
I am not happy about the Sharpe ratio, but don't know enough about it to try and improve. TJ had a comment a few weeks ago indicating the ratio should be above 1.0 for a good system.
 
One item did surprize me, was that when I backtest with the Sector RS as part of the buy criteria, I get a slight to moderate decrease in performance. Can't quite grasp that.
 
I am defining RS as the difference in normalized ROC of Stock / Industry, Industry / Sector, and Sector / Market. For Now I define !SPX as the market, but since Sector RS does not provide any benefits, my selection does not matter for now. Will have to dig into this more.
 
Found that using different lookback periods for Buy and Sell improves performance a little.
 
Did some 3D plots with various SMALL groups of stocks, I get quite different optimum parameters for lookback.
 
You mentioned that using the correct index was very imprtant.  Do you use separate watchlists for Small Cap / Large Cap?  Do you see a definable performance difference between groups?
 
Appreciate your comments
 
Ara
----- Original Message -----
From: Dan Clark
Sent: Sunday, November 06, 2005 10:56 AM
Subject: RE: [amibroker] Quotes Plus - Sectors

Ara,

 

I do this now.    Relative Strength and Relative Performance of Sectors and Industries to Markets, and Stocks to Sectors, Industries and Markets are key to my trading strategy.

 

I’ve spent a lot of effort working on this in the last six months.  Two issues are critical (IMO):

 

·         Algorithms to use – Indicators, calculations, etc.

·         Symbols to compare – Supplied Indexes (!SPX, !NYA), ETFs (QQQQ, IYF, BBH, VTI), Composite indexes and Indicators.

 

Regarding the algorithms, I’ve tried several ways of defining relative strength and performance.  You can:

 

1.       Compare several tickers using the “Relative Performance” chart (Charts à Basic Charts à Relative Performance) which measures rate of change from a particular point.   Or,

2.       Use “price relative” which is nothing more than dividing a symbols price by another symbols price (e.g., IYF/!NYA).   Or,

3.       Use the “strength” of one ticker versus another.  This could be as simple as RSI a complex algorithm where “strength” is computed base on RSI + ROC over a number of periods + number of days over/under key moving averages.   (This is Jason Hart’s work.  Look for his posts on AB forum dated 7/1, 7/9 7/13 and 7/18 of 2005.)   Or,

4.       Use the “strength” in item 3 as a means of computing the “rank” and compare the ranks.  For example, rank of a sector when compared to other sectors.

 

While the algorithms are important, more important is choosing the correct symbols to compare

 

It turns out that a stock’s Sector and Industry categorization is one of the worst “rat holes” that I’ve found in analyzing the markets.  There is no standard categorization that I can find.   GICS is one “standard”.   TC2000 has their categorization.  Quotes Plus has their categorization.     And there is not standard for ETFs.   This is important to understand when choosing an “index” for comparison.  

 

Another issue is weighting of the “index”.   It turns out that there is no weighting standard.    What’s not well known (at least to me, as of three months ago) is that most indexes and ETFs are weighted:

 

·         Most of the standard indexes (!SPX, !NYA, etc.) are Cap-Weighted.  The percent of the index is based on the market cap of the symbol.  

·         Some are using other weighting systems (I believe the Dow is equal weighted)

·         Some are weighted using an unknown algorithm.   ETFs appear to use this method.  For example, 60% of the BBH is composed of two stocks Amgen and Genentech.  I can’t find anything on why they use this weighting.

 

What is critical about weighting is that it affects how the index chosen reacts.  For example, if you use BBH as an “index”, you can see wild swings based almost completely on the movements of Amgen and Genentech.   As another example, market cap-weighted indexes movements are driven heavily by the movements of the biggest companies.   This does NOT necessarily indicate where the entire market is going and where money is flowing.

 

Here’s a link to the S&P site on indexes:

http://www2.standardandpoors.com/servlet/Satellite?pagename=sp/Page/IndicesBrowseMethodologyPg&r=1&l=EN&b=4&s=6&ig=51&i=128&si=&d=&xcd=500EW&f=3

 

Click on “Index Methodology”.  The “Mathematics of Index Calculation” is actually the best and covers the three type of indexes and how to calculate them.   (This is critical to understand when creating your own indexes.)

 

Given the confusion surrounding this whole issue, I chose to:

 

·         Use Quotes Plus Industry and Sector categorization

·         Create my own Industry and sector indexes and indicators based on ATC composite symbols.

·         Create simple summation indexes.  (Sum each stocks price and volume irrespective of market cap.)

·         Categorize indexes at the Country, then market, then sector, then industry, then Market Cap (Small, Med, Large) level.

 

Below is the key scan function that I use to load a composite symbol, reset the “Full Name”, and add it to a target watch list.  Note that it is critical to use short symbol names and put the descriptive name in the FullName. 

 

Also critical is to define a naming structure that makes sense to you.  This becomes especially important when branching out from Indexes into other, more complex indicators (money flow, A/D, new hi/low, etc.).   My naming is:

 

 “~” + IndicatorType + CountryCode + LevelType + MarketCapType + NativeSymbol

 

For example, for an index of US Small Cap Energy Sector it would be:

 

“~” + “Index” + “_” + “US” + “Sec” +  “SC” + “_” + “5”  = “~Index_USSecSC_5”

 

The symbol full name would be:  “~Index_USSecSC_Energy”

 

Finally, attached is a snapshot of a relative performance (ROC) chart of my Sector composite symbols and the QP3 S&P market symbol (!SPX) for the last 21 trading days.

 

I hope this helps.  Let me know if you’d like snapshots of other charts.

 

Regards,

 

Dan.

 

 

Retrieving the Sector and Industry names:

SectorSymbol  = NumToStr(SectorID(0), 1.0); 

SectorName    = SectorID(1);  

IndustrySymbol       = NumToStr(IndustryID(0), 1.0);  

IndustryName = IndustryID(1);  

MarketName    = MarketID(1);

 

Calling the CompositeLoad procedure:

CompositeLoad("~Index_USMkt", "~Index_USMkt" , WeightedClose, WeightedOpen, WeightedHigh, WeightedLow, V/1000, iCount, atcCurrentFlags, WLKeyIndexes, WLAllIndexes);

 

CompositeLoad("~Index_USSec_" + SectorSymbol,"~Index_USSec_" + SectorName, WeightedClose, WeightedOpen, WeightedHigh, WeightedLow, V/1000, iCount, atcCurrentFlags, WLUSSectorIndex, WLAllIndexes);

 

CompositeLoad("~Index_USInd_" + IndustrySymbol , "~Index_USInd_" + IndustryName, WeightedClose, WeightedOpen, WeightedHigh, WeightedLow, V/1000, iCount, atcCurrentFlags, WLUSIndustryIndex, WLAllIndexes);

 

Load Procedure:

procedure CompositeLoad(Sym, SymName, CloseVal, OpenVal, HighVal, LowVal, VolVal, OpenIntVal, ATCFlags, TargetWLNbr, AllIndexWLNbr)

       {

       //Add To Composite

       AddToComposite(CloseVal,   Sym,   "C", ATCFlags);

       AddToComposite(OpenVal,           Sym,   "O", ATCFlags);

       AddToComposite(HighVal,           Sym,   "H", ATCFlags);

       AddToComposite(LowVal,            Sym,   "L", ATCFlags);

       AddToComposite(VolVal,            Sym,   "V", ATCFlags);

       AddToComposite(OpenIntVal, Sym,   "I", ATCFlags);

  

   //Modify Names

       cs                   = AB.Stocks(Sym)     ;                                         

       cs.FullName = SymName                    ;                                  

 

       // Add to Watchlists

       if (TargetWLNbr == 0)

              CategoryAddSymbol(Sym, categoryWatchlist, TargetWLNbr);

 

       if(StrLeft(Sym, 6) == "~Index")

              CategoryAddSymbol(Sym, categoryWatchlist, AllIndexWLNbr);  

 

       // Add to Market and Sector INdexes

 

       if (   StrLeft(Sym, 15) == "~Index_ADR_Sec_"

              OR StrLeft(Sym, 13) == "~Index_ADRMkt"

              OR StrLeft(Sym, 16) == "~Index_NasdaqMkt"

              OR StrLeft(Sym, 14) == "~Index_NYSEMkt"

              OR StrLeft(Sym, 12) == "~Index_USMkt"

              OR StrLeft(Sym, 12) == "~Index_USSec"

              )

              CategoryAddSymbol(Sym, categoryWatchlist, WLMktAndSectorIndexes);  

       }

 


From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Ara Kaloustian
Sent: Sunday, November 06, 2005 9:15 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Quotes Plus - Sectors

 

Thanks Duke,

 

Yes I am looking at something very similar to what you are doing ... guess I'll create the sectors using ATCs.  Not the most efficient, but I expect to run this weekly, so no big deal.

 

Ara

 

 

----- Original Message -----

Sent: Sunday, November 06, 2005 7:32 AM

Subject: Re: [amibroker] Quotes Plus - Sectors

 

Ara,

I might be misinterpreting your question so my apologies if this is not what your asking for....You could use the S&P Select Spyders (XLE - Energy etc.) as your sectors and compare against each stock marked within AB (using Symbol/Categories with XLE as the RS symbol)  or if you have QP data you can build your own sectors and industry group composites and compare against them. I use QP's industry classification but create my own sector hierarchy as in the attached picture which is showing the Banking-Midwest industry group with an RS line measuring against the sector as well as the market. To make all of the indicators easily I use simple symbols like BANK1 (1 always the sector) and BANK2 etc. so that I could "find & replace" in word to make the process easier as I have 25 Sectors and over 200 industry groups.  I then created layouts for each Sector including their corresponding industry groups. I also created a watch list of the industry groups so I can easily run scans on RS rankings Alpha etc.

I am sure there is a better/faster way but this worked for me. Again, not sure this is what your asking but hopefully this may be of some help.

Relative strength of Midwest Banks to Banking Sector 

Duke Jones, CMT

Ara Kaloustian wrote:

How would one compute Industry Relative Strength relative to Sectors ... since there is sector data in QP... just sector groupings.

 

Compare the Industry values to the Standard and Poors sector values? 

 

Anyone done this ?

 

Thanks

 

Ara




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





SPONSORED LINKS
Investment management software Real estate investment software Investment property software
Software support Real estate investment analysis software Investment software


YAHOO! GROUPS LINKS