Growth Stocks
Finding high-growth companies with strong momentum and profitability.
Overview
Growth investing focuses on companies with above-average revenue and earnings growth, typically trading at premium valuations. This guide leverages the 3,522 available fields in the TradingView Screener API to identify growth opportunities using metrics like revenue growth, margins, returns, and cash flow.
High-Quality Growth Screen
Companies with strong growth, profitability, and returns:
import { StockScreener, StockField } from 'tradingview-screener';
const screener = new StockScreener();
screener
// Strong revenue growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(25))
// Excellent profitability
.where(StockField.RETURN_ON_EQUITY_FY.gt(18))
.where(StockField.OPERATING_MARGIN_FY.gt(15))
.where(StockField.NET_MARGIN_FY.gt(10))
// Positive cash flow
.where(StockField.FREE_CASH_FLOW_TTM.gt(0))
// Financial health
.where(StockField.DEBT_TO_EQUITY_FY.lt(0.75))
// Size
.where(StockField.MARKET_CAPITALIZATION.gt(1e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.RETURN_ON_EQUITY_FY,
StockField.OPERATING_MARGIN_FY,
StockField.FREE_CASH_FLOW_TTM,
StockField.MARKET_CAPITALIZATION
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false)
.setRange(0, 50);
const results = await screener.get();
console.table(results.data);GARP Strategy (Growth at Reasonable Price)
Find high-growth stocks with reasonable valuations:
async function garpScreen() {
const screener = new StockScreener();
screener
// Strong growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(20))
// Reasonable valuation
.where(StockField.PRICE_TO_EARNINGS_RATIO_TTM.lt(30))
.where(StockField.PRICE_EARNINGS_GROWTH_TTM.lt(1.5)) // PEG < 1.5
.where(StockField.PRICE_TO_FREE_CASH_FLOW_TTM.lt(35))
// Strong profitability
.where(StockField.RETURN_ON_EQUITY_FY.gt(15))
.where(StockField.OPERATING_MARGIN_FY.gt(12))
// Positive cash generation
.where(StockField.FREE_CASH_FLOW_TTM.gt(0))
// Size
.where(StockField.MARKET_CAPITALIZATION.gt(2e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.PRICE_TO_EARNINGS_RATIO_TTM,
StockField.PRICE_EARNINGS_GROWTH_TTM,
StockField.RETURN_ON_EQUITY_FY,
StockField.OPERATING_MARGIN_FY
)
.sortBy(StockField.PRICE_EARNINGS_GROWTH_TTM, true);
return await screener.get();
}
// Usage
const garpStocks = await garpScreen();
console.table(garpStocks.data);Cash Flow Growth
Focus on companies with strong and growing free cash flow:
const screener = new StockScreener();
screener
// Strong FCF growth
.where(StockField.FREE_CASH_FLOW_TTM_YOY_GROWTH.gt(20))
// Strong current FCF
.where(StockField.FREE_CASH_FLOW_TTM.gt(100e6))
// Good FCF margin
.where(StockField.FREE_CASH_FLOW_MARGIN_TTM.gt(10))
// Revenue growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(15))
// Profitability
.where(StockField.NET_INCOME_TTM.gt(0))
.select(
StockField.NAME,
StockField.PRICE,
StockField.FREE_CASH_FLOW_TTM_YOY_GROWTH,
StockField.FREE_CASH_FLOW_MARGIN_TTM,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.NET_INCOME_TTM
)
.sortBy(StockField.FREE_CASH_FLOW_TTM_YOY_GROWTH, false);High-Efficiency Growth
Companies with exceptional asset efficiency and returns:
const screener = new StockScreener();
screener
// Exceptional returns
.where(StockField.RETURN_ON_EQUITY_FY.gt(25))
.where(StockField.RETURN_ON_INVESTED_CAPITAL_FY.gt(20))
.where(StockField.ASSET_TURNOVER_FY.gt(1))
// Strong growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(15))
// Strong margins
.where(StockField.OPERATING_MARGIN_FY.gt(15))
.where(StockField.GROSS_MARGIN_FY.gt(40))
// Liquidity
.where(StockField.VOLUME.gte(100_000))
// Not penny stocks
.where(StockField.PRICE.gt(5))
.select(
StockField.NAME,
StockField.PRICE,
StockField.RETURN_ON_EQUITY_FY,
StockField.RETURN_ON_INVESTED_CAPITAL_FY,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.OPERATING_MARGIN_FY,
StockField.VOLUME
)
.sortBy(StockField.RETURN_ON_EQUITY_FY, false);Growth with Profitability
Companies with strong growth and profitability:
async function profitableGrowthScreen() {
const screener = new StockScreener();
screener
// Current growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(25))
// Strong profitability
.where(StockField.NET_INCOME_TTM.gt(100e6))
.where(StockField.EARNINGS_PER_SHARE_DILUTED_TTM.gt(2))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.NET_INCOME_TTM,
StockField.EARNINGS_PER_SHARE_DILUTED_TTM
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false);
return await screener.get();
}Profitable Growth
Growth companies with strong profitability:
const screener = new StockScreener();
screener
// Growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(20))
// Profitability
.where(StockField.NET_INCOME_TTM.gt(0))
.where(StockField.EARNINGS_PER_SHARE_DILUTED_TTM.gt(1))
// Size
.where(StockField.MARKET_CAPITALIZATION.gt(5e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.NET_INCOME_TTM,
StockField.EARNINGS_PER_SHARE_DILUTED_TTM
)
.sortBy(StockField.NET_INCOME_TTM, false);High Revenue Companies
Companies with strong revenue:
async function highRevenueScreen() {
const screener = new StockScreener();
screener
// High growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(30))
// Strong revenue base
.where(StockField.REVENUE_TTM.gt(500e6))
// Market size
.where(StockField.MARKET_CAPITALIZATION.gt(1e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.REVENUE_TTM,
StockField.PRICE_SALES_CURRENT
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false);
return await screener.get();
}Large Cap Growth
High-growth large companies:
const screener = new StockScreener();
screener
// Strong growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(20))
// Minimum revenue
.where(StockField.REVENUE_TTM.gt(100e6))
// Size range
.where(StockField.MARKET_CAPITALIZATION.between(1e9, 50e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.REVENUE_TTM,
StockField.MARKET_CAPITALIZATION
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false);Momentum Growth
Combining growth with technical momentum:
const screener = new StockScreener();
screener
// Fundamental growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(25))
// Technical strength
.where(StockField.RSI.between(50, 70))
.where(StockField.CHANGE_PERCENT.gt(0)) // Positive daily change
// Volume confirmation
.where(StockField.VOLUME.gte(500_000))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.CHANGE_PERCENT,
StockField.RSI
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false);Emerging Growth
Early-stage high-growth companies:
async function emergingGrowthScreen() {
const screener = new StockScreener();
screener
// Small to mid-cap
.where(StockField.MARKET_CAPITALIZATION.between(500e6, 5e9))
// Explosive revenue growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(50))
// Minimum scale
.where(StockField.REVENUE_TTM.gt(100e6))
.select(
StockField.NAME,
StockField.PRICE,
StockField.MARKET_CAPITALIZATION,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.REVENUE_TTM
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false);
return await screener.get();
}Strong Revenue Growth
Companies with sustained revenue growth:
const screener = new StockScreener();
screener
// Strong current growth
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(15))
// Profitability
.where(StockField.NET_INCOME_TTM.gt(0))
// Established but growing
.where(StockField.MARKET_CAPITALIZATION.gt(5e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.REVENUE_TTM,
StockField.NET_INCOME_TTM
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false);Growth Score System
Comprehensive growth scoring using multiple metrics:
async function growthScoreScreen() {
const screener = new StockScreener();
screener
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(15))
.where(StockField.MARKET_CAPITALIZATION.gt(1e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.NET_INCOME_TTM,
StockField.PRICE_EARNINGS_GROWTH_TTM,
StockField.RETURN_ON_EQUITY_FY,
StockField.OPERATING_MARGIN_FY,
StockField.FREE_CASH_FLOW_TTM_YOY_GROWTH,
StockField.DEBT_TO_EQUITY_FY,
StockField.CHANGE_PERCENT
);
const results = await screener.get();
// Calculate comprehensive growth score
const scored = results.data.map(stock => {
let score = 0;
// Revenue growth (0-4 points)
if (stock.revenue_ttm_yoy_growth > 40) score += 4;
else if (stock.revenue_ttm_yoy_growth > 30) score += 3;
else if (stock.revenue_ttm_yoy_growth > 20) score += 2;
else if (stock.revenue_ttm_yoy_growth > 15) score += 1;
// Profitability (0-3 points)
if (stock.net_income_ttm > 500e6) score += 3;
else if (stock.net_income_ttm > 100e6) score += 2;
else if (stock.net_income_ttm > 0) score += 1;
// Returns (0-3 points)
if (stock.return_on_equity_fy > 25) score += 3;
else if (stock.return_on_equity_fy > 18) score += 2;
else if (stock.return_on_equity_fy > 12) score += 1;
// Margins (0-2 points)
if (stock.operating_margin_fy > 20) score += 2;
else if (stock.operating_margin_fy > 15) score += 1;
// Valuation - PEG ratio (0-2 points)
if (stock.peg_ratio_ttm && stock.peg_ratio_ttm < 1) score += 2;
else if (stock.peg_ratio_ttm && stock.peg_ratio_ttm < 1.5) score += 1;
// Cash flow growth (0-2 points)
if (stock.free_cash_flow_ttm_yoy_growth > 30) score += 2;
else if (stock.free_cash_flow_ttm_yoy_growth > 15) score += 1;
// Financial health (0-2 points)
if (stock.debt_to_equity_fy < 0.3) score += 2;
else if (stock.debt_to_equity_fy < 0.75) score += 1;
// Price momentum (0-2 points)
if (stock.change_abs > 2) score += 2;
else if (stock.change_abs > 0) score += 1;
return { ...stock, growthScore: score };
});
// Sort by score
scored.sort((a, b) => b.growthScore - a.growthScore);
return scored;
}
// Usage
const topGrowth = await growthScoreScreen();
console.log('Top growth stocks by score:');
console.table(topGrowth.slice(0, 20));Growth Monitor
Track growth stocks over time:
async function monitorGrowthStocks() {
const screener = new StockScreener();
screener
.where(StockField.REVENUE_TTM_YOY_GROWTH.gt(25))
.where(StockField.MARKET_CAPITALIZATION.gt(2e9))
.select(
StockField.NAME,
StockField.PRICE,
StockField.REVENUE_TTM_YOY_GROWTH,
StockField.CHANGE_PERCENT
)
.sortBy(StockField.REVENUE_TTM_YOY_GROWTH, false)
.setRange(0, 20);
for await (const data of screener.stream({ interval: 60000 })) {
if (data) {
console.clear();
console.log('=== Growth Stocks Monitor ===');
console.log(`Updated: ${new Date().toLocaleTimeString()}\n`);
data.data.forEach((stock, i) => {
const change = stock.change_abs > 0 ? `+${stock.change_abs}%` : `${stock.change_abs}%`;
console.log(
`${i + 1}. ${stock.name.padEnd(30)} ` +
`$${stock.close.toFixed(2).padStart(8)} ` +
`Growth: ${stock.revenue_ttm_yoy_growth}% ` +
`Today: ${change}`
);
});
}
}
}Best Practices
- Balance Growth & Valuation: Use PEG ratio and P/FCF to avoid overpaying
- Quality Matters: Focus on ROE, ROIC, and operating margins
- Cash Flow Focus: Free cash flow growth is more sustainable than earnings growth
- Margin Expansion: Look for improving operating and net margins
- Financial Health: Check debt-to-equity and current ratios
- Size Considerations: Different market caps have different risk/reward profiles
- Efficiency Metrics: Use ROE, ROA, ROIC, and asset turnover to find efficient growers
- Revenue Quality: Focus on companies with strong revenue bases and healthy margins
Available Growth Fields Summary
Growth Metrics:
REVENUE_TTM_YOY_GROWTH,FREE_CASH_FLOW_TTM_YOY_GROWTH
Profitability & Returns:
RETURN_ON_EQUITY_FY,RETURN_ON_ASSETS_FY,RETURN_ON_INVESTED_CAPITAL_FYOPERATING_MARGIN_FY,NET_MARGIN_FY,GROSS_MARGIN_FYFREE_CASH_FLOW_MARGIN_TTM,ASSET_TURNOVER_FY
Valuation:
PRICE_TO_EARNINGS_RATIO_TTM,PRICE_EARNINGS_GROWTH_TTMPRICE_TO_FREE_CASH_FLOW_TTM,PRICE_SALES_CURRENT
Cash Flow:
FREE_CASH_FLOW_TTM,CASH_F_OPERATING_ACTIVITIES_FY
Financial Health:
DEBT_TO_EQUITY_FY,CURRENT_RATIO_FQ
Fundamentals:
REVENUE_TTM,NET_INCOME_TTMEARNINGS_PER_SHARE_DILUTED_TTM,MARKET_CAPITALIZATION
With 3,522 total fields available, you can create highly sophisticated growth screens that identify the best opportunities.
Next Steps
- Value Investing - Finding undervalued stocks
- Technical Analysis - Momentum indicators
- Market Scanning - Daily scans