Skip to main content
No. of Recommendations: 2
You have hold while passing step 6 (ROE top 500).

If you change that to hold while passing step 7 (CashLessLTDebt top 45), CAGR increases from 13.5 to 15.0.

If you add the steps introduced by Boris and Robbie (post 278192) while keeping your top 500, 45, 30 steps CAGR goes to 16.1.


Thank you for the correction.
With the change to the styp.a preferred by Robbie we reintroduce ADRs to the screen, and it comes out loaded with Chinese companies. Not my cup of tea. Changing back to styp.a = 10!11 eliminates the ADRs while giving up 0.5% of CAGR.

http://gtr1.net/2013/?~ROE_Cash_CF_FCF_noFinance_with_crap_f...

Elan
Print the post Back To Top
No. of Recommendations: 2
It is amazing that the hedged portfolio best the S&P by 10% in 2019.

Would a hedge shorting a relatively weaker index such as IWM have fared any better? If so one might consider adding an oversold filter to lighten up on the IWM short as these small caps tend to rocket up after hitting bottom.
Print the post Back To Top
No. of Recommendations: 10
Here's a cut at a concentrated version using SIPro:

S&P 1500
ROE top 100
CashLessLTDebt top 10 (hold while in top 15)
Two-Month (42 market day) hold period
CAGR 16.1 from 19941003 to 20200522
Bear Catchers not applied.

http://gtr1.net/2013/?~ROE100_CashLessLTDebt10:h42f0.4::sp15...

Current top 10:
GOOGL
MSFT
CSCO
NLOK
NVDA
ACN
EA
PAYX
AAPL
VRTX

Eric
Print the post Back To Top
No. of Recommendations: 0
Jim - how do you backtest this? Using VL software? What would I need to run the picks for myself?
Print the post Back To Top
No. of Recommendations: 4
Jim - how do you backtest this? Using VL software? What would I need to run the picks for myself?

Getting the current picks yourself is dead easy if you have a VL subscription.
I derived the picks in my post in a minute or two with Excel, though of course it could be automated with a script.
It's not worth bothering to automate in terms of the amount of work, but probably worthwhile to avoid typing errors.
It's not a very complicated screen, so you don't need to run Radiscript to reproduce it.

For backtesting, I can't provide any useful link, sorry.
I relied on my own database and a friend.

You could in theory use a different database/universe.
The main thing is that it does use the Dark Lord's version of ROE, which is calculated in a way that I have never quite figured out.
It's not simply TTM EPS divided by book per share. I think they use the last full year's results maybe?
Digression:
I only recently learned that it gives negative ROE in a mathematically consistent but investment useless way:
You sensibly get negative ROE for bad firms with negative earnings on positive book value.
But you also get negative ROE for good firms with positive earnings and negative book value, like McDonalds, Autozone, Yum Brands, Starbucks.
You could think of them has having an infinite ROE.
This screen won't allow either of those, as the ROE sort will put them at the bottom.
Sub-digression:
A portfolio of nothing but these firms--negative ROE, positive earnings, negative book--performs very well! Beat the S&P by 7%/year 1997-2019, averaging 17 stocks.
So it's a shame they get ruled out.


Incidentally, I didn't mention turnover: it's quite low.
The version I suggested: top 40, hold 2 months, sell below rank 45--average hold period was around 14 months, if I calculated it correctly.
Or 18 months if I calculate it a different way...

Jim
Print the post Back To Top
No. of Recommendations: 2
This sounded familiar, so I hunted around in the folder where I download ideas to.

Post #247423 on BRK board.
I guess it's not plagiarism when the idea you copy is your own. ;-)

Probably not worth paying for VL that you only use 4-5 times a year, and even then is just a re-statement of what you already hold.
I believe our local library has a VL subscription.

Funny story: Once long time ago I went to our then-library and asked if they had VL. The lady at the reference desk said apologetically , "Yes, but not the paper copy, only on the computer." !! Seems like all the old farts were used to the paper copy and didn't want/know to use the computer version. I loved it, because I could save what I wanted onto a thumb drive and take it home with me.

Almost makes me wish I had kept my cheap (grandfathered) Portfolio123 account. ;-(

I bet there are places online where you can scrape to get the ROEs. Yahoo at one time had it, don't know if they still do.

Hmmm, with this virus shutdowns, I bet the library is closed. Wonder if you can access their VL online. Have to check that.
Print the post Back To Top
No. of Recommendations: 3
This sounded familiar, so I hunted around in the folder where I download ideas to.

Sure enough.
The only thing "new" in this is the idea of using absolute cash pile size as the sort.
This gives the strong tilt towards large caps.

Microsoft has been the top pick 76% of the time since 1997.
It was rank 2 or 3 another 20% of the time.
It seems that their ROE didn't quite make the "top 30%" cut for a year in 2004-2005.
I guess sticking with a cash rich high-ROE large cap can work very nicely.
There's nothing wrong with sitting on your hands if it's working.

Jim
Print the post Back To Top
No. of Recommendations: 0
The main thing is that it does use the Dark Lord's version of ROE, which is calculated in a way that I have never quite figured out.

Do you use Return on Common Equity or Return on Shareholerds' Equity? I presume it's the latter.
They also have ROE Latest Quarter. Could that be a better metric or is it too volatile?

Elan
Print the post Back To Top
No. of Recommendations: 1
I haven't looked at these in a while but when I used to subscribe to a now closed company's backtester these screens had a good CAGR; since some involve VL 1700 list of stocks as the universe this post prompted my memory. If someone does a gtr please post good results. When I get around to it I will but wanted to post the criteria while it was on my mind.

10 stock
valueline 1700 not otc
12 mo. R&D /sales>=2%
5 yr sales gro>0
beta>=1.25
p>$2
rank by hi gross margin

valueline 1700
price<=$10
inventory/ sales 12 m <=25%
CFPS growth 5 yr>=0
Sales gro 5 hr>= -25%
price>5
rank by 12 mo gross margin high

valueline 1700 not otc
12 mo sales <= 2 bill
FYE declared div<=0
inventory /sales 12 mo <= 12
ROA >= 5
beta<1.25
p>2
Book Value(Reported)/Share Fiscal Quarter End bottom rank


valueline 1700 not otc
12 mo sales <= 2 bill
FYE declared div<=0
inventory /sales 12 mo <= 12
ROA >= 5
beta<1.25
p>2
Debt/Capital Fiscal Quarter End. rank high


p>=$4 and NOT NYSE
Sales/Capital Fiscal Year End. Sales expressed as a percentage of total capital. >=150%
rank by high gross margin


mcap >=150 m or 50m
12 mo asset turn>= .5
FYE declared div<= .01 or leave out
inventory /sales 12 mo <= 25%
R&D / sales 12 mo >=2%
beta>= .8
p>2
ROA 12 mo rank high or Cost of Goods Sold/Sales Trailing 12 Months


insider<20%
rank by high sales growth

assets / # of employees >100,000 < 750,000
div per share high


Value Line Financial Strength Fiscal Year End. C++ to B++

insider hold 10% to 30%
rank by sales grow


valueline 1700
not otc
Estimated EBITDA % Current 12 months>= 1 yr ago
( Value Line's estimate for EBITDA margin for the current year)
P/ CF 12 mo>0
p / BV >0
rank by combining various value measures

valueline 1700 not otc
Standard Deviation Earnings Per Share<= .2
(The standard deviation of the past 12 quarters of Primary Earnings Per Share.)
P/ CF and P/ BK >0
rank by combining various value measures

not nasdaq
current ratio>= .02
div gro 10 yr>0
P>4
cf/ share high rank


sales 12 mo>100m
Net Income Before Discontinued, Non-recurring, and Extraordinary Fiscal Year End>=100mill
(Profit after deduction of all expenses including taxes, and minority interests, but before deduction of preferred dividends paid and accumulated and before any non-recurring, special, and extraordinary items. Reported as of fiscal year end.)
p>2
rank by sales/ share 12 mo high


nasdaq
sales / cap >= 100%
cf/ share <=350
p>8
rank by hi gross margin

valueline1700 no otc
R&D / sales 12 m >= 2%
gross margin 12 m >=30%
p>5 and mcalp>50
p/ 52 wk high rank low

sales >100 m
Net Income Before Discontinued, Non-recurring, and Extraordinary Fiscal Year End. >100
(Profit after deduction of all expenses including taxes, and minority interests, but before deduction of preferred dividends paid and accumulated and before any non-recurring, special, and extraordinary items. Reported as of fiscal year end.)
rank by sales/ share high
Print the post Back To Top
No. of Recommendations: 0
Getting the current picks yourself is dead easy if you have a VL subscription.

Thanks, Jim. I assume that's the Smart Investor - Digital Edition ($598). Are discounts available?

John
Print the post Back To Top
No. of Recommendations: 0
Hmmm, with this virus shutdowns, I bet the library is closed. Wonder if you can access their VL online.

Thanks, Ray. A few clicks through my library and I was on a VL url. Almost too easy. But some questions...

Jim - What I have access to via my library seems to have 5300+ stocks in it's universe, and in the corner it says "Institutional Investor", so I'm guessing a different product. I don't see a way to limit that to the 1700 available via VL's Smart Investor. I'm not real familiar w/ VL, but I tried first screening for timeliness 1-5, thinking maybe only the 1700 are ranked for timeliness. But this returned 1438 stocks. Any ideas how I might recreate the universe of 1700 from what I have access to? Or would that be necessary, since the additional stocks are probably small cap and not going to make the cut anyway?

Also, ROE is the same as "Return on Shareholder's Equity" in VL, correct?


John
Print the post Back To Top
No. of Recommendations: 2
Or would that be necessary, since the additional stocks are probably small cap and not going to make the cut anyway?

Kind of answering my own questions. After attempting to duplicate Jim's screen, I get the same list in the same order. So, even though I am taking the top 30% of a different universe of stocks (I assume) on the first criterion (ROE), I end up with the same list.

GOOG
MSFT
FB
AMZN
SNE
TSM
CSCO
GE
BABA
HUM
NVDA
AAPL
ACN
TROW
EA
COST
VRTX
INFY
MU
ADBE
Print the post Back To Top
No. of Recommendations: 5
Please, could the "SPY alternative" screen be added to Rankings?

Thanks

jcb
Print the post Back To Top
No. of Recommendations: 1
Do you use Return on Common Equity or Return on Shareholders' Equity? I presume it's the latter.

Good point.

Yup, I used plain old "Return on Shareholders' Equity", which can be backtested to 1989.
Using "Return on Common Equity" gives essentially identical results.

There is also "Estimated Return on Shareholders' Equity".
That does seems to work better, though the difference is small (CAGR diff 0.6%, win rate a bit higher)

The "ROE Latest Quarter" one also worked a bit better than "Return on Shareholders' Equity" since 2000.
0.9% better CAGR, higher return in more than half of rolling years, slightly higher win rate, slightly large percentage of rolling years positive.
It's a little more volatile, but not much. (worst rolling years are 1-3% worse despite better returns overall)
The CAGR is lower in the 1997-1999 stretch using "ROE Latest Quarter", but optimizing for CAGR in that stretch is usually a bad idea.
So I guess "ROE Latest Quarter" is the one to use.

Another test:
Use "ROE Latest Quarter", but if that field is not available, use plain "Return on Shareholders' Equity".
That is worse than just using "ROE Latest Quarter".
I guess if there is no quarterly figure, it's a bad sign?

Thanks for reminding me of the wide selection of fields : )

Jim
Print the post Back To Top
No. of Recommendations: 1
Please, could the "SPY alternative" screen be added to Rankings?

I'm kind of wondering if this isn't more like a "one and done" strategy.

If the picks rarely change then the only active thing is the periodic rebalancing. Jim has mentioned both 2 month and 3 month (quarterly) rebalancing. So which is it? Or it is that it makes no difference. In which case, is there a need to rebalance at all?
Maybe just selling the ones that (when/if) drop out of the top 40/50 is enough?

Plenty of new-ish literature says that rebalancing a typical stock/bond asset allocation portfolio isn't particularly needed. When I was looking at this some 15 years ago when I retired, the acknowledged expert was saying that the optimal rebalance period was something around 5-7 years....and "never" also works.

But....if this 50 stock list was in the rankings, that would be great. Save me a trip to the library.
Print the post Back To Top
No. of Recommendations: 6
Jim - What I have access to via my library seems to have 5300+ stocks in it's universe, and in
the corner it says "Institutional Investor", so I'm guessing a different product. I don't see a way
to limit that to the 1700 available via VL's Smart Investor.


If a stock does not have a Timeliness rank, it's not in the standard 1700.
There are some stocks in the 1700 which do not have a Timeliness rank, but sometimes it's worth skipping those anyway.
They have often either just been listed, or don't have five years of history, or have just undergone a big merger.

But, to make sure this wouldn't hurt you, I tried requiring that Timeliness be populated (1..5).
It improves the screen quite a bit, so I'd recommend adding that to my "standard" definition.

Another thing:
Since it seems that (at least since 2000) using the "ROE Latest Quarter" field is a whisker better, I thought I'd check to see if the "top 30" was till the best cutoff.
In the category of "harmless overtuning", the highest win rate (which I find correlates with screen robustness post discovery) comes at "top 26%".
It's not different enough to hurt, but it seem it might help a whisker, so why not?
So, my final recommended version would be:
Timeliness 1-5
"ROE Latest Quarter" top 26%
(Cash - Long Term Debt) top 40

Specifically I tested top 40, hold for two months, replace those below rank 45, rebalance after 12 months, assuming 0.4% round trip trading costs.
2000-Q1 through 2020-Q1 inclusive for screen: CAGR 11.0%, with 89% of the risk of S&P measured by DDD3
2000-Q1 through 2020-Q1 inclusive for S&P: CAGR 5.0%
2000-Q1 through 2020-Q1 inclusive difference: +5.9%/year

Alternative version:
Add a step at the top requiring the current dividend to be positive. If you like dividends.
Because this makes fewer stocks go into the "ROE top X%" stage, the sweeter spot seems to be around "ROE top 32%".
So:
Timeliness 1-5
Current Dividend > 0
"ROE Latest Quarter" top 32%
(Cash - Long Term Debt) top 40

This version backtests with slightly higher CAGR, Sharpe, Sortino, win rate, and of course dividends. Lower GSD.
2000-Q1 through 2020-Q1 inclusive for screen: CAGR 12.5%, with 74% of the risk of S&P measured by DDD3
2000-Q1 through 2020-Q1 inclusive for S&P: CAGR 5.0%
2000-Q1 through 2020-Q1 inclusive difference: +7.5%/year
BUT...all of the better performance was Jan 2000-Q3 2001. They two have been more or less a tie since then, on CAGR.
Still very slightly lower GSD and higher win rate for the version with dividends, as you might expect.

The two are close enough that it's more a matter of whether you like dividends.
I would probably do the "no dividend" version personally because I have a horrible tax hit on US dividends relative to US capital gains.
But most people would probably prefer the dividend version based on the backtest numbers.
Note, however, that the "dividend" version is less of a large cap screen, and not as Nasdaq-ish.
You might prefer that, or not, depending. You won't get Amazon or Facebook or Google as a recent holding in the dividend version.
They are almost perfectly tied in the last 10 years.

Both of these are now optimized for returns starting in 2000, since the late-1990s results are pretty anomalous for large caps.
The no-dividend version beat the market 1997-1999 by 13%/yr, and the dividend version lagged the market by 11%/yr.
But I don't think anybody expects to see those market conditions again.

Jim
Print the post Back To Top
No. of Recommendations: 3
I'm kind of wondering if this isn't more like a "one and done" strategy.
If the picks rarely change then the only active thing is the periodic rebalancing...


I found a nice strategy for returns versus work was top 40, drop below rank 45, check only every two months.
But as you say, the frequency of checking is not that critical.

Despite a few perennial picks there is some turnover in the screen, so holder holds do lead to lower backtest results.

The same 40-HTD-45 strategy with 0.4% friction, rebalance at 12 months, changing only the frequency of checking:
Check each month: CAGR 11.2%
Check every 2 months: 11.1
Check every 3 months: 10.5
Check every 4 months: 10.3
Check every 6 months: 9.9
Check every 12 months: 9.3

But bear in mind that in this test, the longer the hold, the lower the statistical support.
Wild guess, if the first one is +/- 5%, the last one is maybe +/- 12%.
This is not an all-start-dates test.

So, it looks like anything out to six month holds would probably be just fine.

Other notes:

More frequent full rebalancing shows slightly better results in backtest, but as you note, I don't think that's what users of this screen would want.

The only thing is that with longer holds occasionally you'll be holding something that has been having some business deterioration.
On the other hand, these are probably pretty safe businesses on average.
The prices might go up or down, but with a huge pile of cash and a high ROE you're probably not facing many business failures.
Personally I think that's one reason for the outperformance: in large part it's average performance, minus some things that run into hard times.
Imagine what the returns of the S&P would be like if you were merely able to skip a handful that ran into the worst trouble.

As an aside, since this is a very large cap screen, even 0.4% trading friction might even be generous.
The bid/ask gap is very small on a lot of these giants.

Jim
Print the post Back To Top
No. of Recommendations: 1
The outperformance of the dividend version (in backtest!) is steady enough that it makes a nice long/short hedged portfolio.

Probably best to ignore this idea.
Once I add in a estimate for the cost of the leverage (at prime), it's not really worth it.
US prime interest rates have averaged 4.9% since 2000.
Short term policy rates have been so low for so long that it's easy to forget that you can't actually borrow at those rates.

A 120/20 portfolio using the (latest) dividend version of the screen does improve returns, but not that much.
Adds about 0.6% CAGR, with steadiness on the DDD3 metric close to the no-dividend version of the screen, still less than SPY.
I don't think it's worth it given the complication and risk from using the leverage.

Jim
Print the post Back To Top
No. of Recommendations: 1
Getting the current picks yourself is dead easy if you have a VL subscription.
...
Thanks, Jim. I assume that's the Smart Investor - Digital Edition ($598). Are discounts available?


I don't know what edition is required...I know they restructured and renamed their products a couple of times.
The main thing is that if you want to automate the picks (Radiscript or other), you need to be able
to export the data, meaning (I believe) you need the Windows app, once called "Value Line Investment Analyzer for Windows (VLIA)"
For a long time this was easy, the main point was that you had to phone them and specifically ask to make sure
your subscription includes the "Analyzer" product, as it wasn't on the web site except for in the professional subscriptions.
In effect, you want the cheapest offering that includes the Analyzer for the standard 1700 stock edition.

I suspect there are others that know this process better...I just keep renewing what I have, so they haven't bothered me with the details of what it's called.

Jim
Print the post Back To Top
No. of Recommendations: 4
One of the reasons I proposed this screen as 40 stocks is that it is, as mentioned, intended as sort of an S&P 500 substitute, so it needs diversification.
But another reason is that I couldn't seem to find a consistent final sort that made it any more profitable at lower depths!

So, here's a possible addition, consistent with the high cash philosophy of the screen:
Add a final sort by cash as a percentage of market cap.

These tests are, as before, two month holds, .4% friction, annual rebalancing.

In the 2000Q1-2020Q1 period
No dividend requirement 40HTD45: CAGR S&P + 5.9%, 89% of the risk of S&P
Dividend requirement 40HTD45: CAGR S&P + 7.5%, 74% of the risk of S&P
Cash/market cap final sort 20HTD30: CAGR S&P + 10.1%, 86% of the risk of S&P

As mentioned before, most of the CAGR advantage of #2 over #1 was concentrated in the tech bear.
So starting after that:

In the 2003Q1-2020Q1 period
No dividend requirement 40HTD45: CAGR S&P + 4.2%, 95% of the risk of S&P
Dividend requirement 40HTD45: CAGR S&P + 4.5%, 85% of the risk of S&P
Cash/market cap final sort 20HTD30: CAGR S&P + 7.4%, 95% of the risk of S&P

So, steps for that Cash/market cap final sort version are:
Timeliness 1-5
ROE Latest Quarter top 26%
(Cash - Long Term Debt) top 45
(Cash / Market Cap) top 45

The 45 in the last two steps is simply so that you get enough picks to do the 40-HTD-45 if you want.
The last step merely reorders them.
The 45 cutoff in the second last step also seems to work pretty well, compared to others you might choose, when using fewer picks.

In case it's not obvious, at depth 45 the screen is unchanged by adding the final sort.
But even at the only slightly different depth 40HTD45 it's slightly improved by adding the final sort.
2003 to date, it's a slightly higher CAGR than either the "no div requirement" and "div requirement" versions.
Around 1%/year.
Though the risk metric comes out higher...I'm not quite sure why that is.
Slightly smaller firms on average, perhaps.
The absolute cash pile size makes the top 45 mostly very big firms, but then you might be picking the smaller subset of those.

Jim
Print the post Back To Top
No. of Recommendations: 0
BUT...all of the better performance was Jan 2000-Q3 2001.

Thanks for the additional backtests. Are dividends reinvested in the backtests? I would assume they are, but thought I'd ask.

Also, just to be clear, the Jan 2000 - Q3 2001 out performance you reference is comparing the two screen versions, not the dividend version with the S&P. My initial interpretation when I read it was the latter, which was disheartening. Then I realized (I hope) I was interpreting your words incorrectly.

Thanks again,

John
Print the post Back To Top
No. of Recommendations: 0
anyone know where you can get cash/lt debt on internet for free?
Print the post Back To Top
No. of Recommendations: 2
Thanks for the additional backtests. Are dividends reinvested in the backtests? I would assume they are, but thought I'd ask.

Yes, all figures with dividends assumed to have been reinvested at market close on ex-div date.
(which would be impossible, of course, as that's before the dividend payment date, but I digress...that's the way almost all total return calculations are done)

Also, just to be clear, the Jan 2000 - Q3 2001 out performance you reference is comparing the two screen versions...

Yes, that bit is merely comparing the two versions.
All the variants did very well relative to the S&P 500 in the three tech bear years.
All of them beat the S&P in both 2000 and 2001. One roughly tied and all the others beat in 2002.

Jim
Print the post Back To Top
No. of Recommendations: 0
anyone know where you can get cash/lt debt on internet for free?

It would be a bit tedious to get it one company at a time, but this would do it.
https://finance.yahoo.com/quote/MSFT/key-statistics?p=MSFT

There are lines for "total debt" and "total cash" down near the bottom left of the page.
All ya gotta do is subtract : )

Jim
Print the post Back To Top
No. of Recommendations: 3
It would be a bit tedious to get it one company at a time, but this would do it.
https://finance.yahoo.com/quote/MSFT/key-statistics?p=MSFT


THANK YOU!!! This saved me some searching around.

Took me about 5 minutes to whip up a script that scrapes it. 2 minutes because my version of wget/curl on my Windows machine can't handle the certificate fubar, another 1 1/2 minutes because the Pogoplug machine that is the only Linux system that is up right now didn't have html2text installed. (Yeah, I really need to get my butt in gear and finish the switchover to a Raspberry PI.)

Didn't even have to do the cookie/crumb thing you have to do to download historical prices from yahoo.

Now I just need to get the symbols of the 1700 T1-T5 stocks.
Print the post Back To Top
No. of Recommendations: 4
Please, could the "SPY alternative" screen be added to Rankings?

Maybe we should find a better name for it first. How about ROE-LargeCap?
Or Mungo-ROE-LargeCap?

Elan
Print the post Back To Top
No. of Recommendations: 0
Since it seems that (at least since 2000) using the "ROE Latest Quarter" field is a whisker better, I thought I'd check to see if the "top 30" was till the best cutoff.
In the category of "harmless overtuning", the highest win rate (which I find correlates with screen robustness post discovery) comes at "top 26%".


Have you tried ROE top 500?
It's almost identical and a bit simpler.

Elan
Print the post Back To Top
No. of Recommendations: 0
So, steps for that Cash/market cap final sort version are:
Timeliness 1-5
ROE Latest Quarter top 26%
(Cash - Long Term Debt) top 45
(Cash / Market Cap) top 45


Mungofitch, is this the current list you're getting?
SLM
SF
NMIH
MOH
NTAP
RL
FL
FNF
UTHR
AB
GILD
TROW
CSCO
ANET
EA
XLNX
LRCX
MXIM
GOOG
SEIC
EXPD
MSFT
TTWO
BBY
FTNT
FB
EPAM
AAPL
COST
TWLO
VRTX
MASI
REGN
NVDA
ACN
ALGN
ROST
INTU
VEEV
EW
LULU
NKE
MNST
AMD
ADBE
Print the post Back To Top
No. of Recommendations: 1
Quite a surprise to see SLM - Sallie Mae at the top of the list.
I'm shocked.

Elan
Print the post Back To Top
No. of Recommendations: 1
"SPY alternative" screen be added to Rankings?

Maybe we should find a better name for it first.


"SPY-in-from-the-Cold"

Eric Hines
Print the post Back To Top
No. of Recommendations: 2
Mungofitch, is this the current list you're getting?

Almost, but not quite.
I match your top 6, and ranks 25-45.
You have BBY but I don't.
I have MKL but you don't.
This one substitution causes ranks 7-24 to shift down one rank.

1439 past the Timeliness step.
Of those, 1261 have ROE Latest Quarter.
26% of that is 328 stocks.
Sort those by Cash- Long Term Debt.

For me, BBY misses the cut because Cash(687.7) - Long Term Debt(0) is 687.7
This beats out BBY's Cash(1980) - Long Term Debt (1332) = 648, so BBY doesn't make the cut.

I guess the question is why MKL didn't make your list.
For them I have Timeliness 3, ROE Latest Quarter 4.62, Cash 4269.1, Long Term Debt 3534.2, Cash-Long Term Debt 734.9, Cash/Market Cap 0.35987288.
In my test this puts them in the top 45, above BBY when sorted by "Cash-Long Term Debt"

=================
In other news, I did a test using "Long Term Debt Latest Quarter" instead of "Long Term Debt".
The "Long Term Debt" field probably comes from the last annual statements, so it's more out of date.
The backtest is almost identical, but a tiny hair better, so I would suggest switching to Long Term Debt Latest Quarter.
The actual debt figures differ quite a bit even if the backtest doesn't, so up to date figures make sense.
It seems to be fully populated--it doesn't change the number of stocks passing any step.

There doesn't seem to be a "Cash Latest Quarter" field.

Jim
Print the post Back To Top
No. of Recommendations: 11
If it's a keeper, I'd like to suggest keeping both the one with, and without, the dividend requirement.

I would suggest maybe calling them something simple: ROE_Cash and ROE_CashDiv

Final tweaks to the screen definitions still ongoing...

Jim
Print the post Back To Top
No. of Recommendations: 0
For me, BBY (sic) misses the cut because Cash(687.7) - Long Term Debt(0) is 687.7
This beats out BBY's Cash(1980) - Long Term Debt (1332) = 648, so BBY doesn't make the cut.


There must be a typo here. what is the correct "misses the cut" on the 1st line?

As for BBY, I looked at what Yahoo has and what Tiingo has, and the BBY quarterly report (May 2, 2020)

roe /cash / debt:
Yahoo: 45.42% / 2.35B / 4.07B ( "Total Cash (mrq)" / "Total Debt (mrq)")
Tiingo: 46.55% / 2.23B / 4.07B ( "Cash & Cash Equivalents" / "Long-term Debt" )
Q1 RPT: 42.08% / 3.919B / 0.621B ( "Cash and cash equivalents" / "Long-term debt")


Microaxis also says the BBY Total debt is 4.07B. "Based on latest financial disclosure Best Buy Co has Total Debt of 4.07 B"

Where are you getting your figures of 1980 & 1332?
Print the post Back To Top
No. of Recommendations: 0
Where are you getting your figures of 1980 & 1332?

VL.
It's a VL screen.

The picks won't be even vaguely similar if you use a different data source.
That might be better or worse, but it'll be different.

At VL, the long term debt and cash fields use last full fiscal, I think.
(unless/until we switch the definition to "long term debt latest quarter")

Jim
Print the post Back To Top
No. of Recommendations: 3
For those who might be interest, the ROE_CashDiv run on thw Topix stocks since 2000 gives:

Japan ROE_CashDiv (JPY) Topix (JPY)
CAGR 9.63 1.11
Volatility (ann.) 19.66 20.91
Max Drawdown -53.03 -60.14
Calmar ratio 0.18 0.02
Sharpe ratio 0.55 0.16
Sortino ratio 0.87 0.24

And on the top 500 stocks in Europe (selecting 10 stocks):

Europe ROE_CashDiv (EUR) Sttoxx 600 (Eur)
CAGR 6.98 4.16
Volatility (ann.) 16.99 15.17
Max Drawdown -51.36 -53.95
Calmar ratio 0.14 0.08
Sharpe ratio 0.49 0.35
Sortino ratio 0.74 0.54
Print the post Back To Top
No. of Recommendations: 1
Almost, but not quite.
I match your top 6, and ranks 25-45.
You have BBY but I don't.
I have MKL but you don't.
This one substitution causes ranks 7-24 to shift down one rank.

1439 past the Timeliness step.
Of those, 1261 have ROE Latest Quarter.
26% of that is 328 stocks.
Sort those by Cash- Long Term Debt.

For me, BBY misses the cut because Cash(687.7) - Long Term Debt(0) is 687.7
This beats out BBY's Cash(1980) - Long Term Debt (1332) = 648, so BBY doesn't make the cut.

I guess the question is why MKL didn't make your list.
For them I have Timeliness 3, ROE Latest Quarter 4.62, Cash 4269.1, Long Term Debt 3534.2, Cash-Long Term Debt 734.9, Cash/Market Cap 0.35987288.
In my test this puts them in the top 45, above BBY when sorted by "Cash-Long Term Debt"


Thanks. I figured it out. MKL didn't make the cut on ROE top 26% because 26% of 1261 is 327.86, so the 328th ranked stock shouldn't be in. However, there are several stocks tied at the bottom of the list with ROE=4.62 so, when I add "PlusTies" to the Radiscript top 26% statement, MKL passes and our rankings match.

I'll rerun it with LTD Latest Quarter. At this time of massive new LTD issuance by companies it may make a significant difference, although the new debt figures will take many months to be reflected by voldemort.

Elan
Print the post Back To Top
No. of Recommendations: 11
Latest iteration of ROE_Cash screen.

Define   {ROE_Cash_Debt}                                                                                    
Uses [Timeliness Rank] [ROE Latest Qtr] [Cash] [Long-Term Debt Latest Qtr] [Market Cap $ (Mil)]
Deblank [Timeliness Rank] [ROE Latest Qtr] [Cash] [Long-Term Debt Latest Qtr] [Market Cap $ (Mil)]
Keep :[Timeliness Rank]<=5
Sort Descending [ROE Latest Qtr]
Top :26% PlusTies
Create [Formula1] :([Cash]-[Long-Term Debt Latest Qtr])
Sort Descending [Formula1]
Top :45
Create [Formula2] :([Cash]/[Market Cap $ (Mil)])
Sort Descending [Formula2]
End


And the screen results:

ROE_Cash_Debt  TIMELINESS RANK  ROE LATEST QTR  CASH    LONG-TERM DEBT LATEST QTR  MARKET CAP $ (MIL)  TIED RANK 1  FORMULA1  TIED RANK 2  FORMULA2  TIED RANK
SLM 3 20.85 5563.9 4708 2723.2 45 855.9 39 2.043148 1
SF 3 5.28 4918.4 1077 3112.3 247 3841.4 10 1.58031 2
NMIH 3 5.39 1182 145.8 1017.2 242 1036.2 31 1.162013 3
MOH 3 10.81 4398 1825 10441.2 105 2573 15 0.421216 4
NTAP 4 98.23 3899 1146 10207.6 7 2753 13 0.38197 5
RL 2 10.72 1987.5 587.4 5262.2 106 1400.1 22 0.377694 6
MKL 3 4.62 4269.1 3534.2 11862.8 284 734.9 44 0.359873 7
FL 4 7.32 907 122 2950.7 174 785 42 0.307385 8
FNF 3 6.32 2252 838 7635.9 205 1414 21 0.294923 9
AB 3 6.26 1774.6 560 6405.3 209 1214.6 26 0.277052 10
GILD 2 7.03 24352 23088 92658.1 182 1264 25 0.262816 11
TROW 2 5.33 4721.6 0 26181.8 245 4721.6 8 0.180339 12
CSCO 3 7.77 33413 11578 191756.8 165 21835 4 0.174247 13
ANET 3 4.86 2724.4 0 16999.7 271 2724.4 14 0.160262 14
EA 1 4.78 5445 995 34742.3 275 4450 9 0.156725 15
XLNX 3 6.13 3175.7 1246 22275.9 212 1929.7 18 0.142562 16
MXIM 2 9.95 1898.3 993.7 15245.7 116 904.6 37 0.124514 17
GOOG 2 6.27 119675 4554 968294.6 208 115121 1 0.123594 18
SEIC 3 6.3 844.5 0 7667.3 206 844.5 40 0.110143 19
EXPD 3 6.01 1230.5 313.6 12088.9 215 916.9 35 0.101788 20
MSFT 1 9.39 133819 62862 1409159 128 70957 2 0.094964 21
TTWO 3 6.81 1571 0 16644.3 191 1571 20 0.094387 22
BBY 1 9.38 1980 1239 21200.4 129 741 43 0.093394 23
FTNT 3 19.39 2065.6 0 23677.8 49 2065.6 17 0.087238 24
FB 2 4.66 54855 0 655644.5 282 54855 3 0.083666 25
EPAM 2 5.19 936.6 25 12449.7 252 911.6 36 0.075231 26
AAPL 2 14.34 100557 89086 1380346 73 11471 5 0.072849 27
COST 1 5.6 9444 7545 134655 231 1899 19 0.070135 28
TWLO 3 5.59 1852.7 466.9 26562.6 232 1385.8 23 0.069748 29
VRTX 1 9.33 3808.3 533 73739.1 131 3275.3 11 0.051646 30
MASI 2 5.14 687.7 0 13471.9 256 687.7 45 0.051047 31
REGN 2 5.15 3214.3 0 64721.9 255 3214.3 12 0.049663 32
NVDA 2 7.79 10897 1991 219585.6 164 8906 6 0.049625 33
TJX 2 14.94 3030.2 2235.9 61181.9 68 794.3 41 0.049528 34
ACN 1 7.98 6130.2 13.2 124489.5 158 6117 7 0.049243 35
ALGN 3 53.21 868.6 0 18588.7 15 868.6 38 0.046727 36
ROST 2 13.58 1351.2 312.9 32427.3 76 1038.3 30 0.041669 37
INTU 3 6.44 2740 373 75677.6 202 2367 16 0.036206 38
VEEV 2 6.75 1086.7 0 30142.7 192 1086.7 29 0.036052 39
ADP 1 14.95 1949.2 1002.8 57928.4 67 946.4 33 0.033648 40
EW 1 7.96 1516.9 594.6 45628.2 159 922.3 34 0.033245 41
LULU 2 15.27 1093.5 0 33679.6 65 1093.5 28 0.032468 42
NKE 2 9.36 4663 3463 144537.3 130 1200 27 0.032262 43
MNST 1 7.2 1331 0 44221.4 176 1331 24 0.030099 44
AMD 2 5.33 1503 488 66032.7 245 1015 32 0.022761 45
Print the post Back To Top
No. of Recommendations: 7
Define   {ROE_CashDiv}                                                                                                            
Uses [Timeliness Rank] [ROE Latest Qtr] [Cash] [Long-Term Debt Latest Qtr] [Market Cap $ (Mil)] [Current Dividend]
Deblank [Timeliness Rank] [ROE Latest Qtr] [Cash] [Long-Term Debt Latest Qtr] [Market Cap $ (Mil)] [Current Dividend]
Keep :[Timeliness Rank]<=5
Keep :[Current Dividend]>0
Sort Descending [ROE Latest Qtr]
Top :26% PlusTies
Create [Formula1] :([Cash]-[Long-Term Debt Latest Qtr])
Sort Descending [Formula1]
Top :45 PlusTies
Create [Formula2] :([Cash]/[Market Cap $ (Mil)])
Sort Descending [Formula2]
End



ROE_CashDiv  TIMELINESS RANK  ROE LATEST QTR  CASH    LONG-TERM DEBT LATEST QTR  MARKET CAP $ (MIL)  CURRENT DIVIDEND  TIED RANK 1  FORMULA1  TIED RANK 2  FORMULA2  TIED RANK
IDT 3 15.71 261.3 0 285.5 0.76 35 261.3 31 0.915236 1
BGCP 4 6.44 1114.8 0 3026.4 0.64 168 1114.8 15 0.368358 2
IDCC 4 17.22 933.7 268.8 2920.8 1.2 29 664.9 22 0.319673 3
AMGN 3 10.03 38085 30193 122570.7 4.7 87 7892 3 0.310719 4
FLR 2 9.14 1961.5 1517.9 7348.6 0.84 101 443.6 28 0.266922 5
XLNX 4 5.72 3337.7 994.8 14647.3 1.32 196 2342.9 8 0.227871 6
MSFT 4 7.56 113240 59306 501445.1 1.56 131 53934 1 0.225827 7
CTB 2 7.22 504.4 297.1 2273.7 0.42 139 207.3 38 0.221841 8
TER 3 10.87 1178.9 352.7 6084.9 0.28 78 826.2 18 0.193742 9
MXIM 4 6.09 2230.7 991.3 12760.7 1.32 180 1239.4 12 0.17481 10
TROW 2 6.78 2784.6 0 16697.3 2.28 154 2784.6 7 0.166769 11
NSP 3 13.26 287.9 104.4 1823.9 1 51 183.5 42 0.157849 12
ITT 3 6.07 480.6 0 3488.7 0.51 181 480.6 26 0.137759 13
NLY 2 14.22 1539.7 0 11411.8 1.2 43 1539.7 11 0.134922 14
FII 2 8.08 346.8 172.1 2615.6 1 122 174.7 43 0.132589 15
ROK 4 10.48 2429.2 1240.9 19814.7 3.04 82 1188.3 14 0.122596 16
BC 4 5.95 668.8 448 5478.1 0.66 188 220.8 37 0.122086 17
COH 2 7.1 1319.4 591.6 10909.7 1.35 143 727.8 20 0.120938 18
AMAT 5 9.15 4965 3125 41951.4 0.4 100 1840 10 0.118351 19
JNJ 3 5.87 38376 23546 342773.3 3.35 190 14830 2 0.111957 20
NVDA 4 11.35 6798 1989 62647.6 0.56 69 4809 5 0.108512 21
FL 3 5.96 1021 127 9643.8 1.24 187 894 17 0.105871 22
PLCE 4 8.94 227.6 0 2155.6 1.6 105 227.6 34 0.105585 23
AEO 2 6.46 260.1 0 2518.8 0.5 166 260.1 32 0.103263 24
LUV 5 6.18 3305 2821 32216 0.4 177 484 25 0.102589 25
LOGI 3 12.16 519.2 0 5092.1 0.56 61 519.2 23 0.101962 26
BA 5 451.16 10029 9568 109396.4 5.89 1 461 27 0.091676 27
SEIC 4 6.6 685.2 0 8109.7 0.58 161 685.2 21 0.084491 28
EXPD 3 5.82 807.8 0 10072.1 0.8 193 807.8 19 0.080202 29
ADP 4 13.39 3214.6 2002.5 46470.1 2.38 49 1212.1 13 0.069176 30
ACN 3 13.54 4908.5 24.6 77547.8 2.5 45 4883.9 4 0.063296 31
SWKS 4 7.04 1083.8 0 17833.2 1.12 145 1083.8 16 0.060774 32
MA 4 19.04 7279 3326 121867.2 0.88 27 3953 6 0.059729 33
NKE 4 6.83 5457 3473 91692.7 0.72 153 1984 9 0.059514 34
MELI 4 15.17 487.5 301.9 9192.6 0.63 38 185.6 41 0.053032 35
CGNX 4 5.69 348.4 0 6868.7 0.3 197 348.4 30 0.050723 36
TJX 3 12.7 2447.8 2226.9 51128.6 1.04 56 220.9 36 0.047875 37
WSM 2 5.98 193.6 0 4267.8 1.56 186 193.6 40 0.045363 38
ERIE 4 6.84 245 0 5624 3.13 152 245 33 0.043563 39
TXN 4 11.27 3490 2978 80346 2 71 512 24 0.043437 40
RHI 3 8.27 224.6 0.9 6278 0.96 118 223.7 35 0.035776 41
ROST 4 9.23 763.3 396.4 25921.3 0.64 98 366.9 29 0.029447 42
MKTX 5 6.84 199.7 0 7030.1 1.32 152 199.7 39 0.028406 43
ROL 5 8.65 134.6 0 7846.2 0.46 111 134.6 44 0.017155 44
PAYX 4 11.13 131.5 0 22073.4 1.93 73 131.5 45 0.005957 45
Print the post Back To Top
No. of Recommendations: 9
Please ignore the previous rankings. I used the wrong input file.

Define   {ROE_CashDiv}                                                                                                            
Uses [Timeliness Rank] [ROE Latest Qtr] [Cash] [Long-Term Debt Latest Qtr] [Market Cap $ (Mil)] [Current Dividend]
Deblank [Timeliness Rank] [ROE Latest Qtr] [Cash] [Long-Term Debt Latest Qtr] [Market Cap $ (Mil)] [Current Dividend]
Keep :[Timeliness Rank]<=5
Keep :[Current Dividend]>0
Sort Descending [ROE Latest Qtr]
Top :26% PlusTies
Create [Formula1] :([Cash]-[Long-Term Debt Latest Qtr])
Sort Descending [Formula1]
Top :45 PlusTies
Create [Formula2] :([Cash]/[Market Cap $ (Mil)])
Sort Descending [Formula2]
End



ROE_CashDiv  TIMELINESS RANK  ROE LATEST QTR  CASH    LONG-TERM DEBT LATEST QTR  MARKET CAP $ (MIL)  CURRENT DIVIDEND  TIED RANK 1  FORMULA1  TIED RANK 2  FORMULA2  TIED RANK
SLM 3 20.85 5563.9 4708 2723.2 0.12 22 855.9 21 2.043148 1
SF 3 5.28 4918.4 1077 3112.3 0.7 163 3841.4 7 1.58031 2
ANF 4 7.85 671.3 232 713.2 0.8 102 439.3 30 0.941251 3
NTAP 4 98.23 3899 1146 10207.6 2.1 2 2753 8 0.38197 4
RL 2 10.72 1987.5 587.4 5262.2 2.75 61 1400.1 13 0.377694 5
FL 4 7.32 907 122 2950.7 1.6 112 785 24 0.307385 6
FNF 3 6.32 2252 838 7635.9 1.32 131 1414 12 0.294923 7
AB 3 6.26 1774.6 560 6405.3 2.3 134 1214.6 15 0.277052 8
FAF 3 5.07 1486 1006.6 5427 1.76 172 479.4 29 0.273816 9
GILD 2 7.03 24352 23088 92658.1 2.72 118 1264 14 0.262816 10
TROW 2 5.33 4721.6 0 26181.8 3.65 162 4721.6 6 0.180339 11
CSCO 3 7.77 33413 11578 191756.8 1.44 104 21835 2 0.174247 12
RGR 2 5.15 164.9 0 1048.5 1.4 169 164.9 40 0.157272 13
FHI 3 6.15 340.6 195 2260 1.08 136 145.6 41 0.150708 14
PETS 3 5.36 100.5 0 679.4 1.12 160 100.5 43 0.147925 15
XLNX 3 6.13 3175.7 1246 22275.9 1.52 137 1929.7 10 0.142562 16
LRCX 3 12.67 5431.2 5043.9 40644.6 4.6 50 387.3 35 0.133627 17
MXIM 2 9.95 1898.3 993.7 15245.7 1.92 68 904.6 20 0.124514 18
LZB 2 4.83 129.8 0 1099.3 0.56 180 129.8 42 0.118075 19
SEIC 3 6.3 844.5 0 7667.3 0.72 132 844.5 22 0.110143 20
HLI 2 5.16 411 4.9 3896.8 1.24 168 406.1 34 0.105471 21
EXPD 3 6.01 1230.5 313.6 12088.9 1.04 139 916.9 19 0.101788 22
MSFT 1 9.39 133819 62862 1409159 2.04 78 70957 1 0.094964 23
BBY 1 9.38 1980 1239 21200.4 2.2 79 741 25 0.093394 24
NATI 3 10.36 432.6 0 4987.4 1.04 64 432.6 32 0.086739 25
TER 2 11.36 911.2 398.5 10542 0.4 58 512.7 27 0.086435 26
WSM 3 13.44 432.2 0 5118.8 1.92 44 432.2 33 0.084434 27
MED 3 16.68 92.7 0 1108.1 4.52 29 92.7 44 0.083657 28
AAPL 2 14.34 100557 89086 1380346 3.28 41 11471 3 0.072849 29
GNTX 3 4.88 436.7 0 6200 0.48 178 436.7 31 0.070435 30
COST 1 5.6 9444 7545 134655 2.84 150 1899 11 0.070135 31
EXPO 2 8.12 231.6 0 3531.4 0.76 96 231.6 38 0.065583 32
LOGI 1 9.06 604.5 0 9574.2 0.74 83 604.5 26 0.063138 33
NVDA 2 7.79 10897 1991 219585.6 0.64 103 8906 4 0.049625 34
TJX 2 14.94 3030.2 2235.9 61181.9 0.23 39 794.3 23 0.049528 35
ACN 1 7.98 6130.2 13.2 124489.5 3.26 99 6117 5 0.049243 36
RHI 3 7.96 270.5 0.2 5614.4 1.38 100 270.3 36 0.04818 37
ROST 2 13.58 1351.2 312.9 32427.3 1.16 43 1038.3 17 0.041669 38
ERIE 3 5.26 336.7 95.8 8402.2 3.86 165 240.9 37 0.040073 39
INTU 3 6.44 2740 373 75677.6 2.14 128 2367 9 0.036206 40
ADP 1 14.95 1949.2 1002.8 57928.4 3.79 38 946.4 18 0.033648 41
NKE 2 9.36 4663 3463 144537.3 0.98 80 1200 16 0.032262 42
WST 2 4.99 439.1 254.4 15336.6 0.64 175 184.7 39 0.028631 43
MKTX 2 9.38 500.6 0 18120.7 2.4 79 500.6 28 0.027626 44
JKHY 1 4.88 93.6 55.2 14591.3 1.72 178 38.4 45 0.006415 45
Print the post Back To Top
No. of Recommendations: 2
Continuing to look at BBY......I don't get it.

Recall, from my previous post:
         roe    /cash  / debt:
Yahoo: 45.42% / 2.35B / 4.07B ( "Total Cash (mrq)" / "Total Debt (mrq)")
Tiingo: 46.55% / 2.23B / 4.07B ( "Cash & Cash Equivalents" / "Long-term Debt" )
Q1 RPT: 42.08% / 3.919B / 0.621B ( "Cash and cash equivalents" / "Long-term debt")





From Elan's post:
"ROE LATEST QTR CASH LONG-TERM DEBT LATEST QTR"
"9.38 1980 1239"

Here is the 2020Q1 -- http://investors.bestbuy.com/investor-relations/news-and-eve...

Which says:
($ in millions)
Cash and cash equivalents $3,919

Why is VL saying $1980?

It's a VL screen. The picks won't be even vaguely similar if you use a different data source.

The ultimate source of the data is BBY's financial reports, right? Brings to mind the quote, "You are entitled to your own opinion but not your own facts."


Again from the qtr report:
Long-term liabilities 694
Long-term debt 621

If you add these together, the sum is 1315. Close to VL's 1239, but maybe that is just coincidence?
Does VL have their own private meaning for "LONG-TERM DEBT" that is different from BBY's meaning?

-------
Looking further in the qtr rpt, under CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
Increase (decrease) in cash, cash equivalents and restricted cash 1,679
Cash, cash equivalents and restricted cash at beginning of period 2,355
which sum up to:
Cash, cash equivalents and restricted cash at end of period 4,034

And where does the 4.07B (LT) debt come from?
It looks like maybe:
Current portion of long-term debt 673
Long-term operating lease liabilities 2076
Long-term liabilities 694
Long-term debt 621

Which sum to.....4064



so:
1) It looks like yahoo & tiingo are reporting the cash at the BEGINNING of the quarter, not the EOQ.

2) It looks like yahoo & tiingo are reporting the total of all the long term debts & liabilities as LT.Debt.

3) I have no idea how VL came up with their numbers.


Ugh. Too many discrepancies for me.
Print the post Back To Top
No. of Recommendations: 0
So, steps for that Cash/market cap final sort version are:
Timeliness 1-5
ROE Latest Quarter top 26%
(Cash - Long Term Debt) top 45
(Cash / Market Cap) top 45


Sorry, I have to ask. Did you try backtesting this version with the final sort with dividends?

John
Print the post Back To Top
No. of Recommendations: 3
3) I have no idea how VL came up with their numbers.

One thing about VL is that it isn't obvious which quarter they're reporting as the latest quarter. They don't update their database immediately when a company reports its financials for the quarter. They have a 13 week update cycle. Each week they select a number of industries and update all the companies in those industries, for a total of about 130 companies in each weekly update, and a total of 1700 companies every quarter. So which quarter is the "latest quarter" for BBY? I don't know. I could probably figure it out, but I won't bother (unless you ask nicely ;-).

It doesn't really matter. What matters is, do we trust the data and the backtest enough to follow the screen mechanically? I worry more about the heavy loading of financial companies at the top of the ranking, for which the balance sheet items of Cash and LTD have a totally different meaning.

Elan
Print the post Back To Top
No. of Recommendations: 4
What matters is, do we trust the data and the backtest enough to follow the screen mechanically?

Based on just the discrepancies in the BBY figures, I do not trust the data that VL reports.


One thing about VL is that it isn't obvious which quarter they're reporting as the latest quarter. They don't update their database immediately when a company reports its financials for the quarter. They have a 13 week update cycle.

There is a marvelous invention called a computer that allows people to update their databases _much_ faster than the pencil&paper method. Maybe VL should look into buying one.

So which quarter is the "latest quarter" for BBY?

How about "the one which was most recently reported"? Three weeks ago.
Yahoo managed to get that----and Yahoo is free. So does Tiingo, which charges money but not for this data.


I don't know. I could probably figure it out, but I won't bother...

I wouldn't either.

for a total of about 130 companies in each weekly update, and a total of 1700 companies every quarter.

So this screen is comparing some companies' week-old data and some companies with other companies' 13-week old data. And we don't know which is current data and which is obsolete data.

do we trust the data and the backtest enough to follow the screen

GIGO. We do not know how VL arrived at their figures, and we do not know how old (obsolete) their data source is, and we do know know how widely scatted in time the data of different companies is.
Print the post Back To Top
No. of Recommendations: 9
We do not know how VL arrived at their figures, and we do not know how old (obsolete) their data source is, and we do know know how widely scatted in time the data of different companies is.

Oh, we pretty much know those things.
The problem is that the answers aren't that great.
For example, the financial data are lagged roughly 2-15 weeks, distributed more or less linearly across the set of all firms, but largely simultaneous within industries.

Anything nice we can say?

That aspect of their update cycle hasn't changed for decades, as far as I know.
So the backtests are as valid as they ever were for any screen.

There are advantages to their data, as well as disadvantages.
For example, I don't know of any other source that is as useful as their "Current EPS" definition.
They have a pretty good knack of eliminating extraordinary items that are extraordinary enough to make the data more predictive than it would otherwise be.
It includes two quarters of forecasts, which is enough time to factor in things that are already obvious, but not enough to be merely implausible optimistic extrapolation.
Another example is their 5 year rate of EPS growth, which is a three year average compared to a three year average 5 years earlier, to reduce statistical noise.
I've found a lot of utility for that field, especially in the last decade.

Frankly, I've always used and had good success with their "Return on Shareholder' Equity" field, which is (I now believe) updated only annually.
That would count as pretty crude data. I ought to be ashamed.
I'm switching to the quarterly one now that I've realized how stale it gets, but so far it doesn't seem to make a difference.

I think it's more important to ensure that the data source you use for a backtest matches the data
source you use for investing than it is to ensure that either of them is the most perfect source.
Of course I could be wrong about that.

Jim
Print the post Back To Top
No. of Recommendations: 0
I think it's more important to ensure that the data source you use for a backtest matches the data
source you use for investing than it is to ensure that either of them is the most perfect source.


Jim, could you check the radiscripts I posted and the resulting rankings, before I hand them over to our rebellious friend to include in the weekly posts?

Elan
Print the post Back To Top
No. of Recommendations: 8
GIGO. We do not know how VL arrived at their figures, and we do not know how old (obsolete) their data source is, and we do know know how widely scatted in time the data of different companies is.

Okay, I checked. We do know the source of the figures, and it's pretty darned awful!!!

The numbers we're using for screening for Cash and LTD are from the end of FY2018. They have the numbers for FY2019 in their reports, but the downloadable data in the Analyzer used for screening is from the year before. And this is despite the fact that their latest report about the company is dated 4/24/2020.

I don't know if this has been their practice all along, or they've fallen asleep at the wheel in the last year. And it makes me suspect that, even though Jim's backtest looks great, the results of screening going forward will be poor because the data have fallen woefully out of date.

Some more spot checking of companies would probably be a good idea.

Elan
Print the post Back To Top
No. of Recommendations: 2

ROE_CashDiv TIMELINESS RANK ROE LATEST QTR CASH LONG-TERM DEBT LATEST QTR MARKET CAP $ (MIL) CURRENT DIVIDEND TIED RANK 1 FORMULA1 TIED RANK 2 FORMULA2 TIED RANK
SLM 3 20.85 5563.9 4708 2723.2 0.12 22 855.9 21 2.043148 1
SF 3 5.28 4918.4 1077 3112.3 0.7 163 3841.4 7 1.58031 2
ANF 4 7.85 671.3 232 713.2 0.8 102 439.3 30 0.941251 3
NTAP 4 98.23 3899 1146 10207.6 2.1 2 2753 8 0.38197 4
RL 2 10.72 1987.5 587.4 5262.2 2.75 61 1400.1 13 0.377694 5


I checked the data for the top five companies in the rankings. It's a hodge podge of dates.

SLM FY'19
SF FY'19
ANF Cash 2/1/20 LTD FY'19
NTAP Cash FY'18 LTD 1/24/20
RL Cash FY'18 LTD FY'19
Print the post Back To Top
No. of Recommendations: 1
This wouldn't be the first good sounding screen that I have passed up because of lack of confidence in the data or methodology.

Q for the backtesters: Is the return data of the backtest the *real* contemporaneous price data, or is it as flaky as the screen data?

OTOH, if this screen actually works (meaning: works good in real life using actual prices) with garbage(ish) data, then maybe it's a darn robust screen. How does it compare to throwing darts?
Print the post Back To Top
No. of Recommendations: 2
Q for the backtesters: Is the return data of the backtest the *real* contemporaneous price data, or is it as flaky as the screen data?

Definitely real.
The backtesters are far more scrupulous than the data vendors.

Jim
Print the post Back To Top
No. of Recommendations: 6
OTOH, if this screen actually works (meaning: works good in real life using actual prices) with garbage(ish) data, then maybe it's a darn robust screen. How does it compare to throwing darts?

The screen may actually work despite the crappy data. First, the screening parameters change very slowly. Second, as Jim noted, all it may be doing is acting as a crap filter. The stocks are filtered for solid management practices - high cash, low debt, good ROE. VL has a proprietary Safety Rank field, where 1 is best and 5 is worst. I looked at the list of stocks in the screen. None of them have a Safety Rank of 5. Two out of the 45 have a rank of 4. All the others are ranked 1 to 3.

Elan
Print the post Back To Top
No. of Recommendations: 3
The screen may actually work despite the crappy data. First, the screening parameters change very slowly. Second, as Jim noted, all it may be doing is acting as a crap filter. The stocks are filtered for solid management practices - high cash, low debt, good ROE.

Well, that makes me feel a little better. I'm all about crap filters.

But unfortunately I'm not quite convinced that this crap filter is accurate when it's using VL's sometimes variably obsolete and "creative" interpretation of cash and long-term debt.

Of the 45 stocks that Elan posted, 12 of them had more LT debt than cash---according to the Yahoo data. Granted, I have only cross-checked one of them (BBY) with the data reported by Tiingo.

Sooooo, these 12 should not be on the "buy" list. Should they? Top 26% ROE of 1700 stocks is 442. I would think that the next sort of Cash-debt would have none of them in the top 40 of the 442.

...
Decided to cross-check one more.
ADBE.
Yahoo says: cash 4170 and LTdebt 4710

Tiingo says cash 2690 and LTdebt 4710
Ah, and "Short-term Investments" 1480. 2690+1480 = 4170. Which matches what Yahoo says.

Tiingo gives as-reported date of 3/25/2020.
BTW, these figures from Tiingo have not changed much over the past 5 quarters, which is as far back as I looked.

Now the question I have is: is this still a good screen if you just apply the correct data to the VL1700 stocks. Too bad I dropped my Portfolio123 account, as I know how to backtest it there. Assuming, that is, that P123 has the same data as Tiingo does, presumably correct.

############
I forgot to call the library today to see if they have VL. If somebody wants to email me the list of VL's 1700 stocks I could grab the Yahoo data and run the screen, and then we could compare the list of 45 stocks. Give me something to do over the non-holiday weekend. Maybe grab the Tiingo data, too, and compare that.
Print the post Back To Top
No. of Recommendations: 3
Jim, could you check the radiscripts I posted and the resulting rankings, before I hand them over to our rebellious friend to include in the weekly posts?

Can you wait a couple of days?

There are a few other tests I'd like to do that might be interesting, and I'm quite busy for a couple of days...

Jim
Print the post Back To Top
No. of Recommendations: 1
Elann,

Jim, could you check the radiscripts I posted and the resulting rankings, before I hand them over to our rebellious friend to include in the weekly posts?

For what it is worth, I tried you two radiscript definitions in GTR1 Helper to see what it thought of them. It did not appear to have any problem with the Radiscript itself. The only problem Helper had was that it had no GTR1 translation for [ROE Latest Qtr]. I made a search of all the translations gave me for VL screens and found that there were none involving ROE. I guess it is an academic exercise anyway because even if I had the translation, GTR1 would not be allowed to backtest it anyway.

I do question your naming convention though. Is there a reason one name has two underscores while the other only has one?

Larry
Print the post Back To Top
No. of Recommendations: 0
Definitely real.
The backtesters are far more scrupulous than the data vendors.


Just so I understand correctly, the backtest is conducted using current/most-recent/up-to-date data while the real time screen picks would rely on LVs out-of-date-by-up-to-a-year (or more!) data. Correct?

If so, definitely a factor is estimating the likelihood of future returns approximating backtested returns. Shoot.

John
Print the post Back To Top
No. of Recommendations: 0
I do question your naming convention though. Is there a reason one name has two underscores while the other only has one?

Don't read much into it. The names I chose for my own radiscripts can be changed when they become "official".

Elan
Print the post Back To Top
No. of Recommendations: 1
Can you wait a couple of days?

There are a few other tests I'd like to do that might be interesting, and I'm quite busy for a couple of days...


No problem. I hope you won't mine the data too much.

Given the crappiness we're finding in the voldemort data, I wonder if it wouldn't be better to use another universe for this. Would SI-Pro work better? I'm a long time voldemort aficionado, but this is tempting me to throw in the towel.

Elan
Print the post Back To Top
No. of Recommendations: 1
Just so I understand correctly, the backtest is conducted using current/most-recent/up-to-date data while the real time screen picks would rely on LVs out-of-date-by-up-to-a-year (or more!) data.
Correct?


More or less.
The advantage is that the backtest is doing the same thing you could do today.

If you want to use more up to date data, you need a more up-to-date data source for both the backtest and the running of the screen.
That's doable.

Jim
Print the post Back To Top
No. of Recommendations: 1
I accidently posted this in the wrong thread but speaking of SIP.
It’s been a long time since I remember anyone trying to duplicate VL’s Timeliness Rank within SIP but with the absence of VL backtest capability someone might want to reference this article from ’08.
https://www.researchgate.net/publication/226147548_Unravelin...
RAM
Print the post Back To Top
No. of Recommendations: 1
Just so I understand correctly, the backtest is conducted using current/most-recent/up-to-date data while the real time screen picks would rely on LVs out-of-date-by-up-to-a-year (or more!) data. Correct?

No. The backtests are done with as-was information. Otherwise they'd be useless.

Elan
Print the post Back To Top
No. of Recommendations: 2
I forgot to call the library today to see if they have VL

As I mentioned earlier, thanks to your suggestion, I got on VL in a matter of minutes by logging into my county library platform, searching for VL investment survey, and clicking on the link.

It's a little clunky, though. Can't download results, need to copy-and-paste and then move things around because it doesn't paste nicely formatted. And can only view 500 tkrs/page, so it takes two or three (depending on screen) copy-paste trips to complete. Other issues,

1. market cap is listed as 145B, 980M, 1.2T, etc. So these need to be converted to numbers to conduct the last sort. The easiest way I could think of to fix this was to use python, so I ended up writing a small python program to do all the sorting, etc.

2. there is no ROE latest Q. There is "Net Income Latest Q" and "Shareholders Equity Latest Q". I then create ROE latest Q by dividing the first by the second, correct?

3. there is no "Cash latest Q". I used "Cash and Market Securities" (not latest Q). Is that the best substitute?

4. It also doesn't tell you the multiplier for each category (e.g. millions, thousands). Easy enough to figure out, though.

John
Print the post Back To Top
No. of Recommendations: 1
Would SI-Pro work better? I'm a long time voldemort aficionado, but this is tempting me to throw in the towel.

We can check both.

I too am keen to avoid any overtuning.
I'm much more of a KISS man than I used to be.
Especially in this context, where the goal is modest: safe, simple, diversified, just moderately better than an index fund.

Jim
Print the post Back To Top
No. of Recommendations: 0
If somebody wants to email me the list...

Did you get what you needed? I can send you a list of the 1400+ stocks that have a timeliness ranking, which is the first filter.

John
Print the post Back To Top
No. of Recommendations: 0
No. The backtests are done with as-was information.

Thanks. That's what I was wondering.

John
Print the post Back To Top
No. of Recommendations: 2
Here's the best I can do via my library subscription. 

Tkr	T	NIQ	SEQ	Cash	LTD	Cap	ROE    Cash-LTD	Cash_over_Cap
NMIH	3	58.3	930.42	1182.03	145.76	1210	0.0627	1036.27	0.98
ANF	4	83.13	1058.81	671.27	231.96	803.85	0.0785	439.31	0.84
AB	3	248.86	4017.1	1774.6	560	2550	0.0620	1214.6	0.70
GPS	5	216.1	3316	1654	1249	3940	0.0652	405	0.42
MOH	3	184	1647	4398	1468	10870	0.1117	2930	0.40
NTAP	4	277	282	3899	1144	10240	0.9823	2755	0.38
RL	2	334.1	3116.5	1987.5	901.7	5960	0.1072	1085.8	0.33
IONS	2	184.42	1471.09	2499.54	785.5	7820	0.1254	1714.04	0.32
FL	4	171	2473	907	122	3070	0.0691	785	0.30
UTHR	3	159.2	2780.4	1485.9	600	5140	0.0573	885.9	0.29
HUM	3	717	12037	15026	4967	52800	0.0596	10059	0.28
GILD	2	1551	22067	24352	22094	93950	0.0703	2258	0.26
GOOG	2	10671	201442	119675	4554	476620	0.0530	115121	0.25
AJRD	3	31.4	616.8	735.3	352.3	3490	0.0509	383	0.21
CSCO	3	3368	35708	33413	14475	194060	0.0943	18938	0.17
EA	1	418	7237	5445	994	33890	0.0578	4451	0.16
XLNX	3	193.4	2641.16	3175.68	1234.81	22140	0.0732	1940.87	0.14
LRCX	3	590.4	4537.61	5431.2	3822.77	40080	0.1301	1608.43	0.14
MXIM	2	166	1619.94	1898.33	992.58	15350	0.1025	905.75	0.12
ALXN	3	889	11271.8	2749.5	2375	23440	0.0789	374.5	0.12
Print the post Back To Top
No. of Recommendations: 1
Would SI-Pro work better? I'm a long time voldemort aficionado, but this is tempting me to throw in the towel.

Here's a step toward an answer. I've attempted to replicate Jim’s original ROE_Cash screen (no dividend criterion) using SI and CPiT data.

As a first step I used MCap top 1700. Admittedly this will not replicate the VL universe, but as Jim indicated large cap stocks should generally rise to the top in ROE_Cash screening.

In both URLs I attempted to use Robbie’s derived (*d.c and *d.s) fields where appropriate. I backtested over the interval from 19970902 to 20100601, which is common to CPiT and SI.

Here are the results:

Average ROE_Cash_SI ROE_Cash_CPiT
CAGR 11.5388 10.7471
GSD(20) 29.1350 23.0162
DIGSD(20; 0%) 32.3887 25.3770
LDD(20; 0%) 18.1481 14.4165
LDDD3 16.4984 14.0752
MDD -57.2831 -53.4873
UI(20) 19.9528 15.4811
Sharpe(20) 0.4428 0.4563
Beta(20) 1.2093 1.0704
TI(20) 9.2616 8.7625
AT 2.2199 1.4249

CAGR is greater using SI. Risk numbers (LDD, LDDD3, MDD & UI) are better using CPiT. AT is lower using CPiT. I believe that CPiT is a better data source than SIPro for this screen, but I don't have a lot of experience using CPiT, and I'll defer to Robbie if he disagrees.

http://gtr1.net/2013/?~ROE_Cash_CPiT:s19970902e20100601h42f0...
http://gtr1.net/2013/?~ROE_Cash_SI:s19970902e20100601h42f0.4...

I don't have authorization for historic screening using GTR1, so I can't compare past CPiT picks and associated data fields to those from SI. Similarly, I no longer have a VL subscription, so I can't compare SI picks to VL picks. And, of course, (thanks to Lord V's lawyers) I can't backtest over the same interval using VL.

I never expect to find a data source that is sufficiently complete, current, consistent, correct, and cheap. But, observations like those posted earlier in this thread led me to drop my VL subscription years ago. I could never figure out how to get VL numbers to agree with company-posted GAAP/non-GAAP numbers.

Eric
Print the post Back To Top
No. of Recommendations: 5
Here are the top 45 from the ROE_Cash_SI screen as of 5/29/2020:

MSFT FB BABA CSCO TSM NTES NVDA NLOK ACN EA AMP BHF PAYX AAPL EQH INTU VRTX EQC REGN LUV COST ILMN ANET SLM MOH INFY WUBA NTAP ATHM CHKP TROW XLNX GRMN MOMO FTNT VIPS RL BMA NOW EXPD BIO LULU SWKS ROST NVO

http://gtr1.net/2013/?~ROE_Cash_SI:h42f0.4::MCap:tn1700:Equi...

Eric
Print the post Back To Top
No. of Recommendations: 7
From the overtuning department:

For this SI implementation, it looks like the sweet spot for the "top 30%" step is around 27-28% for returns (27% best top 40 without HTD, 28% with HTD 45),
With returns perhaps a whisker steadier with slightly higher number like 29.5%.
The risk difference is so small that one might as well pick the number that maximized returns, so 28% sounds sensible.
Certainly pointless tuning, but it seems a harmlessly small difference so you might as well go with what backtests best.
This backtests 19870302 - 20200529 at CAGR 14.80 (versus the "top 30%" at 14.28)
http://gtr1.net/2013/?~ROE_Cash_SI:h42f0.4::MCap:tn1700:Equi...
Very consistent with the VL version: without the dividend requirement a number a bit lower than 30% is optimal.

For a "with dividend" version, I added replaced step 1 with dps12m.s > 0
In that instance, the highest returns in backtests are with a cutoff around 27.5%, and steadiest returns with a cutoff around 24.5%.
These figures are a fair bit lower than what seemed optimal with VL.
You could pick any figure between the two and probably do fine, but I'd pick 27%.
This backtests 19870302 - 20200529 at only CAGR 12.58, not so interesting.
http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::MCap:tn1700:...

For the version with a greedier final sort meant for smaller number of holdings, e.g., 20HTD25 or 20HTD30,
First, a deep hold-till depth with very low turnover seems best for returns, with 20 HTD 32 or 33.
There's little difference in steadiness.
For something in that vicinity, 20HTD30, the ROE cutoff seems best at about 24%.
Here is a link for 30HTD33, cutoff 24%.
This backtests 19870302 - 20200529 at CAGR 15.41
http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::MCap:tn1700:...

You can manage a slightly higher return with 15 stocks, e.g. 15 HTD 30.
This backtests 19870302 - 20200529 at CAGR 16.47
http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::MCap:tn1700:...

One problem is that the turnover is quite low, so you might end up with the issue that the picks on the first day get stuck there for a very long time.
Since the (one) first day is a bit of a random thing, you're doing a lot of testing on what was picked that day.
Since the way the GTR1 backtester works, I believe it does the test for the maximum possible period, and only reports on the subset date range you ask for if that's different.
So, you can't pick a later date and get some variation by having a different starting slate of picks via a different start date.
(there might be some elaborate way to force all fresh picks on some other later day, but I don't know what it might be)
All of this is just a long way of saying that perhaps the statistical support of these HTD tests might be weaker than typical.

Jim
Print the post Back To Top
No. of Recommendations: 5
PS, I said:
For the version with a greedier final sort meant for smaller number of holdings, e.g., 20HTD25 or 20HTD30...
Here is a link for 30HTD33, cutoff 24%.
This backtests 19870302 - 20200529 at CAGR 15.41


I forgot to repeat that for smaller numbers of stocks, this was the variation mentioned in the early posts: the final sort is different.
Final sort is cash/market cap, not absolute (cash-debt)

You can manage a slightly higher return with 15 stocks, e.g. 15 HTD 30.
This backtests 19870302 - 20200529 at CAGR 16.47
http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::MCap:tn1700:...


Also PS:
FWIW, S&P 500 equal weight in the same interval is CAGR 10.81%
So 16.47% is pretty good, if that sort of advantage could be managed in reality going forward.

The risk metrics are not hugely higher than for the S&P 500, and the trading is not too bad for 15HTD30: annual turnover is 2.36

Jim
Print the post Back To Top
No. of Recommendations: 1
Jim,

Congrats on yet another impressive looking screen - at least as far as backtesting goes. However, I'm getting slightly lost in all the modifications that have been discussed but essentially you're still talking about:
- ROE for the larger firms (whether they have a Timeliness ranking on VL or just the 1700 largest firms.) Sort on ROE and take the best X% of them where X is 25-30% or so depending on the tuning desired.
- Then calculate cash less debt and sort on this metric and buy the top 40.
- Rinse and repeat every two months, say, on a HTD45 basis.

Result - 4-5% in xs of the S&P500 in a twenty year backtest.

Some variations:-
1 Require a dividend as the initial step. Result - no meaningful change in return.
2 Calculate the net cash/market cap and sort on that basis rather than the absolute net cash figure. Results in a very healthy extra bump of ~3%pa to return. But is this also on the basis of 20HTD30 rather than 40HTD45 (based on post 227813)?
3 More up to date ROE for latest quarter appears to help returns slightly.
4 VL seems to exclude companies with a negative book value but your screen of those with negative ROE (on a technicality), positive earnings, negative book produced an even better excess return. No way to incorporate that pool of businesses as well?

There's no real timeliness in the selection of investable companies. Is this deliberate? A function of your original goal that this is intended as a form of retirement plan S&P substitute, perhaps. Hence if we're about to hit the mother of all depressions and the equity markets plummet then will the screen selections follow but at a slower clip? If these companies are to survive while the others don't then maybe that's still a good thing albeit probably stomach-churning?

For safety, rather than using the net cash metric have you thought about VL's safety metric? Note I'm not familiar with Value Line's data so unsure as to whether their safety value is useful in this situation.

Any clarifications/corrections of my thoughts welcome.

Thanks
Print the post Back To Top
No. of Recommendations: 0
Here are the top 45 from the ROE_Cash_SI screen as of 5/29/2020:

MSFT FB BABA CSCO TSM NTES NVDA NLOK ACN EA AMP BHF PAYX AAPL EQH INTU VRTX EQC REGN LUV COST ILMN ANET SLM MOH INFY WUBA NTAP ATHM CHKP TROW XLNX GRMN MOMO FTNT VIPS RL BMA NOW EXPD BIO LULU SWKS ROST NVO

http://gtr1.net/2013/?~ROE_Cash_SI:h42f0.4::MCap:tn1700:Equi......


Why are there duplicate commends in this backtest?
Equity>0
NetInc>-999999
Cash>0
Equity>0
NetInc>0

Elan
Print the post Back To Top
No. of Recommendations: 0
Here are the top 45 from the ROE_Cash_SI screen as of 5/29/2020, and the LV list below:


MSFT FB BABA CSCO TSM NTES NVDA NLOK ACN EA AMP BHF PAYX AAPL EQH INTU VRTX EQC REGN LUV COST ILMN ANET SLM MOH INFY WUBA NTAP ATHM CHKP TROW XLNX GRMN MOMO FTNT VIPS RL BMA NOW EXPD BIO LULU SWKS ROST NVO

SLM SF NMIH MOH NTAP RL MKL FL FNF AB GILD TROW CSCO ANET EA XLNX MXIM GOOG SEIC EXPD MSFT TTWO BBY FTNT FB EPAM AAPL COST TWLO VRTX MASI REGN NVDA TJX ACN ALGN ROST INTU VEEV ADP EW LULU NKE MNST AMD


There's a mild resemblance at best.

Elan
Print the post Back To Top
No. of Recommendations: 2
One problem is that the turnover is quite low, so you might end up with the issue that the picks on the first day get stuck there for a very long time.
Since the (one) first day is a bit of a random thing, you're doing a lot of testing on what was picked that day.
Since the way the GTR1 backtester works, I believe it does the test for the maximum possible period, and only reports on the subset date range you ask for if that's different.
So, you can't pick a later date and get some variation by having a different starting slate of picks via a different start date.


In the "Hold & Sell/Close Conditions" section, place

linear(1,ord(1),-1,date2ord(20071231)) <= 0

in the "Close all liquid …" box. This will force a new set of picks on the date selected.

The 20071231 can be revise to any date.

Craig
Print the post Back To Top
No. of Recommendations: 0
Why are there duplicate commends in this backtest?

Sorry. Of the steps you questioned, only Equity > 0 and NetInc > 0 are needed.
Cash > 0 is assured by the Cash field definition. The picks are the same as posted before using
http://gtr1.net/2013/?~ROE_Cash_SI:h42f0.4::MCap:tn1700:Equi...

With Jim's ROE top 24%, CashLessDebt top 15 HTD 30, the picks as of the 5/29/2020 close are:
MSFT CSCO TSM NTES NVDA NLOK ACN EA AMP BHF PAYX AAPL EQH INTU VRTX
http://gtr1.net/2013/?~ROE_Cash_SI:h42f0.4::MCap:tn1700:Equi...

Eric
Print the post Back To Top
No. of Recommendations: 1
mungofitch: You can manage a slightly higher return with 15 stocks, e.g. 15 HTD 30.
This backtests 19870302 - 20200529 at CAGR 16.47

http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::MCap:tn1700:...

The posted link did not invoke hold while passing CashLessDebt top 30. When invoked, CAGR drops to 14.3.

As I responded to Elan, the MCap > 0 and NetInc > -999999 steps can be dropped.

I had forgotten, but retaining the Cash > 0 step helped CAGR. The way I defined Cash, the step Cash > 0 eliminates stocks with null, negative or zero values of either cashq1.s or stinvq1.s (Cash or Short-term investments) for SI, or chechq1.c (Cash & Cash Equivalents) for CPiT. It is always difficult to know how to treat null and 0 values, but reasonable alternatives seen to give similar CAGRs when the Cash > 0 step is retained.

The remaining steps are:

MCap top 1700
Cash > 0
Equity > 0
NetInc > 0
ROE top 24%
CashLessDebt top 30
ratio(Cash,MCap) top 15

http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::MCap:tn1700:...

Eric
Print the post Back To Top
No. of Recommendations: 5
Here is what I get using the data from Yahoo, with the ~1400 Value Line stocks.

Of the handful that I have checked, Yahoo gives about the same values for ROE, Cash, and LT debt as Tiingo. There are other data providers. Which I didn't bother to cross-check. Quandl and SimFin are two others. They all seem to use Sharadar as their data provider. Some of these sources are free.

SimFin is free, but their fundamentals data is "TTM", not MRQ. It says TTM, but the data looks like it's EOY. They show you how you can import the data into a Google Sheets spreadsheet.

Top 26% by ROE, then of those the top 48 by (Cash - Long Term Debt).


Rank Elan-VL Yahoo # Yahoo
1 SLM 9 MSFT
2 SF CSCO
3 NMIH HUM
4 MOH 11 NVDA
5 NTAP 21 AMP
6 RL EA
7 MKL VRTX
8 FL REGN
9 FNF SLM
10 AB ANET
11 GILD MOH
12 TROW 17 INFY
13 CSCO 2 ACN
14 ANET 10 CHKP
15 EA 6 INTU
16 XLNX 22 ILMN
17 MXIM 34 TROW
18 GOOG GRMN
19 SEIC 29 FTNT
20 EXPD 27 VEEV
21 MSFT 1 NTAP
22 TTWO XLNX
23 BBY EXEL
24 FTNT 19 MNST
25 FB SWKS
26 EPAM 33 UTHR
27 AAPL EXPD
28 COST ALGN
29 TWLO SEIC
30 VRTX 7 LOGI
31 MASI 36 AMD
32 REGN 8 NOW
33 NVDA 4 EPAM
34 TJX MXIM
35 ACN 13 OLED
36 ALGN 28 MASI
37 ROST NATI
38 INTU 15 ABMD
39 VEEV 20 POWI
40 ADP NVR
41 EW 42 BIO
42 LULU 43 EW
43 NKE LULU
44 MNST 24 TER
45 AMD 31 DECK

26 <--Number in common.
Print the post Back To Top
No. of Recommendations: 0
Is it posable to create this screen over at https://finviz.com/
Print the post Back To Top
No. of Recommendations: 8
I took another look at the Cash, LTDebt and CashLessLTDebt custom field definitions in the ROE_Cash_SI screen.
Cash in the screen is actually cash plus short-term investments. For the underlying SI fields cashq1.s, stinvq1.s and ltdebtq1.s,
the following points seem valid:

1) Using GTR1 in count mode I confirmed that cashq1.s, stinvq1.s and ltdebtq1.s are only negative when null (-999999).

2) If either cashq1.s or ltdebtq1.s is null, CashLessLTDebt should be null.

3) There lots of companies for which cashq1.s is greater than or equal to zero and stinvq1.s is null (probably because short-term
investments are not reported). So, in computing Cash (cash plus short-term investments) null value of stinvq1.s should be replaced
by zeros.

4) I found at least one example, Addas Homecare Corp (ADUX), for which cashq1.s = 0 & stinvq1.s = 0 seems legitimate
(e.g., the most recent reported cash is closer to 0 than 0.1 million dollars). Such Cash = 0 combinations are eliminated by the
screen step Cash > 0.

Consistent with the above points, I’m now using the following field definitions:

Cash: pref(if(cashq1.s<0,-999999,linear(1,cashq1.s,1,if(stinvq1.s<0,0,stinvq1.s))),chechq1.c)
LTDebt: pref(if(ltdebtq1.s,dlttq1.c) --- unchanged
CashLessLTDebt: if(min(Cash,LTDebt)=-999999,-999999,linear(1,Cash,-1,LTDebt))

CAGR increased slightly to 16.7.

Picks reflecting 6/1/2020 closing prices and the weekend update to 5/29/2020 SI field values:
BHF SLM GGAL EQH MOMO AMP MOH NTAP WUBA NTES PAYX BBY ATHM EA ANET
CSCO CHKP XLNX MSFT INFY NVDA TSM AAPL COST FTNT VRTX TROW INTU ACN NOW

http://gtr1.net/2013/?~ROE_Cash_SI:h42i126f0.4::styp.a:et10!...

Note the appearance of Best Buy (BBY), for which Rayvt listed field values from other sources in posts 277835 & 277845.
The SI field values for BBY (quarter ending 5/2/2020) are

CSO (csoq1d.s) 258.3096
Price (sprc:1) 77.5
Mcap 20018.99
Equity (equityq1.s) 3410
NetInc (netinc12mq1d.s) 1435
ROE 0.4208211
cashq1.s 3919
stinvq1.s -999999
Cash 3919
LTDebt (ltdebtq1.s) 621
CashLessLTDebt 3298
ratio(Cash/Mcap) 0.1957641

Eric
Print the post Back To Top
No. of Recommendations: 3
Have we lost sight or interest in the ROE_Cash screen?
Print the post Back To Top
No. of Recommendations: 5
Have we lost sight or interest in the ROE_Cash screen?

I was wondering the same thing. The discussion seemed to go off into different directions (data source, final sort, number of holdings, etc.). I've run a few of the different versions of the screen on my own, but would love to see this board come to an agreement on a standard version that could be added to the weekly rankings. Jim and Eric (TopLineFirst) and Elan put some good hard work into this, and I'd hate to see it die out so quickly. I thought it had good potential as a nice core screen to juice a bit more return out of the S&P500.

Cathy
Print the post Back To Top
No. of Recommendations: 8
I'm still hoping to do a few extra tests on my own before suggesting a personal favourite version.
(which of course nobody is required to pay attention to).

I've been quite busy and haven't yet been able to get the block of time, and a bit of extra data I want.
So, I will be back to it quite soon.

Jim
Print the post Back To Top
No. of Recommendations: 3
Have we lost sight or interest in the ROE_Cash screen?

I've done a bit more, which I hope doesn't muddy the water.

In lieu of the screen in the OP, I presume Jim's working on a version that looks something like
 
MCAP top 1700
Cash > 0
Equity > 0
NetInc > 0
ROE top 24%
CashLessLTDebt top 30
ratio(Cash,MCap) top 15

http://gtr1.net/2013/?~ROE_Cash_SImc1700rrs15:h42i126f0.4::M...

Replacing the last step with TTM Sales Growth top 15 (favoring residual growth) doesn't do quite as well.
http://gtr1.net/2013/?~ROE_Cash_SImc1700rrs15:h42i126f0.4::M...

Introducing a trend measure by replacing the last step with rrs(1,252) improves CAGR significantly, especially for positions 1-5.
http://gtr1.net/2013/?~ROE_Cash_SImc1700rrs15:h42i126f0.4::M...

Reducing the hold period from 42 market days to the 20 market days typical of other screens seems to help CAGR.

Eric
Print the post Back To Top
No. of Recommendations: 0
Newbie here, so please be gentle :)

1. The definition CashLessLTDebt skews it to larger companies. I thought that it may be better to have a relative ratio, but perhaps an absolute number also may be needed.
One way would be to anchor it to sales or marketcap. For instance, normalizing the definition to: CashLessLTDebt: ratio(linear(1,Cash,-1,LTDebt), MCap) seems to be good as well, but has the effect of changing the screener results (MSFT is the top before, vs barely making the top10 otherwise).

2. In the vein of "Invert, always invert", my rudimentary analysis seems to indicate that the edge in this definition comes from the ROE filter. I can't see that there is that much of an edge in the CashVsLTDebt. I tried this by replacing the order of the filters i.,e CashVsLTDebt before ROE, and a few variations on the top-N to see how the variation is vs the parameter sweep. Would appreciate the boards insights on that.
Print the post Back To Top
No. of Recommendations: 6
Might want to use cheq1.c [CPiT Cash & Sh - Term Inv. Q1].

Don't use chechq1.c [CPiT Cash & Cash Equiv. - Inc./(Dec.) Q1].

chechq1.c > 0 screens out over half of companies. cheq1.c gives more consistent counts with the SI fields.

http://gtr1.net/2013/?~ROE_Cash_SImc1700rrs15:h42i126f0.4::M...

http://gtr1.net/2013/?~ROE_Cash_SI_20200621:h42i126f0.4::MCa...

"the new plus() and minus() functions perform a little faster than linear() and are also easier to read"
https://boards.fool.com/whoop8-is-it-possible-to-do-a-backte...
Print the post Back To Top
No. of Recommendations: 7
No we haven’t all lost sight or interest in the ROE_Cash screen!

I’m liking this screen more and more the more I play with it.
It’s as basic as you can get. It works with very gradual fall off with a significantly larger number of
selections. It works changing the order of the selection criteria around. It works using SP500 or SP1500
replacing MktCap > than. Might make a nice ETF replacement for my TAA stratigy.

Thanks Jim for the idea and all the others for their inputs.

RAM
Print the post Back To Top
No. of Recommendations: 8
Boris:

Might want to use cheq1.c [CPiT Cash & Sh - Term Inv. Q1].
Don't use chechq1.c [CPiT Cash & Cash Equiv. - Inc./(Dec.) Q1].
chechq1.c > 0 screens out over half of companies. cheq1.c gives more consistent counts with the SI fields.


I had the narrative that follows prepared before I saw Boris’s recommendation. A spot check seem to indicate the use of cheq1.c instead of checkq1.c decreases the CAGRs posted below. I’ll try to find time to look into this further, but it will only change CPiT backtest results not the SI (19970829 onward) backtest results or the current picks posted below.

At the bottom is a side by side comparison of two versions:

(1)ROE_Cash_SI
This version is very similar to Jim's latest. I replaced his 42-day hold period with a 21-day hold period. The new step0 (styp.a = 10!11!12!30!31), limits the picks to US common shares or ADRs. Hold while passing step6 (CashLessLTDebt top 30) is invoked.
http://gtr1.net/2013/?~ROE_Cash_SI:h21i126f0.4::styp.a:et10!...

(2)ROE_Cash_SI_rrs
In this version the last step seeks the top 15 by regression on the logarithmic return slope over the past year (rrs(1,252) top 15). The same 21-day hold period is use, but step0 excludes ADRs -- their inclusion hurt CAGR a bit. Hold while passing step6 (CashLessLTDebt top 30) is not invoked because it decreases CAGR.
http://gtr1.net/2013/?~ROE_Cash_SI_rrs:h21i126f0.4::styp.a:e...

Not surprisingly (see side-by side comparison) version(1) has lower CAGR than version (2), and version (1) does not hold up when the top 5 are considered. On the other hand, the risk measures and asset turnover are better for (1) than for (2).

If less turnover is desired, you can easily check to see how (1) and (2) hold up as you lengthen the hold period. For a 63 market day hold period (a nominal calendar quarter).
(1) ROE_Cash_SI gives 15 < CAGR < 16 and 1.6 < AT < 1.65 for positions size from 8 to 16.
(2) rrs(1,252) top 2 gives CAGR=21.4 & AT=2.83; rrs(1,252) top 15 gives CAGR=18.1 & AT=2.08.

A wide variety of other variations on the ROE_Cash theme are clearly possible. Based on everything examined so far, ROE_Cash results seem remarkably robust. Of course we recognize what can happen post discovery. Nevertheless, I’ll be interested to see what version ultimately gets adopted.

Eric


version (1) (2)
ROE_Cash_SI ROE_Cash_SI_rrs

hold period 21 21
step 0 styp.a = 10!11!12!30!31 styp.a = 10!11!12
step 1 MCap top 1700 MCap top 1700
step 2 Cash > 0 Cash > 0
step 3 Equity > 0 Equity > 0
step 4 NetInc > 0 NetInc > 0
step 5 ROE top 24% ROE top 24%
step 6 CashLessLTDebt top 30 CashLessLTDebt top 30
step 7 ratio(Cash,MCap) top 15 rrs(1,252) top 15
hold while pass step6
friction 0.4 0.4

top 15 top15
CAGR 17.63044 19.21859
GSD(126) 22.09327 23.70779
DIGSD(126; 0%) 24.92587 26.77012
LDD(126; 0%) 10.03849 10.61649
LDDD3 9.96868 10.01473
MDD -53.84528 -46.81404
UI(126) 8.06422 9.33439
Sharpe(126) 0.74623 0.76970
Beta(126) 1.05800 1.14151
TI(126) 15.06227 15.50441
AT 2.29020 3.22740

top 5 top 5
CAGR 15.56739 21.60664
GSD(126) 27.53331 32.68510
DIGSD(126; 0%) 27.90452 37.43584
LDD(126; 0%) 12.19427 15.47622
LDDD3 13.13242 14.10031
MDD -56.18132 -59.13341
UI(126) 13.72701 13.67495
Sharpe(126) 0.56149 0.71405
Beta(126) 1.06638 1.25160
TI(126) 14.16028 17.33414
AT 2.27296 4.24979

Current Picks Current Picks
1 BHF NVDA
2 SLM FTNT
3 GGAL VRTX
4 EQH AAPL
5 BMA BIO
6 MOMO MSFT
7 AMP LULU
8 MOH NOW
9 WUBA LOGI
10 PAYX MOH
11 ATHM EA
12 BBY COST
13 ANET BBY
14 EA MNST
15 CSCO TROW
16 CHKP ALGN
17 XLNX INTU
18 MSFT ACN
19 EXPD EXPD
20 COST CHKP
21 INFY SEIC
22 NVDA AMP
23 TSM SLM
24 FTNT ANET
25 AAPL EQH
26 VRTX PAYX
27 TROW CSCO
28 INTU VMW
29 ACN XLNX
30 NOW BHF
Print the post Back To Top
No. of Recommendations: 2
Might want to use cheq1.c [CPiT Cash & Sh - Term Inv. Q1].
Don't use chechq1.c [CPiT Cash & Cash Equiv. - Inc./(Dec.) Q1].
chechq1.c > 0 screens out over half of companies. cheq1.c gives more consistent counts with the SI fields.


Boris was being kind. He is more correct than apparent by his wording. My bad.

chechq1.c [CPiT Cash & Cash Equiv. - Inc./(Dec.) Q1], which appeared in my URLs, is
Cash and Cash Equivalents – Increase (Decrease) from the Statement of Cash Flows,
which is totally inappropriate for use in the Cash custom field.

Here are the (1) & (2) URLs corrected to use cheq1.c [CPiT Cash & Sh - Term Inv. Q1].
(1)ROE_Cash_SI
http://gtr1.net/2013/?~ROE_Cash_SI:h21i126f0.4::styp.a:et10!...

(2)ROE_Cash_SI_rrs
http://gtr1.net/2013/?~ROE_Cash_SI_rrs:h21i126f0.4::styp.a:e...

Below is the corrected table of comparative results. Again, the changes are due entirely to the CPiT backtest interval and the current picks I posted earlier do not change.

If you click the links and run the backtester, you'll find that Version (1) has a very consistent CAGR of ~15 from top 3 to top 15. Version (2) has a top 1 CAGR=23.5, decreasing to CAGR=16.5 for top 9, then increasing to CAGR=17.3 for top 15. Change the hold period for (2) from 21 to 63 market days and you'll discover CAGR trends even better with position size.

Eric
version             (1)                      (2)
ROE_Cash_SI ROE_Cash_SI_rrs
hold period 21 21
step 0 styp.a = 10!11!12!30!31 styp.a = 10!11!12
step 1 MCap top 1700 MCap top 1700
step 2 Cash > 0 Cash > 0
step 3 Equity > 0 Equity > 0
step 4 NetInc > 0 NetInc > 0
step 5 ROE top 24% ROE top 24%
step 6 CashLessLTDebt top 30 CashLessLTDebt top 30
step 7 ratio(Cash,MCap) top 15 rrs(1,252) top 15
hold while pass step6
friction 0.4 0.4

top 15 top15
CAGR 15.59876 17.34423
GSD(126) 21.90357 21.38117
DIGSD(126; 0%) 24.74308 23.26299
LDD(126; 0%) 10.47476 9.21324
LDDD3 10.80926 9.39883
MDD -53.84528 -43.43137
UI(126) 9.09371 8.58011
Sharpe(126) 0.66948 0.74600
Beta(126) 1.12396 1.08267
TI(126) 12.45827 14.37834
AT 1.96260 2.80216

top 5 top 5
CAGR 15.40749 17.51416
GSD(126) 29.29991 28.10227
DIGSD(126; 0%) 30.67357 30.74564
LDD(126; 0%) 13.70572 13.15749
LDDD3 14.84585 13.01532
MDD -56.17081 -56.36661
UI(126) 15.51149 13.34141
Sharpe(126) 0.55003 0.63527
Beta(126) 1.24324 1.14376
TI(126) 12.31041 14.85203
AT 1.86697 3.68745
Print the post Back To Top
No. of Recommendations: 0
Is it posable to create this screen over at https://finviz.com/
Bump
Print the post Back To Top
No. of Recommendations: 1
CAGR holds up > 16 even out to a 1 year hold!

RAM
Print the post Back To Top
No. of Recommendations: 4
Since 2008 you can get a screen with a CAGR>16 with an annual hold with much less complication:

http://gtr1.net/2013/?s20081231h253::sp500.a:et1:ratio%28tr%...

sp500.a =1

ratio(tr(1,253),tr(1,20)) top 5

cagr 16.27%
Print the post Back To Top
No. of Recommendations: 2
Since 2008 you can get a screen with a CAGR>16 with an annual hold with much less complication:

http://gtr1.net/2013/?s20081231h253::sp500.a:et1:ratio%28tr%......

sp500.a =1

ratio(tr(1,253),tr(1,20)) top 5

cagr 16.27%


True. But when you use the 19870302 start date the CAGR drops to 9.

Eric
Print the post Back To Top
No. of Recommendations: 1
Since 2008 you can get a screen with a CAGR>16 with an annual hold with much less complication:
http://gtr1.net/2013/?s20081231h253::sp500.a:et1:ratio%28tr%......
sp500.a =1
ratio(tr(1,253),tr(1,20)) top 5
cagr 16.27%


True. But when you use the 19870302 CPiT start date the CAGR drops to 9.

Eric
Print the post Back To Top
No. of Recommendations: 0
Sorry. Didn't mean to post that twice.
Print the post Back To Top
No. of Recommendations: 8
chechq1.c [CPiT Cash & Cash Equiv. - Inc./(Dec.) Q1], which appeared in my URLs, is
Cash and Cash Equivalents – Increase (Decrease) from the Statement of Cash Flows,
which is totally inappropriate for use in the Cash custom field.


Just curious, I made a field using increase in cash:
Net Cash Increase = Cash from Operations + Cash from Investing + Cash from Financing
CashIncrease: pref(plus(tcf12m.s,tci12m.s,tco12m.s),chechq1.c)

http://gtr1.net/2013/?~ROE_CashIncrease_Cash:h42i126f0.4::MC...

The field CashIncrease has a consistent count across the CPiT and SIP universes, but unfortunately adding it to the {ROE_Cash} screen results in a lower CAGR. Maybe not surprising, as net change in cash is a poor metric. Some other form of cash flow might work better, as indicated by this post:

"as backtesting demonstrates, net change in cash is an inferior measure of value to the more traditionally defined cash flows per share"
https://boards.fool.com/recovering-si-pros-cash-flowshare-30...

Traditionally, Cash flow is defined as income after taxes minus preferred dividends and general partner distributions plus depreciation, depletion, and amortization.

Free cash flow = Cash from operations – Capital expenditures – Dividends paid

Price yield fields using cash flow and free cash flow:
CFP: pref(ratio(cfps12mq1d.s,sprc),ratio(cfps12mq1d.c,cprc))
FCFP: pref(ratio(fcfps12mq1d.s,sprc),ratio(fcfps12mq1d.c,cprc))

Adding these fields increases CAGR slightly. Dropping financial companies adds a little more to CAGR.

Longest backtest is from 19870302 to 20200619. Sorted by Sharpe:
                            Screen  CAGR  GSD   LDDD3  MDD  UI  Sharpe
ROE_Cash_CF_FCF_noFinance_20200622 17.8 24.2 10.5 -52 8 0.71
ROE_Cash_CF_FCF_20200622 16.1 23.1 11.5 -56 10 0.67
ROE_Cash_SI_20200621 14.8 22.4 11.8 -58 11 0.63
SP500EqualWeight 10.7 21.3 11.1 -60 12 0.46
SP1500EqualWeight 10.7 22.4 11.2 -60 12 0.46
MC1700 10.2 20.3 11.1 -57 11 0.45
SP500MktCapWeight 10.0 20.5 10.9 -54 14 0.44
SP500_Mo 8.9 41.1 25.3 -86 42 0.34


Recent 15 years, from 20050620 to 20200619, has a similar ranking.
                            Screen  CAGR  GSD   LDDD3  MDD  UI  Sharpe
ROE_Cash_CF_FCF_noFinance_20200622 13.4 21.6 11.2 -52 9 0.69
ROE_Cash_CF_FCF_20200622 12.2 22.5 13.0 -56 11 0.63
ROE_Cash_SI_20200621 13.0 22.7 13.3 -58 13 0.65
SP500EqualWeight 8.7 24.8 13.5 -60 14 0.43
SP1500EqualWeight 8.2 27.1 13.7 -60 14 0.40
MC1700 7.8 25.3 13.6 -57 13 0.39
SP500MktCapWeight 8.8 22.2 11.9 -54 13 0.46
SP500_Mo 8.3 35.2 20.8 -72 29 0.39


Recent mostly bull market, from 20081231 to 20200619, the simpler {ROE_Cash_SI_20200621} did best:
                            Screen  CAGR  GSD   LDDD3  MDD  UI  Sharpe
ROE_Cash_CF_FCF_noFinance_20200622 15.8 17.0 6.1 -31 4 0.90
ROE_Cash_CF_FCF_20200622 15.0 17.5 7.9 -38 6 0.87
ROE_Cash_SI_20200621 17.4 18.0 7.3 -36 6 0.97
SP500EqualWeight 14.3 23.0 6.7 -39 7 0.72
SP1500EqualWeight 13.3 25.8 8.6 -42 8 0.64
MC1700 12.0 23.8 8.3 -41 8 0.61
SP500MktCapWeight 13.8 20.4 4.8 -34 6 0.76
SP500_Mo 15.8 25.9 12.3 -46 11 0.72



http://gtr1.net/2013/?~ROE_Cash_CF_FCF_noFinance_20200622:h4...
http://gtr1.net/2013/?~ROE_Cash_CF_FCF_20200622:h42i126f0.4:...
http://gtr1.net/2013/?~ROE_Cash_SI_20200621:h42i126f0.4::MCa...
http://gtr1.net/2013/?~SP500_Mo:h253i126f0.4::sp500.a:et1:ra...
Print the post Back To Top
No. of Recommendations: 3
My attempt to try adding BarryDTO’s Coppock timming to borisnand’s ROE_Cash_CF_FCF_noFinance_20200622
http://gtr1.net/2013/?~ROE_Cash_CF_FCF_noFinance_20200622_Co...
17.6% CAGR, 20 GSD, MDD -43.1, Sharpe 0.785, UI 7.0. Slightly but not significantly better, insignificantly lower CAGR, slightly lower drawdown, and UI.

RAM
Print the post Back To Top
No. of Recommendations: 3
As I've read through past posts, I've seen volatility included as a variable when rrs is included. So I thought I'd see if the _rrs screen could be improved by including that in some way. Naturally, when you add a new variable and filtering step, the best parameters will change. Some may be wary of this extra tuning. But here it is anyway.

styp.a = 10!11!12
MCap top 1700
Cash > 0
Equity > 0
NetInc > 0
ROE top 20%
CashLessLTDebt top 73
vol(1,252) bottom 32
rrs(1,252) top 15

http://gtr1.net/2013/?h21i126f0.4::styp.a:et10!11!12:MCap:tn...

The _rrs version for reference: http://gtr1.net/2013/?~ROE_Cash_SI_rrs:h21i126f0.4::styp.a:e...

Including the vol(1,252) step and adjusting the cutoffs leads to slightly higher CAGR than the _rrs version, with better risk metrics. Lower LDD measures and higher Sharpe.

I'm not familiar how to examine the overlap of picks among different screens, this version with the rrs version, or the other versions. Perhaps some form of SOS or blend might lead to some anti-correlation and an improved screen.
Print the post Back To Top
No. of Recommendations: 1
vol(1,252) bottom 32
rrs(1,252) top 15


We've typically used a combined metric of rrs and volatility, rather than applying them in sequence. Such as
rrs(1,252) - 2* vol(1,252) top 15

Elan
Print the post Back To Top
No. of Recommendations: 25
I'm only just now skimming this thread, but I'd like to point out that results are significantly improved if you add the standard crap filters that I recommended for GTR1 Helper's SI Pro screen URLs. These include:

step0: styp.a != 14!15!16!17!23!44!45!73!74!75
step1: Q1End > 0
step2: minus(ord(1),Q1End) <= 252
step3: linear(1,Q1End,-252,1,1,dsio(1),-1,ord(1)) >= 0


where

Q1End: pref(if(salesq1.s=null,0,perendq1.s),if(saleq1.c=null,0,ordq1.c))

o step0 excludes CEFs, SPACs, ETFs and Americus Trust Units.
o step1 excludes stocks whose latest 10-Q ending date is not available.
o step2 excludes stocks whose latest 10-Q ending date is older than a year (this indirectly excludes about 3/4 of foreign stocks, on average, which are only required to report annually).
o step3 excludes stocks that have been subject to GTR1 ID-altering corporate actions since the beginning of the twelve months leading up to their latest 10-Q ending date. (Why bet any money that Thomson-Reuters, Refinitiv, or whoever, have correctly back-adjusted all the financial data to reflect a corporate reorganization?)

The top few positions of any screen tend to be data error magnets, making these crap filters particularly crucial for the soundness of the top picks. Applying these to borisnand's "ROE_Cash_CF_FCF_noFinance_20200622" raises the Top 5 CAGR by 4 points: http://gtr1.net/2013/?!!QlpoMTFBWSZTWTfZpyEAAf3fgBAAIgd!2F8A... The "bullet's" CAGR is raised from 10 to 21!

Robbie Geary
Print the post Back To Top
No. of Recommendations: 3
tooted up/overtuned version of robbie's 42 day hold with junk filters:

bullet cagr 30.5%

5 stock:
42 day hold 21 day hold
cagr 22.3% 23.1%

http://gtr1.net/2013/?~ROE_Cash_CF_FCF_noFinance_with_crap_f...
Print the post Back To Top
No. of Recommendations: 4
I've run my own SI version of the ROE_Cash screen. Since I have little confidence in the VL rankings after examining the wildly inconsistent timing of their ROE figures, I thought SI-Pro might be a better choice. These rankings pose a different kind of surprise. The top of the screen's ranking, with a final sort by Cash/Mcap ratio, are loaded with banks and finance companies, many of them foreign, with "cigar butt" PE ratios.
Here are the top ranked stocks -
BHF - Brighthouse Financial
BSBR - Banco Santander (Brasil)
BSAC - Banco Santander-Chile
SLM - Sallie Mae
GGAL - Grupo Financiera Galicia S.A.
BCH - Banco de Chile
EQH - Equitable Holdings
SIVB - SVB Financial Group

There's no way I'm investing is such a group of companies, no matter what the backtest says. I wonder how the screen would look if financials, particularly foreign financial, are excluded. I don't know how to make that change without spending a lot of time looking into it. Does anyone have the knowledge how to do that at your fingertips?

The complete 45 stock ranking is below.
http://gtr1.net/2013/?~ROE_Cash_SI:h21i126f0.4::styp.a:et10!...

BHF
BSBR
BSAC
SLM
GGAL
BCH
EQH
SIVB
MOMO
AMP
MOH
NTAP
LUV
WIT
WUBA
ATHM
PAYX
NTES
BBY
EDU
ANET
EA
CSCO
CTSH
TTWO
GOOGL
CHKP
XLNX
FB
MSFT
COST
BABA
YUMC
INFY
NVDA
TSM
ILMN
AAPL
REGN
TROW
VRTX
INTU
ISRG
ACN
AMZN
Print the post Back To Top
No. of Recommendations: 1
Does anyone have the knowledge how to do that at your fingertips?

I'm strictly a beginner with GTR1, but adding this step seems to work...

fincd.a != 45!46!47!48

Ears
Print the post Back To Top
No. of Recommendations: 4
From GTR1 for Dummies
1 ”CRAP” FILTERS
1.1 Stock Type
The term styp.a stands for stock type, and it is based on the Center for Research in Security Prices (CRSP) Array Codes (http://www.crsp.com/products/documentation/name-history-arra...)
These codes are summarized below:
Share Type – First Digit
Code Definition
1 Ordinary Common Shares
2 Certificates, Americus Trust Components (Prime, Score, & Units)*
3 ADRs (American Depositary Receipts)
4 SBIs (Shares of Beneficial Interest)
7 Units (Depositary Units, Units Of Beneficial Interest, Units Of Limited Partnership Interest, Depositary Receipts, etc.), Exchange Traded Funds**
Share Type – Second Digit
Code Definition
0 Securities Which Have Not Been Further Defined
1 Securities Which Need Not Be Further Defined
2 Companies Incorporated Outside the U.S
3 Americus Trust Components (Prime, Score, & Units)*, Exchange Traded Funds**
4 Closed-End Funds and Unit Investment Trusts
5 Closed-End Fund Companies Incorporated Outside the US
8 REIT’s (Real Estate Investment Trusts)
Note: *Americus Trust Components are exclusive to First Digit 2 and Second Digit
Note: **Exchange Traded Funds are exclusive to First Digit 7 and Second Digit 3.
Thus, ordinary common stock will be either 11 (US) or 12 (Foreign).
step_: styp.a = 11!12
If the goal is to exclude limited partnerships orf ETFs, you would have:
step_: styp.a != 70!71!72!
The filter Robbie likes to use is (post 256567)
step_: styp.a != 14!15!44!45!73!74!75
This filter appears in many (perhaps all) of the Si Pro screens available through GTR1 Helper.
1.2 Exchange Codes
CRSP is also the source of the Exchange Codes. The field excd.a defines the exchange.
Code Definition
1 NYSE
2 AMEX
3 NASDAQ
4 Arca
If, for example, you wanted to omit any AMEX stocks, you could include the step:
step0: excd.a != 3
1.3 Country Codes (Si Pro)
There has been some confusion as to the correct country codes in the Si Pro database. However, I believe the following (from TGMark in post 245190) is correct.
“Here is what I get for the current country code definitions in GTR1.
(zero looks like ETF's and such). I got this by running a screen country.s > 0 in GTR1, got all the current picks, and cross-referenced the list by ticker with the current Si Pro country list.
1 United States 18 Chile 36 Bahamas
2 Canada 19 Argentina 38 Belgium
3 China 20 South Africa 39 Indonesia
4 Israel 21 Ireland 41 Peru
5 Bermuda 22 South Korea 43 Portugal
7 Hong Kong 23 India 44 Colombia
8 Japan 24 Taiwan 47 Panama
9 Netherlands 25 Singapore 52 Puerto Rico
10 Brazil 26 Italy 58 Turkey
11 France 27 Sweden 61 United Arab Emirates
12 Australia 28 Cayman Islands 66 Jersey
13 Germany 30 Spain 84 Monaco
14 Mexico 31 Luxembourg 87 Cyprus
15 United Kingdom 32 Finland 96 Macau (added in a later Post)
16 Switzerland 34 Norway
17 Greece 35 Denmark

The step to include only US and Canadian stocks would be:
step_: country.s = 1!2
The step to exclude anything China would be:
step_: country.s != 3!7!96
Print the post Back To Top
No. of Recommendations: 2
I wonder how the screen would look if financials, particularly foreign financial, are excluded. ... Does anyone have the knowledge how to do that at your fingertips?

Add these two steps to exclude all financial stocks and foreign stocks:

country.s = 1!2
fincd12.a!=11
Print the post Back To Top
No. of Recommendations: 2
I wonder how the screen would look if financials, particularly foreign financial, are excluded. ... Does anyone have the knowledge how to do that at your fingertips?

Add these two steps to exclude all financial stocks and foreign stocks:

country.s = 1!2
fincd12.a!=11


Thanks everyone for all the good advice. I tried two iterations. The first was to replace the following -
styp.a = 10!11!12!30!31
with -
styp.a = 10!11

This had the effect of removing ADRs which resulted in removing the foreign stocks. The top 5 positions in the screen are still American financial companies, and the good news is that the backtest CAGR is essentially unchanged.

Then I took another step of adding -
fincd12.a!=11
which removed the financial stocks. It produces a stock list much more to my liking. But is that a good way to define a screen? The CAGR doesn't think so. It dropped about 1% from the previous iteration, from about 14.6% to 13.5%.

I'd appreciate people's thoughts about this.
Here is the last iteration of the screen -
http://gtr1.net/2013/?~ROE_Cash_SI_no_fin:h21i126f0.4::styp....

Elan
Print the post Back To Top
No. of Recommendations: 2
Elan:

You have hold while passing step 6 (ROE top 500).

If you change that to hold while passing step 7 (CashLessLTDebt top 45), CAGR increases from 13.5 to 15.0.

If you add the steps introduced by Boris and Robbie (post 278192) while keeping your top 500, 45, 30 steps CAGR goes to 16.1.

http://gtr1.net/2013/?~ROE_Cash_CF_FCF_noFinance_with_crap_f...

Eric
Print the post Back To Top
No. of Recommendations: 2
You have hold while passing step 6 (ROE top 500).

If you change that to hold while passing step 7 (CashLessLTDebt top 45), CAGR increases from 13.5 to 15.0.

If you add the steps introduced by Boris and Robbie (post 278192) while keeping your top 500, 45, 30 steps CAGR goes to 16.1.


Thank you for the correction.
With the change to the styp.a preferred by Robbie we reintroduce ADRs to the screen, and it comes out loaded with Chinese companies. Not my cup of tea. Changing back to styp.a = 10!11 eliminates the ADRs while giving up 0.5% of CAGR.

http://gtr1.net/2013/?~ROE_Cash_CF_FCF_noFinance_with_crap_f...

Elan
Print the post Back To Top
No. of Recommendations: 7
Changing back to styp.a = 10!11 eliminates the ADRs while giving up 0.5% of CAGR.

You can eliminate ADRs by excluding styp.a 30 and 31. You can also eliminate MLPs/etc. by excluding 70, 71 and 72. I think.

Starting with your version of this screen, I find it interesting you can slightly improve return and also improve various risk metrics by eliminating the last step, making it a simpler screen. You also have to eliminate the "Hold if still passing ... step 12" entry.

Your version shows CAGR, LDDD3, and Sharpe of: 15.5, 10.90, 0.67

The revised version without the last step shows CAGR, LDDD3, and Sharpe of: 16.8, 10.43, 0.75

https://gtr1.net/2013/?h42i126f0.4::styp.a:et10!11:Q1End:gt0...

It works similarly for ROE cutoffs in the 300-500 range. With a cutoff of 350, return drops slightly with slightly better risk metrics: 16.6, 9.96, 0.76.

https://gtr1.net/2013/?h42i126f0.4::styp.a:et10!11:Q1End:gt0...
Print the post Back To Top