Benjamin Graham Stock Screener: Valuation Rules and Data Checks
A Benjamin Graham stock screener narrows a company list using valuation and financial-strength rules. It does not observe intrinsic value directly. Record which historical Graham criteria you apply, which modern substitutions you make and which records are missing before calling a company a match.
Key Takeaways
- Distinguish Graham’s defensive-investor checklist from a simplified low-multiple screen.
- Use consistent earnings, book value, price and share-count dates; negative or missing inputs need separate handling.
- A Graham Number is an algebraic valuation threshold, not a verified fair value or downside floor.
- Company filings and business risks still require review after a numerical pass.
- Pineify screening and chart tools cover specific fields and symbol lists, not an automatic certification of every Graham condition.
Separate the original checklist from a modern approximation
Chapter 14 of The Intelligent Investor describes defensive-stock selection. Its industrial-company financial test uses current assets at least twice current liabilities and long-term debt no greater than working capital. Its earnings-growth test is at least one-third over ten years, using three-year averages at both ends. These are different from a 1.5 current ratio or 7% annual growth over five years.
- Other checks include business size, earnings stability and dividend history. A short current-data feed may not cover them.
- The valuation discussion uses price no more than 15 times three-year average earnings and 1.5 times book value, allowing the two multiples to offset within a product of 22.5.
- Label TTM earnings, a debt-to-equity threshold or a changed historical window as your adaptation. Do not attribute those substitutions to the original checklist.
Calculate a threshold without calling it a price forecast
For positive earnings per share E and positive book value per share B, the familiar Graham Number is sqrt(22.5 × E × B). It follows from combining the two valuation multiples. If either input is nonpositive or unavailable, do not force a meaningful value by taking an absolute value or substituting zero.
- Hypothetical inputs: E = $4 and B = $30 give sqrt(2,700) = approximately $51.96. A $40 price is 23.02% below that threshold, calculated as 1 − 40 / 51.96.
- That percentage measures distance from the chosen formula. It does not establish liquidation value, expected return or protection from loss.
- Changing the earnings window changes the result. Keep share-split adjustments and currency consistent.
Keep low valuation separate from business quality
A low multiple can reflect deteriorating earnings, asset write-downs or financing risk. Book value also has different economic meaning for banks, industrial businesses and asset-light companies. Do not assume that every technology or growth stock must fail, or that a particular sector or market cycle makes the screen profitable.
- Review the latest filing and debt maturities. Check whether positive earnings depend on a one-time gain.
- Record dividend and earnings-history gaps as unverified. An absent row is not a failed or passed ten-year test.
- A chart trend filter changes the selection method; it does not validate the financial statements.
Use Pineify for a defined part of the workflow
Start with the fields actually offered by the fundamental stock screener, then obtain any missing financial statements or histories separately. Market Screener compares technical fields for a supported symbol collection; it is not a full Graham financial-history screen. Pineify’s Coding Agent can draft Pine Script for chart-based conditions. Request a syntax check and review the resulting logic in TradingView. A successful syntax check does not establish profitable behavior, data availability or broker compatibility.
- Review supported financial fields and reporting periods before requesting a Pine calculation.
- Do not assume a generated script can scan every S&P 500 member or fetch every company’s historical fundamentals.
- Save the candidate list, missing fields, observation date and reasons for rejection.
Check a screener result
Check 1
Confirm the symbol universe, timeframe, and data timestamp.
Check 2
Open the matching symbol and timeframe, then compare the reading with the original chart data.
Check 3
Record the rule and its invalidation condition before interpreting the candidate.
This page is for informational purposes only and does not constitute investment advice. Trading stocks carries substantial risk of loss. Past performance does not guarantee future results. Always consult a qualified financial advisor before making trading decisions. Pineify is an information tool, not an investment adviser. No screener, indicator, or AI system can predict stock prices with certainty or guarantee a return.
Frequently Asked Questions
Does passing a Graham screen prove that a stock is undervalued?
No. It proves only that the supplied values satisfy the selected rules. Financial quality, assumptions and the business outlook can invalidate an apparent bargain.
How is the Graham Number calculated?
For positive inputs, take the square root of 22.5 × earnings per share × book value per share. Document the earnings period and book-value date. The result is a valuation screen, not a guaranteed fair price.
Is a 30% margin of safety mandatory for every Graham screen?
Do not treat one percentage as a universal rule. A chosen discount threshold is an assumption that depends on the valuation method and uncertainty. State it explicitly.
Does this screen exclude all growth stocks?
No. Selection depends on the actual valuation and financial data, not a sector label. Strict low-multiple rules can exclude many high-priced companies without proving those companies are poor investments.
Can Pineify automate every historical criterion?
No complete automated Graham checklist is established here. Use available screening fields and review missing histories separately. Technical chart code has different coverage and request limits.