Based on Benjamin Graham & David Dodd, Security Analysis (6th Edition, 2008)
Benjamin Graham (1894β1976) is universally acknowledged as the father of security analysis and value investing. A professor at Columbia Business School for nearly three decades and a successful money manager through his firm Graham-Newman Corporation, Graham β along with his colleague David Dodd (1895β1988) β created the intellectual foundation upon which virtually all serious fundamental investing rests. Their masterwork, Security Analysis, first published in 1934 in the smoking aftermath of the 1929 crash and the Great Depression, is the single most important investment book ever written.
The book emerged from catastrophe. Graham himself had been nearly wiped out in the 1929β1932 market collapse, losing approximately 70% of his assets. That searing experience forged the central preoccupation of the text: how to invest in securities with a rational framework that protects against permanent capital loss. Every concept in Security Analysis β intrinsic value, margin of safety, earnings power, the distinction between investment and speculation β flows from this foundational concern with safety first, return second.
The 6th edition (2008), published by McGraw-Hill, restores the original 1940 second edition text (which Graham and Dodd considered the most complete expression of their ideas) and adds extensive commentary from modern practitioners including Seth Klarman, Howard Marks, Glenn Greenberg, Bruce Berkowitz, and others. These commentaries demonstrate the remarkable durability of Graham and Dodd's principles across seven decades of market evolution.
Security Analysis is not merely an investment manual β it is a way of thinking about financial assets. Its influence is staggering:
The book was conceived and written during the worst economic collapse in modern history. Between September 1929 and July 1932, the Dow Jones Industrial Average fell from 381 to 41 β a decline of 89%. Thousands of securities that had been considered safe investments proved worthless. Banks failed by the thousands. The dominant "investment" approach of the 1920s β buying stocks because they were going up β was exposed as pure speculation.
Graham and Dodd's response was revolutionary in its simplicity: they proposed that securities could be analyzed as businesses, that a security's value could be estimated independently of its market price, and that the difference between price and value β the margin of safety β was the only reliable foundation for investment decisions. This seems obvious today only because Graham and Dodd made it so.
| Concept | Definition |
|---|---|
| Intrinsic value | The value a security would have to a knowledgeable buyer of the entire business |
| Margin of safety | The discount of price below intrinsic value; the investor's protective cushion |
| Investment | An operation which, upon thorough analysis, promises safety of principal and adequate return |
| Speculation | Everything that does not meet the definition of investment |
| Earnings power | The normal earning capacity of a business, adjusted for the business cycle |
| Coverage ratio | The multiple by which earnings exceed fixed charges (interest, preferred dividends) |
| Net current asset value | Current assets minus all liabilities β the liquidation floor |
The concept of intrinsic value is the cornerstone upon which the entire edifice of Security Analysis rests. Graham and Dodd define it not as a precise number but as an approximate range β the value that the facts of the business justify, independent of the market's current mood.
Intrinsic value is NOT:
Intrinsic value IS:
Graham was emphatic that intrinsic value need not be precise to be useful. If a bond analyst determines that a company's earnings cover its interest charges five times over, the analyst need not calculate the exact intrinsic value of the bond to conclude that it is safe. Similarly, if a stock trades at $30 when a conservative analysis suggests intrinsic value of $60β$80, the analyst need not determine whether the "true" value is $65 or $72 β the substantial discount is what matters.
Graham and Dodd identify three sources of value, in descending order of reliability:
Asset value β What the company owns, net of all obligations. Most reliable because it is based on tangible, verifiable facts. Net current asset value (current assets minus total liabilities) is the most conservative measure.
Earnings power β The normalized earning capacity of the business. More important than asset value for going concerns, but less reliable because it requires judgment about sustainable earnings levels.
Growth value β The present value of expected future growth in earnings. Least reliable because it depends heavily on forecasts, which are inherently uncertain. Graham warned repeatedly against placing too much weight on growth expectations.
Most Reliable Evidence
β
βββ Tangible assets (cash, receivables, inventory, property)
βββ Demonstrated earnings power (5-10 year average)
βββ Stable earnings trend (consistency over time)
βββ Dividend record (actual cash returned to shareholders)
βββ Current earnings level
βββ Management quality (difficult to quantify)
βββ Growth prospects (inherently uncertain)
β
Least Reliable Evidence
A critical Graham principle: the analyst should place the greatest weight on the most reliable evidence and the least weight on the most speculative factors. This is the exact opposite of what most market participants do β they weight growth expectations most heavily because growth is exciting, while ignoring balance sheet strength because it is boring.
The margin of safety is Graham's single most important concept β the one idea that, if fully understood and consistently applied, protects the investor against serious permanent loss. Graham considered it so essential that he devoted the final chapter of The Intelligent Investor to it, calling it the "central concept of investment."
The margin of safety is the difference between the estimated intrinsic value of a security and its market price. It serves as a cushion against errors in analysis, unforeseen business deterioration, and bad luck.
The logic is straightforward:
| Security Type | Margin of Safety Source |
|---|---|
| Investment-grade bonds | Earnings coverage well above interest requirements; asset backing |
| Preferred stock | Same as bonds, but requires higher coverage because of subordination |
| Common stock (value) | Price substantially below estimated intrinsic value (asset or earnings-based) |
| Common stock (growth) | Conservative growth estimates; even if growth disappoints, price still justified |
| Net-net stocks | Price below net current asset value β you are buying below liquidation value |
Graham evolved increasingly specific minimum standards over his career:
Graham frequently compared the margin of safety to an insurance principle. An insurance company cannot predict which individual policyholder will file a claim, but it can predict with reasonable accuracy the aggregate claims across a large pool. Similarly, the individual security analyst cannot guarantee that any single margin-of-safety purchase will work out, but across a diversified portfolio of such purchases, the aggregate results should be satisfactory. The margin of safety does not guarantee profit on each transaction β it guarantees that the odds are in the investor's favor across many transactions.
Graham and Dodd propose a functional classification of securities that differs fundamentally from the conventional legal classification. Where the conventional system classifies by type of instrument (bond, preferred stock, common stock), Graham and Dodd classify by the character of the investment:
Group I β Securities of Fixed-Value Type
Group II β Senior Securities of Variable-Value Type
Group III β Common-Stock Type Securities
This classification reveals that a speculative bond (one with questionable ability to pay interest) has more in common with a common stock than with a high-grade bond. The legal form of the security matters far less than its investment character. A bond issued by a weak company may be more speculative than common stock issued by a strong company. This insight was revolutionary in 1934 and remains insufficiently appreciated today.
Priority of Claims in Liquidation (highest to lowest)
β
βββ Secured debt (backed by specific assets)
βββ Senior unsecured debt
βββ Subordinated debt
βββ Preferred stock (fixed dividends, no maturity)
βββ Common stock (residual claim)
β
In good times: common stock benefits most from upside
In bad times: common stock absorbs losses first
Graham devotes the most methodical portion of Security Analysis to bond analysis, and for good reason: the principles of bond safety are the foundation upon which all other security analysis is built. If you understand how to determine whether a bond is safe, you understand the basic framework for evaluating any security.
Pillar 1: Character of the Enterprise
Pillar 2: Specific Contractual Terms
Pillar 3: Earnings Coverage β The Dominant Factor
Pillar 4: Asset Coverage
Graham established specific quantitative minimum standards for investment-grade bonds. These standards represent the floor, not the ceiling β bonds meeting them deserve consideration, those failing them should be avoided regardless of yield:
| Test | Industrial | Utility | Railroad |
|---|---|---|---|
| Times interest earned (7-yr avg) | 5x | 4x | 4x |
| Times interest earned (worst year) | 3x | 2.5x | 2.5x |
| Debt as % of total capital | < 50% | < 60% | < 60% |
| Stock equity as % of total debt | > 100% | > 75% | > 75% |
The coverage ratio is calculated using the "overall" or "cumulative deduction" method:
Times Interest Earned = (Earnings Before Interest and Taxes) / (Total Interest Charges)
Graham insists on the overall method (total earnings vs. total interest) rather than the "prior deductions" method (applying earnings to each layer of debt separately), because the overall method reveals the true cushion protecting all bondholders collectively.
Graham introduced what might be called the "depression standard" β any bond being considered for investment must demonstrate adequate coverage not merely under normal conditions but under the worst conditions experienced during the prior business cycle. A bond that meets coverage requirements during prosperity but fails them during recession is not investment-grade, regardless of its current rating.
This principle generalizes: security analysis must always consider adverse conditions, not just current conditions. Investing for the best case is speculation; investing with a cushion for the worst case is genuine investment.
Graham's treatment of preferred stock is distinctly skeptical. He views preferred stock as occupying an uncomfortable middle ground β it bears the risk of equity (dividends can be omitted, no maturity date) with the limited upside of debt (fixed dividend, no participation in growth). This combination makes preferred stock an inherently inferior security type in most cases.
Preferred stock lacks the two features that make bonds tolerable for conservative investors:
As Graham writes, the preferred stockholder "has no enforceable claim for dividends, no right to get his principal back, and no voice in management." The only advantage over common stockholders is priority β preferred gets paid before common, but after all debt holders.
Given these disadvantages, Graham insists that preferred stock must meet even higher safety standards than bonds of the same issuer:
The only preferred stocks suitable for conservative investment are those issued by companies so strong that they could easily have issued bonds instead. Ironically, the best preferred stocks are those that need not exist β they are issued by companies that could have raised debt capital on better terms.
Graham views these more favorably because they add an element of upside potential to the fixed-income framework. A convertible preferred issued by a fundamentally sound company at a reasonable conversion ratio can offer bond-like safety with equity-like upside β the best of both worlds. However, investors should verify that:
The analysis of common stocks is fundamentally different from bond analysis. For bonds, the question is binary: will the issuer make all promised payments? For common stocks, the question is continuous: what is the enterprise worth, and does the current price represent a bargain relative to that worth?
Graham defines "earnings power" as the normal earning capacity of the business β what it would earn under mid-cycle business conditions, sustained indefinitely. This is distinct from:
Earnings power is an idealized concept β a smoothed, normalized representation of what the business can reliably produce. It is the most important single factor in common stock valuation, though not the only one.
Graham's basic valuation formula:
Intrinsic Value = Earnings Power Γ Appropriate Capitalization Rate
The "capitalization rate" is essentially the inverse of the P/E ratio. Graham suggests the following framework for determining appropriate multiples:
| Business Quality | Suggested P/E Range | Notes |
|---|---|---|
| Exceptional β dominant franchise, high growth | 15β20x | Rarely exceeds 20x in Graham's framework |
| Above average β strong position, moderate growth | 12β15x | Most good businesses fall here |
| Average β stable but unexceptional | 8β12x | The broad market average historically |
| Below average β cyclical, competitive, declining | 5β8x | Discount reflects higher risk |
| Speculative β highly uncertain | < 5x or N/A | Cannot be reliably valued on earnings |
Graham was deeply skeptical of assigning high capitalization rates (high P/E multiples). A P/E above 20 implies that the market is placing substantial value on growth β and growth estimates are the least reliable component of value.
Graham identifies two independent measures of intrinsic value:
When both measures point in the same direction, the analyst can have greater confidence. When they diverge, the analyst must exercise judgment:
Graham gives dividends substantial weight in common stock valuation β a position that distinguishes him from many modern value investors. His reasoning:
Graham's dividend test: a company should distribute at least two-thirds of its earnings as dividends unless it can demonstrate that retained earnings are being reinvested at a high rate of return. If the company earns 8% on equity but retains most of its earnings, shareholders would be better off receiving dividends and investing them elsewhere.
The income statement is the security analyst's primary raw material for assessing earnings power. Graham and Dodd devote extensive attention to the accounting adjustments necessary to transform the reported income statement into a useful analytical tool.
Reported earnings in any single year are almost never an accurate representation of earning power. They are distorted by:
The analyst's primary task is to "normalize" earnings β to strip away distortions and arrive at a figure representing sustainable earning capacity. This requires a minimum of five years of data and ideally seven to ten.
Non-recurring items: Any income or expense that is unlikely to recur should be excluded from normalized earnings. Common examples:
Depreciation and amortization: Graham insists that depreciation is a real economic cost, not merely an accounting convention. Reported depreciation should be compared to actual maintenance capital expenditures. If the company spends significantly more on capex than it reports in depreciation, reported earnings overstate true earnings. If the company's assets are aging and capex is deferred, future expenses are being pushed forward.
Maintenance CapEx Test:
If CapEx >> Depreciation consistently β assets are growing (good or neutral)
If CapEx β Depreciation β assets are maintained (neutral)
If CapEx << Depreciation β assets are deteriorating (earnings may be overstated)
Owner Earnings = Net Income + Depreciation/Amortization - Maintenance CapEx
Inventory accounting: The choice between FIFO and LIFO can materially affect reported earnings, especially during periods of inflation:
Stock-based compensation: Treat as a real expense. Companies that exclude stock-based compensation from "adjusted" earnings are overstating their true profitability. Graham would view this practice with great suspicion.
Graham emphasizes examining the entire earnings record over a full business cycle, not just the latest year or the trend. Key questions:
A company earning $5 per share on average over ten years, with a range of $3 to $7, has more reliable earning power than a company earning $5 on average with a range of $0 to $12 β even though the average is identical.
If the income statement reveals what a business earns, the balance sheet reveals what it owns and owes. Graham and Dodd view the balance sheet as the bedrock of security analysis β less glamorous than earnings analysis but more reliable, because assets and liabilities are verifiable in ways that earnings projections never can be.
Graham's most distinctive contribution to balance sheet analysis is the concept of net current asset value (NCAV), sometimes called "net-net working capital":
Net Current Asset Value = Current Assets - Total Liabilities (including preferred stock)
Note that this formula deducts ALL liabilities β not just current liabilities β from current assets. It ignores fixed assets entirely, assigning them a value of zero. The resulting figure represents the minimum liquidation value of the business under the most conservative assumptions.
If a stock trades below its net current asset value per share, the buyer is getting:
Graham considered stocks trading below 2/3 of NCAV to be the most statistically reliable bargain category β and decades of academic research have confirmed that net-net portfolios generate superior returns.
Reported book values rarely reflect economic reality. The analyst must make several adjustments:
Upward adjustments (hidden assets):
Downward adjustments (hidden liabilities):
Graham's net-net calculation, step by step:
Step 1: Start with total current assets
Cash and equivalents $100M
Short-term investments $20M
Accounts receivable $80M
Inventory $60M
Other current assets $10M
βββββββββββββββββββββββββββββββββββββ
Total current assets $270M
Step 2: Apply Graham's discount factors (conservative variant)
Cash and equivalents Γ 100% = $100M
Accounts receivable Γ 80% = $64M
Inventory Γ 67% = $40M
Other current assets Γ 50% = $5M
βββββββββββββββββββββββββββββββββββββ
Adjusted current assets $209M
Step 3: Subtract ALL liabilities
Total current liabilities $90M
Long-term debt $50M
Other long-term liabilities $10M
βββββββββββββββββββββββββββββββββββββ
Total liabilities $150M
Step 4: Calculate NCAV
NCAV = $209M - $150M = $59M
Step 5: Calculate NCAV per share
Shares outstanding: 10M
NCAV per share = $5.90
Step 6: Apply Graham's 2/3 discount
Maximum purchase price = $5.90 Γ 0.67 = $3.95
If the stock trades at $3.95 or below, it qualifies as a Graham net-net.
Even for stocks being evaluated primarily on earnings power, Graham insists on a balance sheet safety check:
A company with excellent earnings but a dangerously leveraged balance sheet is not a conservative investment β it is a speculation on the continuation of favorable conditions.
Graham devotes considerable attention to the practice of comparing similar securities to identify relative value β what modern practitioners call "relative valuation" or "comps analysis." However, his approach is more rigorous than the superficial comparisons common in Wall Street research.
If two securities offer essentially the same risk-return characteristics, the rational investor should prefer the cheaper one. This obvious principle becomes powerful when applied systematically across an industry or asset class.
When comparing bonds of similar quality:
When comparing stocks in the same industry:
| Metric | What It Reveals |
|---|---|
| P/E ratio | Relative earnings valuation |
| P/B ratio | Relative asset valuation |
| Dividend yield | Relative income return |
| Earnings stability | Relative predictability |
| Debt levels | Relative financial risk |
| Return on equity | Relative profitability |
| Earnings trend | Relative momentum |
| Insider ownership | Management alignment |
The analyst should look for situations where one stock is clearly cheaper than its peer on multiple metrics simultaneously, without obvious reasons for the discount. Such situations often arise when a company is temporarily out of favor due to a short-term problem that does not impair long-term value.
Graham warns against qualitative arguments that justify paying more for one company versus another ("Company A has better management" or "Company B has superior technology"). While such factors are real, the analyst must ask: is the qualitative superiority already reflected in the price? A company with modestly superior prospects trading at twice the P/E of its competitor offers no bargain β the premium exceeds the advantage.
One of Graham's most important distinctions β and one of the most frequently misunderstood β is the sharp line he draws between security analysis and market analysis.
Security analysis determines what a security is worth based on the underlying business facts. It is bottom-up, fact-based, and independent of market conditions.
Market analysis attempts to predict future price movements based on market data β price patterns, volume, sentiment, economic indicators. It is inherently speculative because it depends on forecasting the behavior of other market participants.
Graham does not claim that market analysis is impossible β only that it is unreliable and fundamentally different in character from security analysis. An investor who buys a stock because it is cheap relative to its intrinsic value is engaging in security analysis. An investor who buys a stock because the market is "due for a rally" is engaging in market analysis.
Graham's famous definition:
"An investment operation is one which, upon thorough analysis, promises safety of principal and an adequate return. Operations not meeting these requirements are speculative."
Three conditions must ALL be met for an operation to qualify as investment:
Everything else is speculation. Graham does not condemn speculation β he acknowledges that it is a legitimate activity. But he insists that the speculator must recognize what he is doing, limit his speculative capital, and never confuse speculation with investment.
Graham's famous allegory (more fully developed in The Intelligent Investor but rooted in Security Analysis):
Imagine that you own a share of a private business alongside a partner named Mr. Market. Every day, Mr. Market offers to buy your share or sell you his at a quoted price. Sometimes his price is reasonable relative to the business value; often it is absurdly high or absurdly low. Mr. Market does not mind being ignored β he will return tomorrow with a new price.
The key insight: Mr. Market exists to serve the investor, not to guide him. The investor should take advantage of Mr. Market's occasional foolishness (buying when prices are irrationally low, selling when they are irrationally high) and ignore him the rest of the time. The investor who allows Mr. Market to determine his opinion of value has abandoned analysis for speculation.
Graham distinguishes between two types of investors β not by wealth or sophistication, but by willingness to devote time and effort to investment analysis. The "defensive" (or "passive") investor seeks safety and freedom from bother; the "enterprising" (or "aggressive") investor is willing to devote time and effort to selection.
Graham's specific requirements for the defensive investor:
Adequate size: The company should be among the larger in its industry. Small companies are subject to greater volatility and have less margin for error. (In modern terms: market cap above $2β5 billion.)
Strong financial condition: Current ratio at least 2:1 for industrials. Long-term debt should not exceed net current assets (working capital).
Earnings stability: Positive earnings in each of the past ten years. No exceptions.
Dividend record: Uninterrupted dividend payments for at least 20 years.
Earnings growth: A minimum increase of at least one-third in per-share earnings over the past ten years, using three-year averages at the beginning and end.
Moderate P/E ratio: Current price should not exceed 15 times average earnings of the past three years.
Moderate price-to-assets ratio: Current price should not exceed 1.5 times the most recently reported book value. However, a P/E below 15 could justify a correspondingly higher price-to-book ratio. As a rule of thumb: the product of the P/E and the P/B should not exceed 22.5.
Graham's Defensive Valuation Formula:
P/E Γ P/B β€ 22.5
Equivalently: Maximum Price = β(22.5 Γ EPS Γ BVPS)
Example: EPS = $3.00, Book Value = $20.00
Maximum Price = β(22.5 Γ 3.00 Γ 20.00) = β1,350 = $36.74
Each criterion serves a specific protective function:
Graham recommends a portfolio of 10 to 30 stocks meeting the above criteria, spread across different industries. The defensive investor should rebalance periodically (annually or semi-annually) and replace any holding that no longer meets the criteria.
The enterprising investor, willing to devote significant time and effort, can pursue opportunities unavailable to the passive investor. Graham identifies several categories of attractive situations.
A bargain issue is a common stock that appears to be worth substantially more than its current price, based on thorough analysis. Graham identifies two primary tests:
Test 1: Earnings-based bargains
Test 2: Asset-based bargains (net-nets)
The net-net approach is Graham's most mechanical and historically most reliable strategy. The principle: buy a diversified portfolio of stocks trading below 2/3 of net current asset value, and hold until they appreciate to NCAV or until a reasonable time period (2β3 years) has passed.
Why it works:
Graham reported that his firm's net-net portfolio earned approximately 20% per year over a 30-year period β a remarkable record.
Graham also identifies "special situations" as opportunities for the enterprising investor:
These situations require specialized knowledge and careful analysis of the specific transaction, but they can offer returns that are substantially independent of general market conditions.
Graham was an early practitioner of what would now be called "event-driven" investing. His firm regularly engaged in:
These strategies offered returns uncorrelated with the market β a form of diversification at the strategy level.
Graham acknowledges that management quality is an important factor in security analysis, but he warns against placing too much weight on it β for a surprising and counterintuitive reason.
Management quality is difficult to evaluate objectively. Most investors who claim to assess management quality are actually observing the results of a good or bad business (which any competent person could run) and attributing them to management genius or incompetence.
Furthermore, management quality is typically already reflected in the stock price. When a company has a visionary CEO, the market usually knows and has bid the stock up accordingly. The investor who pays a premium for "great management" gets no bargain β they pay for what they get.
Rather than subjective assessments of management charisma or vision, Graham directs the analyst to observable, quantitative indicators:
Graham suggests that management quality is more useful as a negative screen than a positive one. It is very difficult to identify superior managers in advance, but it is relatively easy to identify management practices that destroy shareholder value:
The exploitation of discrepancies between market price and intrinsic value is the central activity of value investing. Graham identifies the principal sources of such discrepancies and the mechanisms by which they are eventually resolved.
Exaggerated reaction to short-term developments: The market tends to overweight recent events β a bad quarter, a management change, a regulatory action β and extrapolate them indefinitely. A company that reports one poor quarter may see its stock decline as if the poor results will continue forever.
Neglect and obscurity: Small companies, recently listed companies, and companies in boring industries may be overlooked by analysts and institutional investors. With fewer eyes watching, prices are more likely to deviate from value.
General market decline: During bear markets, all stocks decline, including those of excellent companies with strong balance sheets and stable earnings. The best bargains are created when fundamentally sound businesses are dragged down by market-wide panic.
Industry disfavor: Entire sectors fall out of favor periodically, creating opportunities to buy good companies at unreasonable prices simply because they are classified in the wrong industry group.
Complex capital structures: Companies with complicated financial structures (multiple classes of stock, convertible securities, warrants) are harder to analyze and more likely to be mispriced.
Graham identifies several forces that tend to close the gap between price and value:
Graham acknowledges that the market can remain irrational for extended periods. The investor must have:
Throughout Security Analysis, Graham identifies errors that even careful analysts make. These mistakes fall into recognizable patterns.
The single most common and costly mistake in security analysis is overpaying for expected growth. Growth is the most exciting but least predictable component of value. Companies expected to grow rapidly command high P/E multiples β but if growth fails to materialize, the double compression of declining earnings AND declining multiples is devastating.
Graham's rule: never pay more than 20x earnings for any stock, regardless of growth expectations. If the growth materializes, you will do well buying at 20x. If it does not, you have limited your downside.
Modern analysts frequently value companies solely on earnings multiples, ignoring the balance sheet entirely. This can lead to catastrophic errors when the company is overleveraged and earnings are cyclically inflated.
A company reporting record earnings due to a cyclical peak in its industry, a one-time gain, or an accounting change does not have higher earning power β it has temporarily elevated earnings that will revert. The analyst who capitalizes peak earnings at a normal multiple will overvalue the stock.
Management has every incentive to present an optimistic picture. Forward guidance, non-GAAP earnings, and "adjusted" metrics frequently overstate economic reality. The analyst should rely on verified historical data and make independent projections.
The analyst who begins with the current stock price and then constructs a justification for it is working backward. The correct approach is to estimate intrinsic value independently and only then compare to the price.
Two companies with identical earnings are not equivalently valued if one is financed entirely with equity and the other is loaded with debt. The leveraged company's earnings are riskier and should be capitalized at a lower multiple (higher discount rate).
Perhaps Graham's most profound observation: most market participants do not distinguish between a stock's price and its value. They believe that because a stock has declined, it has become riskier (when in fact it may have become safer). They believe that because a stock has risen, it has become safer (when in fact it may have become more dangerous). This confusion is the ultimate source of opportunity for the value investor.
The following example demonstrates Graham-Dodd analysis applied to a hypothetical industrial company, "Acme Manufacturing Corp."
Acme Manufacturing Corp. β Initial Screen
βββββββββββββββββββββββββββββββββββββββββ
Market Price: $28.00
Shares Outstanding: 10 million
Market Capitalization: $280 million
Industry: Industrial Manufacturing
βββββββββββββββββββββββββββββββββββββββββ
Screening Criteria Check:
β Market cap > $200M (adequate size)
β Current ratio: 2.4 (> 2.0)
β Long-term debt $40M < working capital $95M
β Positive earnings all 10 years
β Dividends paid continuously for 22 years
β Earnings growth: 3-yr avg EPS now $3.50 vs $2.40 ten years ago (+46%)
β P/E on 3-yr avg earnings: 28/3.50 = 8.0x (< 15)
β P/B: 28/24 = 1.17 (< 1.5)
β P/E Γ P/B = 8.0 Γ 1.17 = 9.36 (< 22.5)
β PASSES all defensive criteria. Proceed to detailed analysis.
Acme Manufacturing β 10-Year Earnings Record
βββββββββββββββββββββββββββββββββββββββββββββ
Year Revenue($M) Reported EPS Adjustments Normalized EPS
βββββββββββββββββββββββββββββββββββββββββββββ
2016 $320 $2.20 β $2.20
2017 $345 $2.60 β $2.60
2018 $360 $2.80 β $2.80
2019 $310 $1.90 +$0.30 restr. $2.20
2020 $280 $1.50 +$0.40 COVID $1.90
2021 $350 $3.00 β$0.20 PPP $2.80
2022 $390 $3.80 β$0.50 one-time $3.30
2023 $400 $3.60 β $3.60
2024 $410 $3.70 β $3.70
2025 $395 $3.20 +$0.30 restr. $3.50
βββββββββββββββββββββββββββββββββββββββββββββ
10-Year Average Normalized EPS: $2.86
Recent 3-Year Average Normalized EPS: $3.27
Worst Year Normalized EPS: $1.90
Best Year Normalized EPS: $3.70
Earnings Stability: Good (worst year = 66% of avg)
Acme Manufacturing β Balance Sheet Summary
ββββββββββββββββββββββββββββββββββββββββββ
ASSETS
Cash and equivalents $45M
Accounts receivable $65M
Inventory $50M
Other current assets $10M
ββββββββββββββββββββββββββββββββββββ
Total Current Assets $170M
Net PP&E $120M
Other long-term assets $30M
Goodwill $20M
ββββββββββββββββββββββββββββββββββββ
Total Assets $340M
LIABILITIES
Accounts payable $35M
Other current liabilities $40M
ββββββββββββββββββββββββββββββββββββ
Total Current Liabilities $75M
Long-term debt $40M
Other long-term liabilities $15M
ββββββββββββββββββββββββββββββββββββ
Total Liabilities $130M
EQUITY
Book Value $210M
Book Value per Share $21.00 (adjusted ex-goodwill: $19.00)
KEY RATIOS
Current ratio: 2.27
Debt/Equity: 0.19
NCAV: $170M β $130M = $40M ($4.00/share)
Working Capital: $95M
Method 1: Earnings Power Value
Normalized EPS (10-yr avg): $2.86
Conservative multiple (10x): $28.60
Moderate multiple (12x): $34.32
Range: $28.60 β $34.32
Method 2: Graham's Defensive Formula
β(22.5 Γ $3.27 Γ $21.00) = β($1,548) = $39.35
Method 3: Asset-Based Value
Adjusted Book Value: $19.00 (ex-goodwill)
With hidden assets (real estate
carried below market value): ~$23.00
Method 4: Net Current Asset Value
NCAV per share: $4.00 (floor; stock trades well above)
INTRINSIC VALUE RANGE: $29 β $39
CURRENT PRICE: $28.00
MARGIN OF SAFETY: 3% β 28%
CONCLUSION:
Intrinsic value range: $29 β $39
Current price: $28.00
Margin of safety: Modest at low end, significant at high end
Dividend yield: 4.3% ($1.20 annual dividend / $28)
Earnings stability: Good
Balance sheet: Strong
RECOMMENDATION: ACCEPTABLE for the defensive investor.
The stock meets all quantitative criteria. The margin of safety is adequate
when measured against the full intrinsic value range. The strong dividend
yield provides tangible return while waiting for appreciation. The balance
sheet provides downside protection.
An enterprising investor might wait for a price closer to $24β25
(representing a clearer margin of safety) unless qualitative factors
support the higher end of the intrinsic value range.
POSITION SIZE: Standard (3β5% of portfolio), given adequate but not
exceptional margin of safety.
REVIEW TRIGGER: Re-evaluate if price exceeds $35 (potential sale),
if earnings deteriorate below $2.00/share (potential red flag), or
if debt increases significantly.
FUNCTION graham_bond_screen(universe):
"""
Screens bonds using Graham's minimum safety standards.
Returns bonds meeting all investment-grade criteria.
"""
qualified = []
FOR EACH bond IN universe:
issuer = bond.issuer
sector = classify_sector(issuer) // industrial, utility, railroad/transport
// Criterion 1: Size and prominence
IF issuer.total_assets < MINIMUM_SIZE_THRESHOLD:
CONTINUE
// Criterion 2: Earnings coverage (7-year average)
earnings_7yr = issuer.get_ebit(years=7)
interest_charges = issuer.get_total_interest_charges(years=7)
avg_coverage = MEAN(earnings_7yr[i] / interest_charges[i] FOR i IN range(7))
IF sector == "industrial" AND avg_coverage < 5.0:
CONTINUE
ELIF sector == "utility" AND avg_coverage < 4.0:
CONTINUE
ELIF sector == "transport" AND avg_coverage < 4.0:
CONTINUE
// Criterion 3: Worst-year coverage
worst_coverage = MIN(earnings_7yr[i] / interest_charges[i] FOR i IN range(7))
IF sector == "industrial" AND worst_coverage < 3.0:
CONTINUE
ELIF sector == "utility" AND worst_coverage < 2.5:
CONTINUE
ELIF sector == "transport" AND worst_coverage < 2.5:
CONTINUE
// Criterion 4: Debt as percentage of total capital
debt_ratio = issuer.total_debt / issuer.total_capital
IF sector == "industrial" AND debt_ratio > 0.50:
CONTINUE
ELIF sector IN ["utility", "transport"] AND debt_ratio > 0.60:
CONTINUE
// Criterion 5: Asset coverage
equity_to_debt = issuer.stockholders_equity / issuer.total_debt
IF sector == "industrial" AND equity_to_debt < 1.0:
CONTINUE
ELIF sector IN ["utility", "transport"] AND equity_to_debt < 0.75:
CONTINUE
// Criterion 6: Earnings stability
IF ANY(year < 0 FOR year IN earnings_7yr):
CONTINUE // No loss years permitted
// Criterion 7: Earnings trend (not declining)
recent_avg = MEAN(earnings_7yr[-3:])
earlier_avg = MEAN(earnings_7yr[:3])
IF recent_avg < earlier_avg * 0.80:
CONTINUE // Declining earnings trend
// All criteria passed
qualified.APPEND({
bond: bond,
avg_coverage: avg_coverage,
worst_coverage: worst_coverage,
debt_ratio: debt_ratio,
equity_to_debt: equity_to_debt,
yield: bond.yield_to_maturity,
safety_score: compute_safety_score(avg_coverage, worst_coverage,
debt_ratio, equity_to_debt)
})
// Sort by safety score (highest first), then yield (highest first)
RETURN SORT(qualified, key=(-safety_score, -yield))
FUNCTION graham_net_net_screen(universe):
"""
Identifies stocks trading below 2/3 of Net Current Asset Value.
The purest expression of Graham's quantitative value investing.
"""
net_nets = []
FOR EACH stock IN universe:
company = stock.company
// Step 1: Calculate Net Current Asset Value
current_assets = company.total_current_assets
total_liabilities = company.total_liabilities
preferred_stock = company.preferred_stock_value
ncav = current_assets - total_liabilities - preferred_stock
// Skip if NCAV is negative
IF ncav <= 0:
CONTINUE
ncav_per_share = ncav / company.shares_outstanding
price = stock.current_price
// Step 2: Apply the 2/3 rule
IF price > ncav_per_share * 0.667:
CONTINUE // Not cheap enough
// Step 3: Apply Graham's conservative discount factors
cash = company.cash_and_equivalents * 1.00
receivables = company.accounts_receivable * 0.80
inventory = company.inventory * 0.667
other_current = company.other_current_assets * 0.50
conservative_ncav = (cash + receivables + inventory + other_current
- total_liabilities - preferred_stock)
conservative_ncav_per_share = conservative_ncav / company.shares_outstanding
// Step 4: Quality filters (avoid value traps)
// Filter: Not burning cash too rapidly
IF company.operating_cash_flow < -ncav * 0.25:
FLAG_WARNING("Rapid cash burn β NCAV may erode quickly")
// Filter: Not in active bankruptcy proceedings
IF company.is_in_bankruptcy:
CONTINUE
// Filter: Some positive earnings history
years_profitable = COUNT(year FOR year IN company.eps_history(10)
IF year > 0)
// Filter: Insider ownership (alignment check)
insider_pct = company.insider_ownership_percent
net_nets.APPEND({
ticker: stock.ticker,
price: price,
ncav_per_share: ncav_per_share,
conservative_ncav_per_share: conservative_ncav_per_share,
discount_to_ncav: 1 - (price / ncav_per_share),
discount_to_conservative: 1 - (price / conservative_ncav_per_share),
years_profitable: years_profitable,
insider_ownership: insider_pct,
market_cap: stock.market_cap,
current_ratio: company.current_ratio,
has_dividends: company.dividend_yield > 0,
cash_burn_warning: company.operating_cash_flow < -ncav * 0.25
})
// Sort by discount to NCAV (deepest discount first)
RETURN SORT(net_nets, key=(-discount_to_ncav))
FUNCTION calculate_earnings_power(company, years=10):
"""
Normalizes earnings to estimate sustainable earning capacity.
Returns earnings power value and intrinsic value range.
"""
// Step 1: Gather raw earnings data
reported_eps = company.get_eps_history(years)
revenue = company.get_revenue_history(years)
// Step 2: Identify and adjust non-recurring items
normalized_eps = []
FOR EACH year IN range(years):
eps = reported_eps[year]
adjustments = 0
// Remove non-recurring gains
nonrecurring_gains = company.get_nonrecurring_gains(year)
adjustments -= nonrecurring_gains / company.shares_outstanding
// Remove non-recurring charges
nonrecurring_charges = company.get_nonrecurring_charges(year)
adjustments += nonrecurring_charges / company.shares_outstanding
// Adjust for excess depreciation or deferred maintenance
depreciation = company.get_depreciation(year)
maintenance_capex = company.estimate_maintenance_capex(year)
capex_adjustment = (depreciation - maintenance_capex) / company.shares_outstanding
adjustments += capex_adjustment * (1 - company.tax_rate)
// Adjust for stock-based compensation if excluded from reported
IF NOT company.includes_sbc_in_reported:
sbc = company.get_stock_compensation(year)
adjustments -= sbc / company.shares_outstanding
normalized_eps.APPEND(eps + adjustments)
// Step 3: Calculate earnings power metrics
avg_eps = MEAN(normalized_eps)
median_eps = MEDIAN(normalized_eps)
recent_avg = MEAN(normalized_eps[-3:])
worst_eps = MIN(normalized_eps)
best_eps = MAX(normalized_eps)
std_dev = STANDARD_DEVIATION(normalized_eps)
coefficient_of_variation = std_dev / avg_eps
// Step 4: Determine appropriate earnings power figure
// Use the lower of average and recent if earnings are declining
// Use recent if there is a clear secular uptrend
IF recent_avg > avg_eps * 1.20 AND is_consistent_uptrend(normalized_eps):
earnings_power = recent_avg * 0.90 // Discount slightly for conservatism
ELIF recent_avg < avg_eps * 0.80:
earnings_power = recent_avg // Earnings may be declining
ELSE:
earnings_power = avg_eps // Use long-term average
// Step 5: Determine appropriate capitalization rate (P/E multiple)
base_multiple = 10.0 // Starting point for average business
// Adjust for earnings stability
IF coefficient_of_variation < 0.15:
base_multiple += 2.0 // Very stable earnings
ELIF coefficient_of_variation > 0.40:
base_multiple -= 2.0 // Very volatile earnings
// Adjust for financial strength
IF company.debt_to_equity < 0.30:
base_multiple += 1.0 // Strong balance sheet
ELIF company.debt_to_equity > 1.00:
base_multiple -= 2.0 // Leveraged
// Adjust for growth (conservative)
growth_rate = calculate_growth_rate(normalized_eps)
IF growth_rate > 0.05 AND growth_rate < 0.15:
base_multiple += MIN(growth_rate * 20, 3.0) // Cap growth premium
ELIF growth_rate < 0:
base_multiple -= 2.0 // Declining earnings penalized
// Cap the multiple (Graham's conservatism)
capitalization_rate = MIN(base_multiple, 20.0)
// Step 6: Calculate intrinsic value range
conservative_value = earnings_power * (capitalization_rate - 2)
base_value = earnings_power * capitalization_rate
optimistic_value = earnings_power * (capitalization_rate + 2)
// Step 7: Cross-check with asset value
book_value = company.tangible_book_value_per_share
ncav = company.net_current_asset_value_per_share
// Step 8: Apply Graham's defensive formula
graham_formula_value = SQRT(22.5 * recent_avg * book_value)
RETURN {
normalized_eps: normalized_eps,
earnings_power: earnings_power,
capitalization_rate: capitalization_rate,
intrinsic_value_range: (conservative_value, base_value, optimistic_value),
graham_formula_value: graham_formula_value,
book_value: book_value,
ncav_per_share: ncav,
earnings_stability: coefficient_of_variation,
growth_rate: growth_rate,
worst_year_eps: worst_eps,
analysis_notes: generate_notes(company, normalized_eps, capitalization_rate)
}
FUNCTION margin_of_safety_monitor(portfolio, market_data):
"""
Continuously monitors portfolio positions for margin of safety.
Generates alerts when positions approach or exceed fair value,
and identifies new opportunities when margins widen.
"""
alerts = []
FOR EACH position IN portfolio:
stock = position.stock
current_price = market_data.get_price(stock.ticker)
// Recalculate intrinsic value (quarterly refresh of fundamentals)
IF needs_fundamental_refresh(position):
ep = calculate_earnings_power(stock.company)
position.intrinsic_value = ep.intrinsic_value_range
position.graham_value = ep.graham_formula_value
position.ncav = ep.ncav_per_share
position.last_refresh = TODAY
// Calculate current margins
iv_low, iv_mid, iv_high = position.intrinsic_value
margin_to_mid = (iv_mid - current_price) / iv_mid
margin_to_low = (iv_low - current_price) / iv_low
// Zone classification
IF current_price < iv_low * 0.67:
zone = "DEEP_VALUE" // Exceptional margin of safety
ELIF current_price < iv_low:
zone = "UNDERVALUED" // Adequate margin of safety
ELIF current_price < iv_mid:
zone = "FAIR_LOW" // Modest margin, hold
ELIF current_price < iv_high:
zone = "FAIR_HIGH" // No margin, consider trimming
ELSE:
zone = "OVERVALUED" // Negative margin, sell candidate
// Generate alerts based on zone transitions
IF zone != position.previous_zone:
IF zone == "OVERVALUED":
alerts.APPEND(SELL_ALERT(stock, current_price, iv_mid,
"Price exceeds intrinsic value range. Margin of safety "
"is negative. Consider selling."))
ELIF zone == "FAIR_HIGH" AND position.previous_zone IN
["UNDERVALUED", "DEEP_VALUE"]:
alerts.APPEND(TRIM_ALERT(stock, current_price, iv_mid,
"Position has appreciated to upper fair value range. "
"Consider reducing to lock in gains."))
ELIF zone == "DEEP_VALUE" AND position.previous_zone != "DEEP_VALUE":
alerts.APPEND(BUY_ALERT(stock, current_price, iv_mid,
"Price has declined to deep value territory. "
"Margin of safety is exceptional. Consider adding."))
position.previous_zone = zone
// Fundamental deterioration check
IF position.company.latest_eps < position.company.normalized_eps * 0.50:
alerts.APPEND(FUNDAMENTAL_ALERT(stock,
"Earnings have dropped below 50% of normalized level. "
"Re-evaluate thesis and intrinsic value estimate."))
IF position.company.current_ratio < 1.5:
alerts.APPEND(FUNDAMENTAL_ALERT(stock,
"Current ratio has fallen below 1.5. "
"Balance sheet safety may be deteriorating."))
IF position.company.debt_to_equity > previous_debt_to_equity * 1.50:
alerts.APPEND(FUNDAMENTAL_ALERT(stock,
"Debt-to-equity has increased by more than 50%. "
"Financial risk is rising."))
// Portfolio-level checks
portfolio_avg_margin = MEAN(margin_to_mid FOR position IN portfolio)
portfolio_pct_overvalued = COUNT(zone == "OVERVALUED") / LEN(portfolio)
IF portfolio_avg_margin < 0.10:
alerts.APPEND(PORTFOLIO_ALERT(
"Portfolio average margin of safety has fallen below 10%. "
"Consider raising cash or rotating into cheaper securities."))
IF portfolio_pct_overvalued > 0.30:
alerts.APPEND(PORTFOLIO_ALERT(
"More than 30% of holdings are in the overvalued zone. "
"Portfolio risk is elevated."))
// New opportunity scan
FOR EACH candidate IN market_data.screened_universe:
IF candidate NOT IN portfolio:
IF candidate.margin_of_safety > 0.33:
alerts.APPEND(OPPORTUNITY_ALERT(candidate,
"New security identified with >33% margin of safety. "
"Consider for portfolio addition."))
RETURN {
alerts: alerts,
portfolio_summary: {
avg_margin_of_safety: portfolio_avg_margin,
pct_undervalued: COUNT(zone IN ["DEEP_VALUE", "UNDERVALUED"]) / LEN(portfolio),
pct_overvalued: portfolio_pct_overvalued,
positions_by_zone: GROUP_BY(portfolio, zone)
}
}
FUNCTION graham_defensive_screen(universe):
"""
Screens stocks using Graham's complete criteria for the defensive investor.
All seven criteria must be met simultaneously.
"""
qualified = []
FOR EACH stock IN universe:
company = stock.company
price = stock.current_price
fails = []
// Criterion 1: Adequate size
IF company.revenue < 500_000_000: // $500M minimum revenue
fails.APPEND("Revenue below $500M minimum")
// Criterion 2: Strong financial condition
IF company.current_ratio < 2.0:
fails.APPEND(f"Current ratio {company.current_ratio:.1f} < 2.0")
IF company.long_term_debt > company.working_capital:
fails.APPEND("LT debt exceeds working capital")
// Criterion 3: Earnings stability (positive EPS every year for 10 years)
eps_history = company.get_eps_history(10)
loss_years = [y FOR y IN eps_history IF y <= 0]
IF LEN(loss_years) > 0:
fails.APPEND(f"Losses in {LEN(loss_years)} of past 10 years")
// Criterion 4: Dividend record (20 consecutive years)
consecutive_dividend_years = company.consecutive_dividend_years
IF consecutive_dividend_years < 20:
fails.APPEND(f"Only {consecutive_dividend_years} years of dividends (need 20)")
// Criterion 5: Earnings growth (33% over 10 years using 3-yr averages)
IF LEN(eps_history) >= 10:
beginning_avg = MEAN(eps_history[:3])
ending_avg = MEAN(eps_history[-3:])
IF beginning_avg > 0:
growth = (ending_avg - beginning_avg) / beginning_avg
IF growth < 0.33:
fails.APPEND(f"10-year earnings growth {growth:.0%} < 33%")
// Criterion 6: Moderate P/E ratio
avg_eps_3yr = MEAN(eps_history[-3:])
IF avg_eps_3yr > 0:
pe_ratio = price / avg_eps_3yr
IF pe_ratio > 15:
fails.APPEND(f"P/E {pe_ratio:.1f} > 15 on 3-year avg earnings")
ELSE:
fails.APPEND("Negative 3-year average earnings")
// Criterion 7: Moderate price-to-book
book_value = company.book_value_per_share
IF book_value > 0:
pb_ratio = price / book_value
pe_times_pb = pe_ratio * pb_ratio
IF pb_ratio > 1.5 AND pe_times_pb > 22.5:
fails.APPEND(f"P/E Γ P/B = {pe_times_pb:.1f} > 22.5")
// Record result
IF LEN(fails) == 0:
graham_value = SQRT(22.5 * avg_eps_3yr * book_value)
margin = (graham_value - price) / graham_value
qualified.APPEND({
ticker: stock.ticker,
name: company.name,
price: price,
graham_value: graham_value,
margin_of_safety: margin,
pe_ratio: pe_ratio,
pb_ratio: pb_ratio,
pe_times_pb: pe_times_pb,
current_ratio: company.current_ratio,
dividend_yield: company.dividend_yield,
eps_growth_10yr: growth,
consecutive_dividends: consecutive_dividend_years
})
RETURN SORT(qualified, key=(-margin_of_safety))
"An investment operation is one which, upon thorough analysis, promises safety of principal and an adequate return. Operations not meeting these requirements are speculative."
This is the most famous definition in all of investment literature. Its power lies in its precision β three specific conditions, all of which must be met.
"The margin of safety is always dependent on the price paid. It will be large at one price, small at some higher price, nonexistent at some still higher price."
The margin of safety is not an attribute of the security β it is an attribute of the price relative to the value. The same stock can be a safe investment at one price and a dangerous speculation at another.
"Confronted with a challenge to distill the secret of sound investment into three words, we venture the motto: MARGIN OF SAFETY."
Graham's final word on what matters most.
"The investor's chief problem β and even his worst enemy β is likely to be himself."
Anticipating behavioral finance by decades, Graham recognized that the primary obstacle to investment success is not analytical difficulty but psychological weakness.
"In the short run, the market is a voting machine but in the long run it is a weighing machine."
The market's short-term prices reflect popularity (votes), but its long-term prices reflect value (weight). The security analyst's job is to weigh.
"The individual investor should act consistently as an investor and not as a speculator."
The distinction between investment and speculation is not academic β it is the foundation of rational behavior in financial markets.
"To have a true investment, there must be present a true margin of safety. And a true margin of safety is one that can be demonstrated by figures, by persuasive reasoning, and by reference to a body of actual experience."
The margin of safety must be quantitative and evidence-based, not hoped for or assumed.
"The buyer of bargain issues places particular emphasis on the ability of the investment to withstand adverse developments."
The value investor does not predict the future β he prepares for adversity.
"It is absurd to think that the general public can ever make money out of market forecasts."
Market timing is a fool's errand for the vast majority of investors.
"You are neither right nor wrong because the crowd disagrees with you. You are right because your data and reasoning are right."
Independence of thought is the foundation of successful security analysis. The market's opinion is irrelevant to the facts.
"The essence of investment management is the management of risks, not the management of returns."
A principle that Graham's intellectual descendants β Seth Klarman, Howard Marks, Warren Buffett β have all echoed and expanded upon.
"The stock investor is neither right or wrong because others agreed or disagreed with him; he is right because his facts and analysis are right."
Analysis is about evidence, not consensus. The analyst who requires market validation has already abandoned the analytical framework.
"Those who do not remember the past are condemned to repeat it."
Graham quotes Santayana to emphasize that financial history β including its catastrophes β is the essential context for all security analysis. The analyst who ignores the lessons of 1929, 1937, 1973, 2000, and 2008 is building on sand.
Security Analysis is not a book of stock tips or market predictions. It is a framework for thinking β a disciplined, evidence-based approach to determining what securities are worth and whether their market prices offer adequate compensation for the risks involved. Every serious investor owes it to themselves to master this framework. As Seth Klarman writes in his foreword to the 6th edition: "No other book so comprehensively sets forth the principles that should guide the practice of investing."