Which Growth Stocks Are Self-Funding? Cash-Flow Quality Screening in Python
June 15, 2026
What's the question?
Growth is more durable when it is internally funded. A company that can expand revenue while also producing free cash flow has more strategic flexibility than a company that relies on external financing. Free cash flow is cash from operations after capital spending, so it captures whether growth is consuming or producing cash.
The question is which large technology and platform companies combine revenue growth with cash-flow quality. Revenue growth alone is not enough. A fast-growing company with negative free-cash-flow margin may still be valuable, but it carries a different financing profile from a company that grows while generating cash.
The approach
The universe is AAPL, MSFT, NVDA, AMZN, META, GOOG, AVGO, CRM, ORCL, ADBE, AMD, and QCOM. Built from SEC EDGAR public filings and market data, the screen uses latest trailing-twelve-month metrics.
- Pull revenue growth, gross margin, free-cash-flow margin, cash-to-debt, P/E ratio, and market capitalization
- Standardize each metric across the peer group using z-scores
- Reward higher revenue growth, higher free-cash-flow margin, higher gross margin, and more cash relative to debt
- Penalize higher P/E ratios
- Rank the companies by the resulting self-funding growth score
The score is a cross-sectional screen. It is not a valuation model and it does not estimate intrinsic value.
Code
import xfinlink as xfl
import pandas as pd
xfl.set_api_key("YOUR_API_KEY") # free at https://xfinlink.com/signup
tickers = ["AAPL", "MSFT", "NVDA", "AMZN", "META", "GOOG", "AVGO", "CRM", "ORCL", "ADBE", "AMD", "QCOM"]
fields = ["market_cap", "revenue_growth", "gross_margin", "fcf_margin", "cash_to_debt", "pe_ratio"]
df = xfl.metrics(tickers, period_type="ttm", fields=fields)
latest = df.sort_values("period_end").groupby("ticker").tail(1).dropna()
def zscore(s):
return (s - s.mean()) / s.std(ddof=0)
latest["quality_score"] = (
zscore(latest["revenue_growth"])
+ zscore(latest["fcf_margin"])
+ 0.5 * zscore(latest["gross_margin"])
+ 0.5 * zscore(latest["cash_to_debt"].clip(0, 10))
- 0.25 * zscore(latest["pe_ratio"].clip(1, 100))
)
print(latest.sort_values("quality_score", ascending=False))
Full script with formatting and visualisation: self-funding-growth-quality-python.py
Output
=== Self-Funding Growth Quality Screen ===
Universe: 11 large-cap technology and platform stocks
Latest TTM period range: 2026-02-27 to 2026-05-03
Top score: NVDA ( 4.41)
Weakest score: ORCL (-3.27)
Self-funding growth ranking:
NVDA score= 4.41 rev_growth= 70.7% FCF_margin= 47.0% cash/debt= 1.56 PE= 31.4 market_cap=$4,966B
ADBE score= 1.36 rev_growth= 11.0% FCF_margin= 42.2% cash/debt= 1.11 PE= 11.9 market_cap=$83B
AMD score= 0.95 rev_growth= 35.0% FCF_margin= 22.9% cash/debt= 5.20 PE=167.7 market_cap=$834B
AVGO score= 0.87 rev_growth= 30.0% FCF_margin= 43.4% cash/debt= 0.30 PE= 63.6 market_cap=$1,818B
META score= 0.75 rev_growth= 26.2% FCF_margin= 22.4% cash/debt= 0.40 PE= 20.6 market_cap=$1,437B
MSFT score= 0.45 rev_growth= 17.9% FCF_margin= 22.9% cash/debt= 2.41 PE= 23.3 market_cap=$2,903B
GOOG score= -0.95 rev_growth= 17.5% FCF_margin= 15.2% cash/debt= 0.49 PE= 27.4 market_cap=$4,358B
AAPL score= -1.17 rev_growth= 12.8% FCF_margin= 28.6% cash/debt= 0.60 PE= 35.2 market_cap=$4,270B
QCOM score= -1.32 rev_growth= 5.2% FCF_margin= 28.1% cash/debt= 0.36 PE= 22.7 market_cap=$224B
AMZN score= -2.08 rev_growth= 14.2% FCF_margin= -0.3% cash/debt= 0.85 PE= 28.5 market_cap=$2,565B
ORCL score= -3.27 rev_growth= 14.9% FCF_margin= -38.6% cash/debt= 0.73 PE= 33.1 market_cap=$529B
What this tells us
NVDA ranks first by a wide margin because it combines 70.7% revenue growth with a 47.0% free-cash-flow margin and a positive cash-to-debt ratio. That is the rare combination the screen is designed to find: high growth and strong cash generation at the same time.
ADBE ranks second despite only 11.0% revenue growth because its cash-flow profile is strong and its P/E ratio is low relative to the group. AMD and AVGO also score well, but for different reasons. AMD has faster growth and a strong cash-to-debt ratio, while AVGO has a high free-cash-flow margin.
The bottom of the screen is driven by weak cash conversion. AMZN has positive revenue growth but near-zero free-cash-flow margin. ORCL has positive revenue growth but a negative free-cash-flow margin in this trailing-twelve-month window.
So what?
Self-funding growth screens are useful when the research objective is quality, not just speed. They help separate companies that are growing because they have powerful economics from companies that are growing while absorbing cash.
The next step is not automatically buying the top-ranked stocks. A high score should trigger deeper work on durability: customer demand, capital intensity, competitive position, and valuation. A low score should trigger a financing review. Growth that requires persistent cash outflow can still work, but the hurdle rate is higher.
Built with xfinlink — free financial data API for Python. pip install xfinlink
pip install xfinlink