DCF Threshold: 11.25% CAGR and 38% Down Capture Over US Stock Data

DCF Threshold strategy cumulative growth vs S&P 500, US stocks 2000–2025. Portfolio grew to approximately $14.36 vs $6.31 for SPY.

We added three quality filters to a classic FCF yield screen and tested it on 25 years of US stocks from NYSE, NASDAQ, and AMEX. The signal: buy the 30 most undervalued stocks by DCF discount that also have ROE above 8%, debt-to-equity below 1.5, and positive operating cash flow. The result was 11.25% annually vs 7.64% for the S&P 500, with 3.60% excess return, 38% down capture, and 68% win rate over 25 years.

Contents

  1. Method
  2. The Signal
  3. What We Found
  4. The headline number: 38% down capture.
  5. Year-by-year returns
  6. 2000–2007: where the compounding gap opened
  7. Crisis comparisons
  8. 2018–2021: the growth regime drag
  9. Quality Filters Make the Difference
  10. Backtest Methodology
  11. Limitations
  12. Conclusion

Method

  • Data source: Ceta Research (FMP financial data warehouse)
  • Universe: NYSE + NASDAQ + AMEX, market cap > $1B USD
  • Period: 2000–2025 (25 annual periods)
  • Rebalancing: Annual (January), equal weight, top 30 by highest FCF yield
  • Benchmark: S&P 500 Total Return (SPY)
  • Cash rule: Hold cash if fewer than 10 stocks qualify

Financial data sourced from cash_flow_statement, key_metrics, and financial_ratios (all FY annual filings). 45-day filing lag applied at each rebalance date to prevent look-ahead bias. Staleness limit: 18 months (only uses most recent annual filing within the window).


The Signal

The Gordon Growth Model gives each stock a theoretical intrinsic value:

DCF_value = FCF × (1 + g) / (r - g)

With a conservative 2.5% terminal growth rate and 10% discount rate, the multiplier is 13.67x. A stock trading at 20% below that intrinsic value means:

MarketCap < FCF × 13.67 × 0.80
→ FCF / MarketCap ≥ 8.78%

This is a price-independent condition. It only depends on the company's free cash flow and its market cap. There's no P/E history to compute, no sector comparison. If FCF/MCap crosses 8.78%, the stock is trading at a 20%+ discount to its Gordon Growth intrinsic value.

Quality filters prevent value traps:

Filter Threshold What it screens out
ROE > 8% Liquidation plays, non-earning companies
D/E < 1.5 (or null) Over-leveraged balance sheets
OCF > 0 Companies with accounting FCF but no real cash generation

These three filters eliminate the most common false positives in FCF yield screens: companies generating high FCF from asset sales, unsustainable capex cuts, or balance-sheet leverage rather than operating strength.

The screen (SQL):

WITH latest_cf AS (
 SELECT symbol, freeCashFlow, operatingCashFlow,
 ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY dateEpoch DESC) AS rn
 FROM cash_flow_statement
 WHERE period = 'FY' AND freeCashFlow > 0 AND operatingCashFlow > 0
),
latest_km AS (
 SELECT symbol, marketCap, returnOnEquity,
 ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY dateEpoch DESC) AS rn
 FROM key_metrics
 WHERE period = 'FY' AND marketCap > 1000000000
),
latest_ra AS (
 SELECT symbol, debtToEquityRatio,
 ROW_NUMBER() OVER (PARTITION BY symbol ORDER BY dateEpoch DESC) AS rn
 FROM financial_ratios
 WHERE period = 'FY'
)
SELECT
 cf.symbol, p.companyName, p.exchange, p.sector,
 ROUND(cf.freeCashFlow / km.marketCap * 100, 2) AS fcf_yield_pct,
 ROUND((1 - km.marketCap / (cf.freeCashFlow * 13.67)) * 100, 1) AS discount_pct,
 ROUND(km.returnOnEquity * 100, 1) AS roe_pct,
 ROUND(km.marketCap / 1e9, 2) AS mktcap_bn
FROM latest_cf cf
JOIN latest_km km ON cf.symbol = km.symbol AND km.rn = 1
JOIN profile p ON cf.symbol = p.symbol
LEFT JOIN latest_ra ra ON cf.symbol = ra.symbol AND ra.rn = 1
WHERE cf.rn = 1
 AND cf.freeCashFlow / km.marketCap >= 0.0878
 AND km.returnOnEquity >= 0.08
 AND (ra.debtToEquityRatio IS NULL
 OR (ra.debtToEquityRatio >= 0 AND ra.debtToEquityRatio < 1.5))
 AND p.exchange IN ('NYSE', 'NASDAQ', 'AMEX')
ORDER BY fcf_yield_pct DESC
LIMIT 30

Run this screen on Ceta Research


What We Found

DCF Threshold strategy cumulative growth vs S&P 500, US stocks 2000–2025. Portfolio grew from $1 to approximately $14.36, S&P 500 grew to approximately $6.31.
DCF Threshold strategy cumulative growth vs S&P 500, US stocks 2000–2025. Portfolio grew from $1 to approximately $14.36, S&P 500 grew to approximately $6.31.

The headline number: 38% down capture.

When the S&P 500 falls, this strategy captures only 38% of the downside on average. That number is the reason the compound return ends up so far ahead.

Metric DCF Threshold (US) S&P 500
CAGR 11.25% 7.64%
Total Return 1,335% 531%
Sharpe Ratio 0.528 0.322
Sortino Ratio 0.953 0.556
Max Drawdown -40.13% -34.90%
Up Capture 109.3% 100%
Down Capture 37.97% 100%
Win Rate vs SPY 68%
Cash Periods 0 of 25
Avg Stocks 21

$1 grew to $14.36 vs $6.31 for the S&P 500. The Sharpe ratio improved from 0.322 to 0.528. The Sortino ratio, which penalizes only downside volatility, nearly doubled from 0.556 to 0.953.

The 38% down capture is the structural story. The strategy participates in bull markets (109% up capture) and avoids most of the market's downside. Combined with 68% win rate, this signal was right more often than it was wrong in 17 of 25 calendar years.

Year-by-year returns

DCF Threshold strategy annual returns vs S&P 500, US stocks 2000–2025.
DCF Threshold strategy annual returns vs S&P 500, US stocks 2000–2025.

Year DCF Threshold S&P 500 Excess
2000 +12.9% -10.5% +23.4%
2001 +0.3% -9.2% +9.5%
2002 +0.6% -19.9% +20.5%
2003 +32.3% +24.1% +8.1%
2004 +27.7% +10.2% +17.4%
2005 +28.7% +7.2% +21.5%
2006 +16.9% +13.7% +3.2%
2007 +5.8% +4.4% +1.4%
2008 -40.1% -34.3% -5.8%
2009 +30.3% +24.7% +5.5%
2010 +27.0% +14.3% +12.7%
2011 -4.7% +2.5% -7.1%
2012 +17.8% +17.1% +0.7%
2013 +36.6% +27.8% +8.8%
2014 +21.2% +14.5% +6.7%
2015 +3.5% -0.1% +3.6%
2016 +9.6% +14.4% -4.8%
2017 +28.2% +21.6% +6.6%
2018 -21.0% -5.2% -15.9%
2019 +19.2% +32.3% -13.1%
2020 +4.5% +15.6% -11.1%
2021 +15.7% +31.3% -15.6%
2022 +6.5% -19.0% +25.5%
2023 +27.6% +26.0% +1.6%
2024 +13.1% +25.3% -12.2%

2000–2007: where the compounding gap opened

The first eight years built the structural lead. When the dot-com bubble collapsed, quality FCF companies held up while the market re-priced speculative valuations. Companies already trading at 20%+ discounts to intrinsic value were precisely the ones that hadn't been swept up in the growth narrative.

The three years immediately post-crash (2003–2005) show double-digit excess returns as the market recognized actual cash generation. 2004 (+27.7%) and 2005 (+28.7%) are the kind of recovery years that FCF signals are built for.

Crisis comparisons

Event DCF Threshold S&P 500 Gap
Dot-com bust (2000–2002) +14.1% cumulative -35.1% +49.2%
Financial crisis (2008) -40.1% -34.3% -5.8%
COVID (2020) +4.5% +15.6% -11.1%
2022 bear market +6.5% -19.0% +25.5%

2008 is the exception. The quality filters don't prevent losses in a systematic financial crisis. When credit markets seize and company survival is at stake, even positive-OCF companies with low debt sell off. The -40.1% in 2008 slightly underperformed SPY's -34.3%.

2022 was the opposite. Rising rates hit growth stocks hardest. FCF-generating companies with low leverage held their value while high-multiple names collapsed. The +25.5% excess in 2022 is the signal working exactly as designed.

2018–2021: the growth regime drag

Four consecutive years of underperformance: -15.9% (2018), -13.1% (2019), -11.1% (2020), -15.6% (2021). The FANG era. Narrow market leadership from mega-cap tech drove index returns while value stocks lagged.

This is the standard weakness of any FCF-yield approach. A company trading at 40x revenue with negative FCF doesn't qualify at any price. When those companies dominate index returns, a fundamentals-based screen lags. The strategy recovered in 2022 (+25.5% excess) when the growth bubble unwound, but the four-year drag required real patience.


Quality Filters Make the Difference

The existing dcf-discount strategy uses the same FCF signal with no quality filters and 50 holdings. Comparing the two on US data over the same period shows how much the filters contribute:

Strategy CAGR Sharpe Excess CAGR
DCF Discount (no filters) 8.79% 0.232 +1.49%
DCF Threshold (with filters) 11.25% 0.528 +3.60%

The Sharpe ratio more than doubled. The excess return more than doubled. This isn't a small tweak, the quality filters are doing significant work. The stocks that fail ROE > 8% or OCF > 0 while showing high FCF yield are often companies in distress: asset sales inflating free cash flow, capex cuts masking revenue decay, or leverage driving up apparent yield before a collapse.

Removing those names costs some breadth (30 stocks vs 50), but the quality of signal improves substantially.


Backtest Methodology

Full methodology: github.com/ceta-research/backtests/blob/main/METHODOLOGY.md

Parameter Choice
Universe NYSE + NASDAQ + AMEX, Market Cap > $1B USD
Signal FCF/MCap ≥ 8.78%, ROE > 8%, D/E < 1.5, OCF > 0
Portfolio Top 30 by FCF yield, equal weight
Rebalancing Annual (January)
Cash rule Hold cash if < 10 qualify
Benchmark S&P 500 Total Return (SPY)
Period 2000–2025 (25 years)
Data Point-in-time (45-day lag on FY financial statements)
Transaction costs Size-tiered (0.1%–0.5% one-way)

Limitations

Max drawdown of -40%. The quality filters don't prevent large drawdowns in correlated selloffs. 2008 was nearly as bad as the index. Investors holding this strategy need to tolerate significant peak-to-trough declines.

Four-year underperformance stretch (2018–2021). A run of 15.9%, 13.1%, 11.1%, and 15.6% annual underperformance is genuinely difficult to sit through. The strategy recovered sharply in 2022, but the cumulative gap during growth eras is real.

Single-factor concentration. FCF yield is the primary selection criterion. Years when the screened portfolio is concentrated in a single sector (e.g., Energy or Financials) can produce return patterns that look more like sector exposure than stock-picking alpha.

Survivorship bias. Exchange membership is based on current profiles. Delistings during the backtest period may reduce the apparent frequency of bad outcomes in screened portfolios.

January rebalance concentration. All positions are set once per year. The portfolio isn't rebalanced mid-year if a holding's FCF deteriorates after the rebalance date.


Conclusion

Adding ROE, D/E, and OCF quality filters to a Gordon Growth DCF screen transformed an average value signal into one of the stronger risk-adjusted results we've tested. 11.25% CAGR over 25 years, with 38% down capture and 68% win rate, compounds ahead of the index: $1,336 vs $531 per $100 invested.

The mechanism is simple: FCF yield finds undervalued companies, and the quality filters screen out the companies that are undervalued for legitimate reasons. What's left is genuine margin of safety, not distress masquerading as value.

For the comparison across 13 global markets, see the companion post. The geographic pattern tells its own story.


Part of a Series: Global | UK | India | Canada

Run It Yourself

Explore the data behind this analysis on Ceta Research. Query our financial data warehouse with SQL, build custom screens, and run your own backtests across 70,000+ stocks on 20 exchanges.

Data: Ceta Research (FMP financial data warehouse). Backtest: 2000–2025. Past performance doesn't guarantee future results. Full methodology at github.com/ceta-research/backtests.

Read more