Version (15.2 KB) by Justin
Stock Screener based on the work of James O'Shaughnessey
Updated 2 Jun 2014

View License

This script is designed to replicate the work performed by James O'Shaughnessey as detailed in his book, "What Works on Wall Street." I do not claim this method as my own or vouch for its effectiveness in securing future results.
The basic principle of the "Trending Value" method is as follows:
Each company is scored on 6 performance metrics:
* Price to Earnings (P/E ratio)
* Price to Sales (P/S ratio)
* Price to Book (P/B ratio)
* Price to Free Cash Flow (P/FCF ratio)
* Enterprise Value / EBITDA (EV/EBITDA ratio)
* Shareholder Yield (Dividend Yield + Buyback Yield = equity returned to the investors)

These are scored on a rank of 0-100, where 100 is the "best" ratio in the entire stock universe, and 0 is the worst. The scores are then added to create a stock's intrinsic value relative to the market. 600 is the ultimate score and represents a stock that is incredibly undervalued compared to the market.

The scores are then arragned in decending order and the top 10% is extracted for further sorting. It is re-arranged by 6-month price momentum. We buy the top 25 in equal amounts. These are 25 under valued companies that the market is rallying behind.

Hold for 1 year, liquidate everything, do it again. Historically, this has returned an average of 21.2% per year.

As will all investing, do you due diligence prior to buying. Also, PLEASE do not attempt this method with less than $25,000. As small time individual investors, we fight against both the market and commission structures. This method has 25 buys and 25 sells per year. 50 transactions can be expensive. At $8/trade, that's $400. Even if you're investing $25,000, the trading fees will eat up 1.6% of your principle! You are better off investing in an "own the S&P500" fund like FUSVX which charges .05% of your principle.

Cite As

Justin (2024). OShaughnessey_v5.m (https://www.mathworks.com/matlabcentral/fileexchange/46816-oshaughnessey_v5-m), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Financial Data in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes