<FOOLISH WORKSHOP>
Keystone History Update
by Jim Stevens ([email protected])
Burlington, VT (Feb. 18, 1999) -- Time for an update of the complete Keystone model. Keystone was originally backtested for 12 years starting January 1, 1986. Now, with 1998 gone and a little of 1999 behind us, we have over 13 years of history for this screen. Our weekly Current Rankings list 30 Keystone picks, even though we only track the top 10 on the Workshop Returns page. It's nice to look at the full complement of thirty stocks in the model, to see how the final ranking improves performance. It also serves to expand the knowledge horizon for people who want to own more than 10 stocks from the model.
Keystoners pick their stocks like this: Screen for the 30 largest US stocks (highest market cap) that have a Timeliness ranking in the Value Line Investment Survey of 1 or 2. Rank those by 26-week total return. The backtest was run on an annual update cycle, with January 1 for the update.
From January 1, 1986 through February 17, 1999, the annualized returns for the different Keystone ports look like this:
30.02% Keystone 5
27.78% Keystone 10
25.02% Keystone 15
24.16% Keystone 20
22.65% Keystone 25
22.11% Keystone 30
Not bad, eh? My guess is you'll continue to read and hear investment gooroo types thumb their noses at all the attributes of a complete portfolio of Keystone or Keystone-like stocks. The drone will inevitably continue: "Too heavy in stocks.... Not enough foreign exposure.... You need to diversify into small-caps.... Rotate out of the high fliers." I often wonder if these so-called experts ever retrace their advice and determine how damaging it would have actually been to a real person's portfolio. I guess there's no time for that as long as their phones still ring for interview requests!
As for this year's Keystone 30, here are the year-to-date numbers as of yesterday:
America Online <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: AOL)") else Response.Write("(NYSE: AOL)") end if %> -1.37%
EMC Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: EMC)") else Response.Write("(NYSE: EMC)") end if %> 17.65%
Oracle Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: ORCL)") else Response.Write("(Nasdaq: ORCL)") end if %> 18.84%
Int'l Business Mach. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: IBM)") else Response.Write("(NYSE: IBM)") end if %> -7.53%
Intel Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write(" INTC:NASDAQ" & CHR(34) & ">(Nasdaq: INTC)") else Response.Write(" INTC" & CHR(34) & " onClick=" & Chr(34) & "openWindow('http://quote.fool.com/uberdata.asp?symbols= INTC', 'quotebox', 640, 460); return false;" & CHR(34) & ">(Nasdaq: INTC)") end if %> 5.11%
Dell Computer <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: DELL)") else Response.Write("(Nasdaq: DELL)") end if %> 11.44%
Cisco Systems <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: CSCO)") else Response.Write("(Nasdaq: CSCO)") end if %> 2.49%
Home Depot <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: HD)") else Response.Write("(NYSE: HD)") end if %> -5.21%
BellSouth Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: BLS)") else Response.Write("(NYSE: BLS)") end if %> -8.77%
Time Warner <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: TWX)") else Response.Write("(NYSE: TWX)") end if %> 0.30%
Philip Morris <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: MO)") else Response.Write("(NYSE: MO)") end if %> -27.80%
Freddie Mac <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: FRE)") else Response.Write("(NYSE: FRE)") end if %> -7.37%
Lilly (Eli) <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: LLY)") else Response.Write("(NYSE: LLY)") end if %> -0.42%
Wal-Mart Stores <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: WMT)") else Response.Write("(NYSE: WMT)") end if %> 4.45%
Lucent Technologies <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: LU)") else Response.Write("(NYSE: LU)") end if %> -12.45%
Microsoft Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(Nasdaq: MSFT)") else Response.Write("(Nasdaq: MSFT)") end if %> 8.16%
Fannie Mae <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: FNM)") else Response.Write("(NYSE: FNM)") end if %> 0.00%
Schering-Plough <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: SGP)") else Response.Write("(NYSE: SGP)") end if %> -1.70%
Tyco Int'l Ltd. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: TYC)") else Response.Write("(NYSE: TYC)") end if %> 2.40%
Medtronic Inc. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: MDT)") else Response.Write("(NYSE: MDT)") end if %> 0.97%
Abbott Labs. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: ABT)") else Response.Write("(NYSE: ABT)") end if %> -8.16%
Xerox Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: XRX)") else Response.Write("(NYSE: XRX)") end if %> -4.87%
AirTouch Communic. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: ATI)") else Response.Write("(NYSE: ATI)") end if %> 24.68%
Gen'l Electric <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: GE)") else Response.Write("(NYSE: GE)") end if %> -2.63%
Pfizer Inc. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: PFE)") else Response.Write("(NYSE: PFE)") end if %> 4.00%
Johnson & Johnson <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: JNJ)") else Response.Write("(NYSE: JNJ)") end if %> 2.24%
Merck & Co. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: MRK)") else Response.Write("(NYSE: MRK)") end if %> 3.31%
Warner-Lambert <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: WLA)") else Response.Write("(NYSE: WLA)") end if %> -10.72%
First Union Corp. <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: FTU)") else Response.Write("(NYSE: FTU)") end if %> -15.72%
Amer. Int'l Group <% if gsSubBrand = "aolsnapshot" then Response.Write("(NYSE: AIG)") else Response.Write("(NYSE: AIG)") end if %> 15.52%
Top 5 6.54%
Top 10 3.30%
Top 15 -0.71%
Top 20 -0.04%
Top 25 0.49%
Top 30 0.23%
S&P Dep. Receipts <% if gsSubBrand = "aolsnapshot" then Response.Write("(AMEX: SPY)") else Response.Write("(AMEX: SPY)") end if %> -0.46%
The top of the group (which looked a lot like the Bits & Bytes port!) started out white-hot this year but has been taking a bit of a haircut lately. Taking a long view (ten or more years), these types of pull-backs have all eventually proven to be great buying opportunities.
Stay Foolish,
Jim
Check out the latest file updates for the Workshop:
New Rankings
| Workshop Returns