Looks like top 5 will get the job done as well …
Thanks Boris - some difference sources:
- for Rev growth I used Fid’s Rev Growth 5 yr #, and all they have is current shares outstanding, not shares 5 yrs ago,4 yrs ago, etc. so yeah.
- The S&P 1500 is not just top 1500 (or 1700) market cap. The S&P 600 excludes <$750M market cap and excludes unprofitable current quarter or unprofitable TTM; the midcap is pretty much everything north of $3B to $13B mkt cap.
although I might try that version because it would be a h@ll of a lot simpler to run & compile.
FC
Perhaps a misunderstanding
I was just responding narrowly to this bit…
“… the real reason for investing is because you enjoy it…”
I really think that the reason to do investing is to make money, so I disagreed.
If one enjoys the process, which I sometimes do, that’s just a bonus.
As for my having a gift for investing, no, not really–perhaps I have a gift for sounding like I do : )
If you didn’t like my off the cuff screen suggestion:
Non-quant stock tip of the day: deep in the money long dated call option on GOOGL.
Random pick: Jan 2024 $1300, current price around $1060-$1065, leverage about 2.1:1
When the Jan 2026 calls are listed, preferably on a calm day that prices are high, sell the Jan 2024 calls and buy Jan 2026 calls. (lowest strike you can get for the same money)
The theory is that, by Jan 2026, 3.6 years from now, you will have made a lot of money.
Wild speculation: multiple opportunities during this stretch to exit at over 25%/yr return compounded, possibly 30%+, which would count as having fun.
Unfortunately this costs over $106k per contract, and it’s option contracts with leverage, so it’s not exactly for everybody.
But they are about to do a 20:1 split in seven weeks so you can wait till then and get the equivalent position in smaller bites of about $5300 each.
The price probably won’t have soared that much by then, though who knows.
Of course, I’m often wrong. Check back in 2026.
Your screen is excellent.
Hi Jim,
Thanks for the screen. I am pretty dumb when it comes to investing and so please forgive me for these below questions. I was trying to learn what you mentioned by running that screen on value line. When I tried to simulate that on value line, I got stuck on 2 things:
-
ROE: I dont see ROE but can see “Return on Shareholder Equity”. Are they the same?
-
5-year growth of sales per share: I dont see that but do see “Sales 5 Yr Growth Rate”. Again, are they the same?
Thanks,
Charlie
1. ROE: I dont see ROE but can see “Return on Shareholder Equity”. Are they the same?
Yes!
Specifically, Value Line’s “Return on Shareholder Equity” field is updated only once a year.
They also have a field “ROE Latest Qtr” which is updated quarterly, but it seems a bit odd in some ways.
They say it’s the last four quarters of income divided by shareholders’ equity, but I think it’s actually just the last quarter’s income as the numerator.
Meaning it is very volatile. And, of course, it can’t be compared with the annual field from VL or anyone else.
5-year growth of sales per share: I dont see that but do see “Sales 5 Yr Growth Rate”. Again, are they the same?
Also yes.
I rephrased it to be clear that it was a per-share metric, which Value Line does.
Many other data sources will give you five year change in top line revenue, which isn’t the same thing at all if there has been a merger.
As an aside, Value Line also smooths it, I believe.
I think their five year growth rates are actually calculated something like this:
[Three year average of per-share figures] compared to [three year average of per-share figures five years earlier].
Jim
Thanks so much!
Do an SOS: sum the ranks on those two screens and pick the best sum of ranks.
I never understood how to sum the ranks. Could someone explain it?
Thank you.
I never understood how to sum the ranks. Could someone explain it?
For each ranking, number the stocks in order from 1 to N (1 = best).
For each stock, add up these numbers (of where it is in each ranking).
Then sort the stocks by each one’s total. The stock with the lowest total is best, next lowest is 2nd best, etc.
That is pretty simple. Thanks.
I never understood how to sum the ranks. Could someone explain it?
…
For each ranking, number the stocks in order from 1 to N (1 = best).
For each stock, add up these numbers (of where it is in each ranking).
Then sort the stocks by each one’s total. The stock with the lowest total is best, next lowest is 2nd best, etc.
Here’s an example that some might find useful
This is one of my long time simple favourite families, a “KISS SOWR”. Keep it simple stupid, sum of weighted ranks.
Again, uses Value Line 1700 set of stocks, as is my habit.
Find the top 800 stocks with highest ROE
Find the top 800 stocks with lowest market cap (remember this is VL, so almost none too small to trade)
Find the top 800 stocks closest to their 52 week highs (with VL, that’s calculated to the end of the prior calendar month)
Find the top 800 stocks with highest 5-year sales growth rate
For each stock sum the four ranks, sort on that sum, take the best 50 stocks, hold a month, repeat.
From 1989 through 2017, monthly no friction, that beat the S&P by 8.23%/year.
18.79 versus 10.56
There isn’t a whole lot of room for overtuning, but some out of sample validation is always nice:
I put the screen together a few years ago using 2017 data.
Since then, 3.25 years, no modification to the screen:
S&P 500 15.32%
Top 50 stocks monthly without friction: 18.12% (improvement 2.80%)
Top 40 stocks monthly without friction: 18.57% (improvement 3.24%)
Top 30 stocks monthly without friction: 20.22% (improvement 4.89%)
Top 20 stocks monthly without friction: 22.77% (improvement 7.45%)
So, this is at least consistent with a “real” predictive effect, not just overtuning of the in-sample data.
Or at least it seems to have worked in the sort of market conditions we have seen recently.
What I like about this is that it makes a nice 50-stock hunting ground.
Want dividends? Take the highest yielders from among the top 50.
Want larger caps? Find the biggest of the top 50.
Most large subsets will do nicely.
It’s easy to cut down on trading by using a hold-till-drop.
e.g., 30HTD50: buy the 30 top ranked stocks;
Each month, sell any no longer ranked among the top 50 and replace them with the highest ranked stocks you don’t already own.
Top 30 monthly with no friction 1989-2017: CAGR 18.94%
30HTD50 monthly with 0.4% friction 1989-2017: CAGR 18.12%, so trading costs aren’t prohibitive.
S&P 1989-2017 10.56%
Jim
Find the top 800 stocks with highest ROE
Find the top 800 stocks with lowest market cap (remember this is VL, so almost none too small to trade)
Find the top 800 stocks closest to their 52 week highs (with VL, that’s calculated to the end of the prior calendar month)
Find the top 800 stocks with highest 5-year sales growth rate
Highest of the “highest 800 ROE” gets the 800 score?
Lowest of the “low market cap 800” gets the 800 score?
Closest of the “closest to 52-week high” gets the 800 score?
Highest of the “highest 5-yr sales growth 800” gets the 800 score?
Tails
Highest of the “highest 800 ROE” gets the 800 score?
Lowest of the “low market cap 800” gets the 800 score?
Closest of the “closest to 52-week high” gets the 800 score?
Highest of the “highest 5-yr sales growth 800” gets the 800 score?
Well, by tradition the best thing gets rank 1.
So:
highest ROE gets 1, lowest market cap gets 1, highest price relative to high gets 1, and highest sales growth gets 1, then you take the lowest sums.
Subtle distinction: since VL 52 week highs are anywhere up to a month old, the ratio of price to [lagged] 52 week high can be quite a bit above 1.
Technically you want the highest ratio, not “closest to 52 week high”.
The lag helps quite a bit.
Jim
Well, by tradition the best thing gets rank 1.
That’s what I thought too. So I must be missing something. Consider these two examples:
Stock A
#50 ROE
not in lowest 800 Mkt Cap
not in 800 for highest price rel.
not in 800 for 5-yr sales growth
Sum of ranks = 50
Stock B
#15 ROE
#15 lowest Mkt Cap
#15 for highest price rel.
#15 for 5-yr sales growth
Sum of ranks = 60
Stock B seems like the great candidate, but you might end up buying stock A and not B, depending on cutoff.
Looking at it the other way:
Stock A SOR = 785
Stock B SOR = 785(x4) = 3140
Tails
Hi Jim,
Thanks again for this. Again, I am sure I have messed it up but hope you can correct me…
I made 4 sheets of top 800 with ROE, 52 week highs, smallest market CAP, and 5 year sales growth.
A) And almost no stock is listed in all 4 of those sheets (I can understand that as most are unlikely to be listed in the smallest market cap ranking)…and there are probably a handful which find a place in 3…and may be 100ish or so that find ranked in 2 of these. Does that sound right?
B) Also, once I do that, I was hoping to see some that will truly be with top scores but I found nothing like that… For example, a company like Google has a rank of 362 in ROE and 292 in sales 5 yr growth, not tanked in 52 week high and obviously not ranked in the Lowest market caps…Again, Does that sound right?
C) If miraculously I have got the above 2 right right, how do we determine the top 50 then? Only score those finding a place in at least two sheets? is it then likely that the top 50 stocks will have sums ranging in the 500s?
I am pretty sure I have got this completely messed up and so apologies for displaying such ignorance.
Thanks a lot,
Charlie
Again, uses Value Line 1700 set of stocks, as is my habit.
Find the top 800 stocks with highest ROE
Find the top 800 stocks with lowest market cap (remember this is VL, so almost none too small to trade)
Find the top 800 stocks closest to their 52 week highs (with VL, that’s calculated to the end of the prior calendar month)
Find the top 800 stocks with highest 5-year sales growth rate
For each stock sum the four ranks, sort on that sum, take the best 50 stocks, hold a month, repeat.
A sum-of-ranks screen applies some criteria, and then ranks the passing stocks. This screen applies four different “top 800” criteria. If each of these is independent, the number of stocks passing will roughly half for each criteria: (1/2)^4 = 1/16. So, maybe around 100 stocks will pass. Rank these 100.
Stock A
#50 ROE
not in lowest 800 Mkt Cap
not in 800 for highest price rel.
not in 800 for 5-yr sales growth
Sum of ranks = 50
Stock A does not pass the criteria, and so the Sum of ranks is not calculated.
almost no stock is listed in all 4 of those sheets
Micro-cap stocks need to be dropped before ranking. The starting list has 1700 stocks.
Start with 1700 stocks
rank these on the 4 factors
keep rank ROE <= 800
keep rank market cap <= 800
keep rank [stocks closest to their 52-week highs] <= 800
keep rank sales growth <= 800
Should have about 100 to 400 stocks.
Sum the 4 ranks.
Keep the lowest 50 sum-of-ranks
Stock B seems like the great candidate, but you might end up buying stock A and not B, depending on cutoff.
That’s what backtests are for : )
If something is pretty good on all those criteria, it seems to be a good bet.
If something is fantastic on only one or two criteria, it seems also to be a good bet.
Statistically.
FWIW, I think this would be the top 30 picks, in descending order of “goodness”, for trading April 4.
You can check them out and get a feel for what sort of firms it picks.
CNR ABBV REGN VRTX GDEN IRWD MED MUSA MBUU GLNG
MTOR LNG NXST SPH KFRC SFM MTDR HZO CUTR AAPL
AZPN HRB AMCX HIBB COMM APOG TSCO FTNT STLD ULTA
The top ranked pick, CNR, is a sucker pick on the momentum criterion.
The momentum was fantastic because of an announced buyout. Check out a chart.
It happens. But again, that’s why we do backtests: on average it doesn’t matter.
Since that trade date it is up 0.8% and the average S&P stock is down -6.6%, so buyouts aren’t necessarily bad.
Jim
Would you use excel to sum the ranks?
Would you use excel to sum the ranks?
Sure. I do everything with Excel except make my coffee (for which I also use year 2000 technology)
Generally I’d use the Radiscreen spreadsheet macros.
For my post of the recent picks I didn’t.
Jim
I do everything with Excel except make my coffee
Wow! And I thought I am the only one.
(I wrote dozens of books about Excel so naturally it’s the same for me.)
except make my coffee (for which I also use year 2000 technology)
Another Dinosaur?
I am more modern though, having upgraded my Office 2000 recently to 2002 as it runs much better under Win10, especially Word.