<FOOLISH WORKSHOP>
Reasonable Runaways
by Jim Stevens ([email protected])
Burlington, VT (Jan. 28, 1999) -- Tonight I present the latest update of the Workshop's adaptation of James O'Shaughnessy's Reasonable Runaways screen. I got a few comments last time I ran the update that said the screen didn't hold the 25 or 50 stocks that the What Works on Wall Street author suggested and that some of the stocks were in merger/takeover deals.
To the first complaint I say, no biggie. Here in the Workshop we've always focused on fewer stocks than some "experts" say are necessary for diversity. To the second comment I must plead mechanical ignorance, as the screen is run completely on automatic pilot. If you plan on using the results in your "real life" investing, then you'll want to check the ones you buy to be sure their recent price appreciation isn't a result of a takeover or merger announcement (there is no Timeliness requirement for this one).
Getting to the subject at hand, Reasonable Runaways is a screen developed and tested by James O'Shaughnessy, which we have modified to be used in conjunction with The Value Line Investment Survey. The basic tenets of the screen are a low price/sales ratio and robust relative strength.
Here's the Workshop version: screen out stocks with a market cap of less than $150 million and then further cull the field to stocks with a price-to-sales ratio of less than one. Lastly, sort the remaining stocks by 26-week total return. In my Three Experimental Screens report, I laid out the screen's picks as of the beginning of 1999. Here's how the companies have done in January:
Micro Warehouse <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: MWHS)") else Response.Write("(Nasdaq: MWHS)") end if %> 19.78%
Read-Rite <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: RDRT)") else Response.Write("(Nasdaq: RDRT)") end if %> 12.47%
Best Buy Co. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: BBY)") else Response.Write("(NYSE: BBY)") end if %> 44.40%
Owens & Minor <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: OMI)") else Response.Write("(NYSE: OMI)") end if %> -3.97%
IBP Inc. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: IBP)") else Response.Write("(NYSE: IBP)") end if %> -11.16%
Amer. Stores <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: ASC)") else Response.Write("(NYSE: ASC)") end if %> -0.34%
TRICON Global Rest. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: YUM)") else Response.Write("(NYSE: YUM)") end if %> -3.37%
SCI Systems <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: SCI)") else Response.Write("(NYSE: SCI)") end if %> -6.82%
Genovese Drug 'A' <% if gsSubBrand = "aolsnapshot" then Response.Write("(AMEX: GDXA)") else Response.Write("(AMEX: GDXA)") end if %> -8.77%
Bindley Western <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: BDY)") else Response.Write("(NYSE: BDY)") end if %> -47.97%
Apple Computer <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: AAPL)") else Response.Write("(Nasdaq: AAPL)") end if %> -1.98%
Eagle Hardware <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: EAGL)") else Response.Write("(Nasdaq: EAGL)") end if %> 4.62%
FDX Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: FDX)") else Response.Write("(NYSE: FDX)") end if %> -8.06%
Bergen Brunswig <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: BBC)") else Response.Write("(NYSE: BBC)") end if %> -15.59%
Kroger Co. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: KR)") else Response.Write("(NYSE: KR)") end if %> 1.45%
Fred Meyer <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: FMY)") else Response.Write("(NYSE: FMY)") end if %> -0.21%
Scholastic Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: SCHL)") else Response.Write("(Nasdaq: SCHL)") end if %> 4.66%
Ruby Tuesday <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: RI)") else Response.Write("(NYSE: RI)") end if %> -7.94%
Union Camp <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: UCC)") else Response.Write("(NYSE: UCC)") end if %> -6.05%
Park Electrochemical <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: PKE)") else Response.Write("(NYSE: PKE)") end if %> 5.24%
All Twenty -1.48%
Top 5 12.30%
Top 10 -0.57%
Top 15 -1.69%
Not a bad showing for the top 5 -- some real hot ones in the top three spots, actually. We'll have to see how this plays out. Running the screen on the most recent Value Line yields the following twenty companies (listed in descending order of 26-week total return):
Micro Warehouse <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: MWHS)") else Response.Write("(Nasdaq: MWHS)") end if %>
Excel Inds. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: EXC)") else Response.Write("(NYSE: EXC)") end if %>
Apria Healthcare <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: AHG)") else Response.Write("(NYSE: AHG)") end if %>
Best Buy Co. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: BBY)") else Response.Write("(NYSE: BBY)") end if %>
Park Electrochemical <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: PKE)") else Response.Write("(NYSE: PKE)") end if %>
NCR Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: NCR)") else Response.Write("(NYSE: NCR)") end if %>
Oxford Health Plans <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: OXHP)") else Response.Write("(Nasdaq: OXHP)") end if %>
Eagle Hardware <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: EAGL)") else Response.Write("(Nasdaq: EAGL)") end if %>
Quantum Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: QNTM)") else Response.Write("(Nasdaq: QNTM)") end if %>
Briggs & Stratton <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: BGG)") else Response.Write("(NYSE: BGG)") end if %>
Amer. Freightways <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: AFWY)") else Response.Write("(Nasdaq: AFWY)") end if %>
Union Camp <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: UCC)") else Response.Write("(NYSE: UCC)") end if %>
Consol. Freightways <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: CFWY)") else Response.Write("(Nasdaq: CFWY)") end if %>
Amer. Stores <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: ASC)") else Response.Write("(NYSE: ASC)") end if %>
Data General <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: DGN)") else Response.Write("(NYSE: DGN)") end if %>
Western Digital <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: WDC)") else Response.Write("(NYSE: WDC)") end if %>
Jacobs Engineering <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: JEC)") else Response.Write("(NYSE: JEC)") end if %>
SCI Systems <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: SCI)") else Response.Write("(NYSE: SCI)") end if %>
TRICON Global Rest. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: YUM)") else Response.Write("(NYSE: YUM)") end if %>
AK Steel Holding <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: AKS)") else Response.Write("(NYSE: AKS)") end if %>
This screen is one of a few that bears watching and learning. No specific test has been run using this exact methodology. Here's to a lot of Foolish experimentation!
Check out the latest file updates for the Workshop:
New Rankings
| Workshop Returns