Investment Strategies

Quantitative strategies from legendary investors and influential books, with specific thresholds and metrics required to implement them.


Warren Buffett — Quality at a Fair Price

Buy wonderful companies at fair prices. Focus on durable competitive advantages (moats), consistent earnings, and shareholder-friendly management.

MetricThresholdFunction
ROE (5yr avg)> 15%__c.roe(read, sym)
ROIC> 15%__c.roic(read, sym)
Debt/Equity< 0.5__c.debtToEquity(read, sym)
Net Profit Margin> 10%__c.netMargin(read, sym)
Operating Margin> 15%__c.operatingMargin(read, sym)
Free Cash FlowPositive and growing__c.fcfGrowth(read, sym)
Earnings GrowthConsistent > 10% YoY__c.earningsGrowth(read, sym)
P/E RatioBelow industry avg or < 15__c.peRatio(read, sym)
Quality of EarningsOCF > Net Income__c.qualityOfEarnings(read, sym) > 1

Benjamin Graham — Deep Value

Buy stocks trading significantly below intrinsic value. The "margin of safety" protects against errors in analysis.

MetricThresholdFunction
P/E Ratio< 15__c.peRatio(read, sym)
P/B Ratio< 1.5__c.pbRatio(read, sym)
P/E × P/B< 22.5 (Graham Number)peRatio × pbRatio
Current Ratio> 2.0__c.currentRatio(read, sym)
Debt/Equity< 1.0__c.debtToEquity(read, sym)
Earnings GrowthPositive EPS last 10 yearshistorical check
DividendUninterrupted 20+ yearsdividend history

Graham Number Formula

Graham Number = √(22.5 × EPS × Book Value per Share)
Buy when: price < Graham Number

Joel Greenblatt — Magic Formula

Rank stocks by quality (return on capital) and cheapness (earnings yield). Buy the top-ranked combination.

MetricCalculationFunction
Earnings YieldEBIT / Enterprise Value__c.earningsYield(read, sym)
Return on CapitalEBIT / (Net Fixed Assets + Working Capital)__c.roce(read, sym)

Rules: Rank all stocks by both metrics, combine ranks, buy top 20-30, hold 1 year. Exclude financials and utilities. Min market cap $100M.

Joseph Piotroski — F-Score

Among cheap stocks (low P/B), use 9 binary signals to separate improving companies from deteriorating ones. Score 0-9.

#ConditionScore 1 if...
1ROAROA > 0 this year
2Operating Cash FlowOCF > 0 this year
3ROA ChangeROA this year > ROA last year
4AccrualsOCF > Net Income
5LeverageLong-term debt decreased YoY
6LiquidityCurrent ratio increased YoY
7DilutionNo new shares issued
8Gross MarginGross margin increased YoY
9Asset TurnoverAsset turnover increased YoY

Buy: F-Score ≥ 8 AND P/B < 1.5. Avoid: F-Score ≤ 2. Rebalance annually.

Peter Lynch — GARP

Find growth stocks reasonably priced relative to their growth rate. The PEG ratio is the key metric.

MetricThresholdFunction
PEG Ratio< 1.0 (ideally < 0.5)peRatio / (epsGrowth × 100)
Earnings Growth15-30% annually__c.earningsGrowth(read, sym)
Debt/Equity< 0.33__c.debtToEquity(read, sym)
P/E Ratio< Earnings Growth Rate__c.peRatio(read, sym)
Free Cash FlowPositivefreeCashFlow > 0
Fair Value = EPS × Growth Rate
Buy when: Price < Fair Value (PEG < 1)
Sell when: PEG > 1.5 or growth decelerating

William O'Neil — CAN SLIM

Combine fundamental strength with technical momentum. Buy leading stocks breaking out of proper bases.

LetterMetricThreshold
CCurrent quarterly EPSUp ≥ 25% YoY
AAnnual earnings growthUp ≥ 25% for 3-5 years
NNew product/high/managementNear 52-week high
SSupply & demandLow float, volume surge
LLeader or laggardRS Rating ≥ 80
IInstitutional sponsorshipIncreasing ownership
MMarket directionUptrend confirmed

Altman Z-Score — Bankruptcy Prediction

Z = 1.2×(Working Capital/Total Assets)
  + 1.4×(Retained Earnings/Total Assets)
  + 3.3×(EBIT/Total Assets)
  + 0.6×(Market Cap/Total Liabilities)
  + 1.0×(Revenue/Total Assets)
Z-ScoreZoneMeaning
> 2.99SafeLow bankruptcy risk
1.81 - 2.99GreyModerate risk
< 1.81DistressHigh bankruptcy risk

Dogs of the Dow

Buy the 10 highest-yielding Dow Jones stocks annually. High yield often indicates temporary undervaluation.

Rules: On Jan 1, identify 10 DJIA stocks with highest dividend yield. Invest equal amounts. Hold 1 year. Rebalance.

Momentum / Trend Following

MetricThresholdImplementation
12-month returnTop decileprice change over 252 bars
6-month returnTop quartileprice change over 126 bars
200-day SMAPrice above__c.priceAboveSma(bar, 200)
50/200 crossGolden cross__c.smaCrossAbove(bar, prevBar, 50, 200)

Mean Reversion (Short-term)

MetricThresholdImplementation
RSI< 30 (buy) / > 70 (sell)__c.rsiBelow(bar, 14, 30)
Bollinger BandWithin 5% of lower band__c.bbProximity(bar, 'lower', 5, 20, 2)
Distance from 50 SMA> 2 std devs belowprice vs SMA calculation

Ray Dalio — All Weather / Risk Parity

Balance risk across economic environments rather than concentrating in equities.

EnvironmentIndicatorsAssets
Growth RisingGDP accelerating, PMI > 50Stocks, Commodities, Corporate Bonds
Growth FallingGDP decelerating, unemployment risingLong-term Treasuries, TIPS
Inflation RisingCPI accelerating, commodities upCommodities, TIPS, Gold
Inflation FallingCPI deceleratingStocks, Long-term Treasuries

Tobias Carlisle — Acquirer's Multiple

Buy the cheapest stocks by enterprise value to operating earnings. Pure cheapness outperforms quality+cheapness.

Acquirer's Multiple = Enterprise Value / Operating Earnings
Operating Earnings = Revenue - COGS - SG&A
MetricThresholdFunction
EV/Operating EarningsBottom decile (< 4x)__c.evToEbitda(read, sym)
Market Cap> $100Mscreener

Mark Minervini — Trend Template (SEPA)

Only buy stocks in confirmed Stage 2 uptrends that meet strict technical criteria.

#ConditionImplementation
1Price > 150-day SMA__c.priceAboveSma(bar, 150)
2Price > 200-day SMA__c.priceAboveSma(bar, 200)
3150-day SMA > 200-day SMAsma(bar,150) > sma(bar,200)
4200-day SMA trending up ≥ 1 monthSMA slope positive
550-day SMA > 150-day SMA > 200-day SMAstacked SMAs
6Price > 50-day SMA__c.priceAboveSma(bar, 50)
7Price ≥ 25% above 52-week lowprice vs 252-bar low
8Price within 25% of 52-week highprice vs 252-bar high

Stan Weinstein — Stage Analysis

Stocks move through 4 stages. Only buy in Stage 2 (advancing), short in Stage 4 (declining).

StageConditionAction
1 (Basing)Price oscillates around flat 30-week MAWatch
2 (Advancing)Price breaks above 30-week MA on volume, MA turns upBUY
3 (Topping)Price oscillates around flattening 30-week MASELL
4 (Declining)Price below declining 30-week MAAvoid/Short

David Dreman — Contrarian Value

Buy out-of-favor stocks with strong fundamentals. Market overreacts to bad news.

MetricThresholdFunction
P/E RatioBottom 20% of market__c.peRatio(read, sym)
P/B RatioBottom 20% of market__c.pbRatio(read, sym)
Dividend YieldTop 20% of market__c.dividendYield(read, sym)
Payout Ratio< 50%__c.payoutRatio(read, sym)
Debt/Equity< industry average__c.debtToEquity(read, sym)

Hold 2-3 years for mean reversion.

Martin Zweig — Growth + Momentum

Earnings acceleration is the #1 signal. Revenue must confirm earnings (both growing).

MetricThresholdFunction
Revenue GrowthAccelerating (this Q > last Q)__c.revenueGrowth(read, sym)
EPS Growth≥ 15% and accelerating__c.epsGrowth(read, sym)
P/E Ratio< 3× growth rate, not > 43__c.peRatio(read, sym)
Debt/Equity< industry median__c.debtToEquity(read, sym)

Dividend Aristocrats

Companies that have raised dividends for 25+ consecutive years have proven business models.

MetricThresholdFunction
Consecutive increases≥ 25 yearsdividend history
Dividend Yield> 2%__c.dividendYield(read, sym)
Payout Ratio< 75%__c.payoutRatio(read, sym)
Debt/Equity< 1.0__c.debtToEquity(read, sym)
FCF covers dividendFCF > dividendsPaidcash flow check

Shareholder Yield Strategy

Total cash returned to shareholders (dividends + buybacks + debt paydown) is a better predictor than dividend yield alone.

Shareholder Yield = Dividend Yield + Buyback Yield + Debt Paydown Yield
MetricThresholdFunction
Shareholder YieldTop quintile (> 8%)__c.shareholderYield(read, sym)
Dividend Yield> 0%__c.dividendYield(read, sym)
Buyback YieldPositive (shares decreasing)__c.buybackRatio(read, sym)
ValuationP/E < 20__c.peRatio(read, sym)

John Neff — Low P/E Contrarian

Buy unfashionable stocks with low P/E ratios, decent growth, and high dividend yields.

Total Return Ratio = (Earnings Growth + Dividend Yield) / P/E Ratio
Buy when: Total Return Ratio > 2
MetricThresholdFunction
P/E RatioBelow market average__c.peRatio(read, sym)
Earnings Growth7-20%__c.earningsGrowth(read, sym)
Dividend Yield> 0%__c.dividendYield(read, sym)
Revenue GrowthPositive__c.revenueGrowth(read, sym)

Philip Fisher — Growth Quality

Buy outstanding companies with superior management and hold for the very long term.

MetricThresholdFunction
Revenue Growth> 10% annually for 5+ years__c.revenueGrowth(read, sym)
Net MarginImproving trend__c.netMargin(read, sym)
Operating Margin> 15%__c.operatingMargin(read, sym)
ROE> 15%__c.roe(read, sym)
Debt/Equity< 0.35__c.debtToEquity(read, sym)
EPS Growth> 15% sustained__c.epsGrowth(read, sym)

John Templeton — Maximum Pessimism

Buy at the point of maximum pessimism. Look globally for the cheapest markets.

MetricThresholdFunction
P/E Ratio< 5 (extreme value)__c.peRatio(read, sym)
P/B Ratio< 1.0__c.pbRatio(read, sym)
Price vs 52-week highDown > 50%price decline
EarningsStill positivenetIncome > 0
Debt/Equity< 1.0__c.debtToEquity(read, sym)

Diversify across 100+ positions globally. Hold 4-5 years for mean reversion.

Dual Momentum — Gary Antonacci

Combine relative momentum (which asset is strongest) with absolute momentum (is it positive at all) to avoid bear markets.

StepConditionImplementation
1Calculate 12-month return of each assetprice change over 252 bars
2Relative: Pick asset with highest returncompare returns
3Absolute: Is winner's return > T-bill rate?return > treasury year1
4If yes → invest in winnerbuy signal
5If no → move to bonds/cashdefensive

Sector Rotation — Business Cycle

Different sectors outperform at different phases of the economic cycle.

PhaseEconomic SignalFavored Sectors
Early RecoveryGDP accelerating, rates lowTechnology, Industrials, Consumer Discretionary
Mid CycleGDP strong, rates risingTechnology, Industrials, Energy
Late CycleGDP slowing, inflation risingEnergy, Materials, Healthcare
RecessionGDP negative, rates fallingUtilities, Healthcare, Consumer Staples

Pat Dorsey — Economic Moat Investing

Identify companies with sustainable competitive advantages (moats) and buy them at reasonable prices.

Moat SignalMetricThreshold
Pricing PowerGross Margin> 40% stable for 10yr
EfficiencyROIC> 15% for 10yr
ScaleOperating Margin> industry, expanding
Capital LightCapex/Revenue< 5%
Cash GenerationFCF Conversion> 80% of earnings

Only buy moat stocks when P/E < 20 or FCF Yield > 5%.

William Bernstein — The Four Pillars of Investing

Successful investing rests on four pillars: Theory (risk and return are related), History (markets are cyclical), Psychology (your worst enemy is yourself), and Business (Wall Street is not your friend). Use broad diversification, tilt toward value/small, keep costs low, and rebalance mechanically.

The Four Pillars

PillarLessonApplication
TheoryHigher risk = higher expected returnTilt toward small cap & value for premium
HistoryBubbles and crashes repeatDon't chase performance, rebalance into fear
PsychologyInvestors buy high, sell lowUse rules-based rebalancing, ignore emotions
BusinessFees destroy returnsUse index funds, minimize costs

No-Brainer Portfolio

AllocationAssetETF Example
25%US Large Cap StocksVTI / SPY
25%US Small Cap StocksVB / IJR
25%International Small CapVSS / SCZ
25%Short-Term TreasuriesSHY / VGSH

Four Pillars Medium (Value Tilt)

AllocationAssetETF Example
15%US Large CapVTI
10%US Large ValueVTV
10%US Small CapVB
10%US Small ValueVBR
5%US REITsVNQ
15%International LargeVEA
10%International SmallVSS
5%Emerging MarketsVWO
20%Short-Term BondsBSV

Rebalancing Rules

RuleThresholdImplementation
Calendar rebalanceAnnually (Jan 1)fixed schedule
Band rebalanceWhen allocation drifts > 5% from targetmonitor drift
Contrarian rebalanceSell winners, buy losers back to targetmechanical

Value Tilt Signals

SignalConditionSource
Value spread wideValue P/E << Growth P/E__c.peRatio(read, sym)
Small cap discountSmall cap P/E < Large cap P/Ecompare metrics
Yield curve normal10Y > 2Y (economy healthy)treasury-rates
After crashMarket down > 30% from peakprice vs high

Key Quantitative Principles

PrincipleRule
Expected stock returnDividend Yield + Earnings Growth + Valuation Change
Rebalancing bonusDiversified assets with low correlation add ~0.5-1%/yr
Small cap premiumSmall caps outperform large by ~2%/yr long-term
Value premiumValue outperforms growth by ~3%/yr long-term
Bonds allocationAge in bonds (30yr old = 30% bonds) or fixed 25%
Never hold > 80% stocksEven aggressive investors need ballast

Macro Timing (Valuation-Informed)

Market ConditionSignalAction
Stocks cheapCAPE < 15, dividend yield > 3%Increase stock allocation by 10%
Stocks expensiveCAPE > 30, dividend yield < 1.5%Decrease stock allocation by 10%
NormalCAPE 15-30Hold target allocation
Yield curve inverted2Y > 10Y treasuryReduce risk, increase bonds