I want to rank stocks with similar market caps - is that possible?
I understand that screen rules can be used as buy rules in a sim but does the screen take place after the stocks are ranked? I want to screen first then rank.
Regards,
Sam
I want to rank stocks with similar market caps - is that possible?
I understand that screen rules can be used as buy rules in a sim but does the screen take place after the stocks are ranked? I want to screen first then rank.
Regards,
Sam
Sam,
This site seems to be set up in a way that ranking always precedes screening. But, maybe, if we put a little effort into it, we could do it differently. Maybe, as step 1, we could develop a simplistic ranking system (we could call “MarketCap”) that did nothing but pre-screened stocks for their market caps. At the same time, as step 2, we could develop a simplistic sim that produced a long list of stocks (based on this “MarketCap”), and then, in step 3, we could re-input/re-introduce that list of stocks as a “custom list”. And then, in step 4, we could rank stocks on the custom list the usual way.
The sequence of decision making is a potentially powerful idea. I’d love to see more research on this subject. For example, when we do a sim and write our buy and sell rules, our assumption is that all those rules are “and” functions that are executed at the same time. Perhaps they’re not! Perhaps they’re executed only one at a time! Perhaps the sequence of those rules is just as important as the rules themselves!
I hope this helps.
Regards,
Robert
Sam,
The way to Rank by Market Cap is to add a MktCap formula to your Ranking System, and give it a high enough weighting that it suppresses all other MktCap stocks. You may have to set the weighting as high as 30 or 40% of the overall weighting to eliminate all stocks outside the MKtCap range you want to rank. You can use functions like:
MktCap > 500; to eliminate Micro Caps
MktCap < 500; to eliminate larger Caps
MktCap > 50 & MktCap < 500; to select Micro Caps but none less that 50 million.
These formulas will yield either a 1 if true or 0 if false. So the Rank value for the formula will be either 99.99 if true or a much lower number (not 0) if false. You can see an example of this in my public Ranking System:
Denny’s 5 Factors Micro Caps: http://www.portfolio123.com/rank_details2.jsp?rankid=14960
Click on the Micro Cap formula and you will be able to see the equation. This Ranking System was developed to Rank in the top values the stocks that represent the Russell MicroCap Index. This Ranking System yields a annual Performance of 70% in the top 1% Ranked stocks.
You get the idea.
Edit: I changed the formula to Boolean as suggested by Dan in the following post.
Robert,
The sequence of the rules in Sims, Ports, or Ranking Systems makes no difference at all.
Denny ![]()
Denny,
I think there is a mistake in your ranking system. You should have set the microcap formula to be boolean. See the attached doc for examples.
marketcap ranking sys tmp.doc (75.5 KB)
Good catch Dan. At 2:00 last night when I was working out the formula for the Ranking System, boolean didn’t even cross my mind!
Denny ![]()
Thanks everyone. I will use the boolean rank critiria.
Sam
All,
I’ve been looking for a way to create a large cap ranking system. I had been filtering by SP500 when I tested the ranking systems, and this worked okay but not as good as I hoped - probably because the stocks in the SP500 are not all large caps? It seemed that Dennys solution was what I needed so I did some tests where I added the formula “mktcap>5000” to my ranking systems and gave it a very high weight. Then I ran 200 bar performance charts for the ranking systems.
There are 781 stocks in the system with a market cap > 5000. There are 6,939 stocks in the system, so that means that 11.3% of them are > 5000. So the first 22 bars on the 200 bar chart should have been the results for the large caps only. But when I look at the charts, this doesnt seem to be working as I expected. See the attached document for the details of the tests and the results.
Does anybody see a flaw in the logic I used? If I can figure this out, I want to run my “single factor factors and formulas” tests for the 400 or so factors I have in my list, but limit the tests to large caps only. This would tell us which factors work best for large caps.
Dan Parquette
market caps factor in RS.doc (145 KB)
Hi Dan don’t know if this helps…
How did you get the TOP 22 Bar chart? I see a Series 1 so I assume you loaded something into EXCEL.
The screener says to include ranks from a ranking system “Price Momentum3- PCF” – I don’t think this should affect anything.
At one time you gave the market cap of 96% - hove you tried just a bool with 100% (no other factors) - that would seem to correspond better to the screener.
When I run the screener with Mktcap > 5000, I get 781 as you do but for me SNY is number 781 (when no ranking system is selected), my screener list of holdings for the 781 seems to be different when a ranking system is selected as opposed to when a one is not selected.
I see this is just an order change - I used a very high market cap to just get a list of 9 stocks and see it is the same selection - just re ordered by rank.
Dan,
I created a 4 factor Ranking System to see if I could help figure this out.
Denny’s 4 Factors Large Caps
http://www.portfolio123.com/rank_details2.jsp?rankid=15036
I think that the problem is that the ratio of large Cap stocks to Smaller Cap stocks is not constant in the data set. For example in the beginning on 03/31/01 there are 4231 stocks in the data set of which 565 are > 5000 Mkt Cap, or 13.3%. However on 03/30/02 there are 8824 stocks in the data set with 644 stocks > 5000, with a ratio of 7.3%. On other dates there are probably even lower ratios. Therefore, in the performance plot over the full data set there is a mixing of small caps and large caps between at least 87 and 93% rank causing these values of rank to have higher performance, since the best small caps in this rank range greatly out perform the worst large caps that are also in this range.
Your Ranking System should work fine in the top 5% rank values since there should not be any mixing in that area.
Denny ![]()
Denny,
Thanks for figuring it out. It looks like my best option is to continue to filter the stocks by the SP500.
Dan, and All,
Check out my ‘Denny’s 4 Factors Large Caps’ Ranking System:
http://www.portfolio123.com/rank_details2.jsp?rankid=15036
I set this one up to select the largest 1000 stocks approximating the Russell 1000 Index. This way It doesn’t leave out many of the largest companies like the S & P 500 does (approx. 100 of the largest U.S. companies are not in the S&P 500). By using MktCap > 3300, I get 996 stocks in the top rankings with today’s Data set. This results in the top 9% of the Ranking System performance chart showing no sign of mixing with lower cap stocks. You can use the MktCap > 3300 Formula in any Ranking System you want in a simmular set up as the above example, and get the same MktCap results.
The value of this approach is that it allows you to evaluate changes to the Ranking System Factors and Formulas to optimize the Ranking System for Large Caps with out any influence from the smaller cap stocks. Just evaluate the changes to the top 5% or so Rank values, and ignore any effects in the lower Rank values where mixing with small Caps might occur. A similar approach can be used for any Market Cap range you wish to evaluate.
As long as you’re Buy Rules are not to restrictive, and your Sims/Ports don’t recommendation stocks with a Rank value less than 91% you shouldn’t get any Small Caps. If you need more stocks than that to be sure to not get recommendations of smaller cap stocks due to more restrictive Buy Rules Just reduce the MktCap > 3300 as required to avoid any mix of Small Cap stocks.
Denny ![]()