Dividend Growth Pullback Screener
Overview
This skill screens for dividend growth stocks that exhibit strong fundamental characteristics but are experiencing temporary technical weakness. It targets stocks with exceptional dividend growth rates (12%+ CAGR) that have pulled back to RSI oversold levels (≤40), creating potential entry opportunities for long-term dividend growth investors.
Investment Thesis: High-quality dividend growth stocks (often yielding 1-2.5%) compound wealth through dividend increases rather than high current yield. Buying these stocks during temporary pullbacks (RSI ≤40) can enhance total returns by combining strong fundamental growth with favorable technical entry timing.
When to Use This Skill
Use this skill when:
- - Looking for dividend growth stocks with exceptional compounding potential (12%+ dividend CAGR)
- Seeking entry opportunities in quality stocks during temporary market weakness
- Willing to accept lower current yields (1.5-3%) for higher dividend growth
- Focusing on total return over 5-10 years rather than current income
- Market conditions show sector rotations or broad pullbacks affecting quality names
Do NOT use when:
- - Seeking high current income (use value-dividend-screener instead)
- Requiring immediate dividend yields >3%
- Looking for deep value plays with strict P/E or P/B requirements
- Short-term trading focus (<6 months)
Screening Workflow
Step 1: Set API Keys
Two-Stage Approach (RECOMMENDED)
For optimal performance, use FINVIZ Elite API for pre-screening + FMP API for detailed analysis:
CODEBLOCK0
Why Two-Stage?
- - FINVIZ: Fast pre-screening with RSI filter (1 API call → ~10-50 candidates)
- FMP: Detailed fundamental analysis only on pre-screened candidates
- Result: Analyze more stocks with fewer FMP API calls (stays within free tier limits)
FMP-Only Approach (Original Method)
If you don't have FINVIZ Elite access:
CODEBLOCK1
Limitation: FMP free tier (250 requests/day) limits analysis to ~40 stocks. Use --max-candidates 40 to stay within limits.
Step 2: Execute Screening
Two-Stage Screening (RECOMMENDED):
CODEBLOCK2
This executes:
- 1. FINVIZ pre-screen: Dividend yield 0.5-3%, Dividend growth 10%+, EPS growth 5%+, Sales growth 5%+, RSI <40
- FMP detailed analysis: Verify 12%+ dividend CAGR, calculate exact RSI, analyze fundamentals
FMP-Only Screening:
CODEBLOCK3
Customization Options:
CODEBLOCK4
Step 3: Review Results
The script generates two outputs:
- 1. JSON file: INLINECODE1
- Structured data with all metrics for further analysis
- Includes dividend growth rates, RSI values, financial health metrics
- 2. Markdown report: INLINECODE2
- Human-readable analysis with stock profiles
- Scenario-based probability assessments
- Entry timing recommendations
Step 4: Analyze Qualified Stocks
For each qualified stock, the report includes:
Dividend Growth Profile:
- - Current yield and annual dividend
- 3-year dividend CAGR and consistency
- Payout ratio and sustainability assessment
Technical Timing:
- - Current RSI value (≤40 = oversold)
- RSI context (extreme oversold <30 vs. early pullback 30-40)
- Price action relative to recent trend
Quality Metrics:
- - Revenue and EPS growth (confirms business momentum)
- Financial health (debt levels, liquidity ratios)
- Profitability (ROE, profit margins)
Investment Recommendation:
- - Entry timing assessment (immediate vs. wait for confirmation)
- Risk factors specific to the stock
- Upside scenarios based on dividend growth compounding
Screening Criteria Details
Phase 1: Fundamental Screening (FMP API)
Initial Filter:
- - Dividend Yield ≥ 1.5% (calculated from actual dividend payments)
- Market Cap ≥ $2 billion (liquidity and stability)
- Exchange: NYSE, NASDAQ (excludes OTC/pink sheets)
Dividend Growth Analysis:
- - 3-Year Dividend CAGR ≥ 12% (doubles dividend in 6 years)
- Dividend Consistency: No cuts in past 4 years
- Payout Ratio < 100% (sustainability check)
Financial Health:
- - Positive revenue growth over 3 years
- Positive EPS growth over 3 years
- Debt-to-Equity < 2.0 (manageable leverage)
- Current Ratio > 1.0 (liquidity)
Phase 2: Technical Screening (RSI Calculation)
RSI Calculation:
- - 14-period RSI using daily closing prices
- Formula: RSI = 100 - (100 / (1 + RS))
- RS = Average Gain / Average Loss over 14 periods
- - Data source: FMP historical prices (past 30 days)
RSI Filter:
- - RSI ≤ 40 (oversold/pullback condition)
- RSI interpretation:
- < 30: Extreme oversold (potential reversal)
- 30-40: Early pullback (uptrend correction)
- > 40: Not oversold (excluded)
Phase 3: Ranking and Output
Composite Scoring (0-100):
- - Dividend Growth (40%): Reward higher CAGR and consistency
- Financial Quality (30%): ROE, profit margins, debt levels
- Technical Setup (20%): Lower RSI = better entry opportunity
- Valuation (10%): P/E and P/B for context (not exclusionary)
Stocks ranked by composite score. Top scorers combine exceptional dividend growth with attractive technical entry points.
Understanding the Results
Interpreting RSI Levels
RSI 25-30 (Extreme Oversold):
- - Often indicates panic selling or negative news
- Higher risk but potentially highest reward
- Recommended: Wait for RSI to turn up (sign of stabilization)
- Entry: Scale in with 50% position, add on RSI >30
RSI 30-35 (Strong Oversold):
- - Normal correction in strong uptrend
- Lower risk than extreme oversold
- Recommended: Can initiate position immediately
- Entry: Full position acceptable, set stop loss 5-8% below
RSI 35-40 (Early Pullback):
- - Mild weakness in uptrend
- Lowest risk of further decline
- Recommended: Conservative entry for high conviction stocks
- Entry: Full position, tight stop loss 3-5% below
Dividend Growth Compounding Examples
12% Dividend CAGR (Minimum Threshold):
- - Starting Yield: 1.5%
- Year 6: 2.96% yield on cost (doubled)
- Year 12: 5.85% yield on cost (4x)
- Example: Visa (V), Mastercard (MA) historical profile
15% Dividend CAGR (Excellent):
- - Starting Yield: 1.8%
- Year 6: 4.08% yield on cost (2.3x)
- Year 12: 9.22% yield on cost (5.1x)
- Example: Microsoft (MSFT) 2010-2020 period
20% Dividend CAGR (Exceptional):
- - Starting Yield: 2.0%
- Year 6: 6.00% yield on cost (3x)
- Year 12: 18.0% yield on cost (9x)
- Example: Apple (AAPL) 2012-2020 period
Key Insight: Lower starting yield + high growth > high starting yield + low growth over 10+ years.
Troubleshooting
No Results Found
Possible Causes:
- 1. Market conditions: Strong bull market with few oversold stocks
- Criteria too strict: 12% dividend growth is rare (5-10 stocks typically qualify)
- RSI threshold too low: Consider raising to RSI ≤45 for more candidates
Solutions:
- - Relax RSI threshold:
--rsi-max 45 (early pullback phase) - Lower dividend growth:
--min-div-growth 10.0 (still excellent growth) - Lower minimum yield:
--min-yield 1.0 (capture more growth stocks)
API Rate Limit Reached
FMP Free Tier Limits:
- - 250 requests/day
- Each stock analyzed requires 6 API calls (quote, dividend, prices, income, balance, cashflow, metrics)
- Maximum ~40 stocks per day in FMP-only mode
Solutions:
1. Use FINVIZ Two-Stage Approach (RECOMMENDED)
python3 screen_dividend_growth_rsi.py --use-finviz
- - FINVIZ pre-screening: 1 API call → 10-50 candidates (already filtered by RSI)
- FMP analysis: 6 calls × 10-50 stocks = 60-300 FMP calls
- Advantage: FINVIZ RSI filter dramatically reduces candidates, staying within FMP limits
2. Limit FMP-Only Candidates
CODEBLOCK6
3. Wait 24 Hours for Rate Limit Reset
- - FMP resets at UTC midnight
4. Upgrade to FMP Paid Plan
- - Starter ($14/month): 500 requests/day
- Professional ($29/month): 1,000 requests/day
Note: FINVIZ Elite subscription ($40/month) + FMP free tier is more cost-effective than FMP paid plans for this use case.
RSI Calculation Errors
Issue: "Insufficient price data for RSI calculation"
Cause: Stock has less than 30 days of trading history (IPO or inactive)
Solution: Script automatically skips stocks with insufficient data. No action needed.
Combining with Other Skills
Pre-Screening Context:
- 1. Market News Analyst → Identify sector rotations or market pullbacks
- Breadth Chart Analyst → Confirm broader market oversold conditions
- Economic Calendar Fetcher → Check for upcoming rate decisions or macro events
Post-Screening Analysis:
- 1. Technical Analyst → Analyze individual stock charts for qualified candidates
- US Stock Analysis → Deep dive on specific stocks before entry
- Backtest Expert → Validate RSI + dividend growth strategy historically
Example Workflow:
CODEBLOCK7
Resources
scripts/
screendividendgrowth_rsi.py - Main screening script
- - Integrates FMP API for fundamental data
- Calculates 14-period RSI from historical prices
- Applies multi-phase filtering and ranking
- Outputs JSON and markdown reports
references/
rsioversoldstrategy.md - RSI indicator explanation
- - How RSI identifies oversold conditions
- Difference between extreme oversold (<30) vs. early pullback (30-40)
- Combining RSI with fundamental analysis
- False positive management and risk mitigation
dividendgrowthcompounding.md - Dividend growth mathematics
- - Power of 12%+ dividend CAGR over time
- Yield vs. growth trade-offs
- Historical examples (MSFT, V, MA, AAPL)
- Quality characteristics of dividend growth stocks
fmpapiguide.md - API usage documentation
- - API key setup and management
- Endpoint documentation for screening
- Rate limiting strategies
- Error handling and troubleshooting
Disclaimer: This screening tool is for informational purposes only. Past dividend growth does not guarantee future performance. Conduct thorough due diligence before making investment decisions. RSI oversold conditions do not guarantee price reversals - stocks can remain oversold for extended periods.
股息增长回调筛选器
概述
该技能用于筛选具备强劲基本面特征但正经历短期技术性疲软的股息增长股票。其目标是锁定股息增长率异常突出(年复合增长率12%以上)且已回调至RSI超卖水平(≤40)的股票,为长期股息增长投资者创造潜在入场机会。
投资理念: 优质股息增长股(通常收益率1-2.5%)通过股息增长而非高当前收益率实现财富复利。在暂时回调期间(RSI≤40)买入这些股票,可将强劲的基本面增长与有利的技术入场时机相结合,从而提升总回报。
何时使用该技能
在以下情况下使用:
- - 寻找具有卓越复利潜力(股息年复合增长率12%以上)的股息增长股
- 在市场暂时疲软期间寻求优质股票的入场机会
- 愿意接受较低当前收益率(1.5-3%)以换取更高股息增长
- 关注5-10年总回报而非当前收入
- 市场条件显示板块轮动或广泛回调影响优质标的
请勿在以下情况下使用:
- - 寻求高当前收益率(请改用价值股息筛选器)
- 要求即时股息收益率>3%
- 寻找具有严格市盈率或市净率要求的深度价值投资
- 短期交易焦点(<6个月)
筛选工作流程
第一步:设置API密钥
两阶段方法(推荐)
为获得最佳性能,使用FINVIZ Elite API进行预筛选 + FMP API进行详细分析:
bash
将两个API密钥设置为环境变量
export FMP
APIKEY=your
fmpkey_here
export FINVIZ
APIKEY=your
finvizkey_here
为何采用两阶段?
- - FINVIZ:使用RSI过滤器进行快速预筛选(1次API调用 → 约10-50个候选股)
- FMP:仅对预筛选候选股进行详细基本面分析
- 结果:用更少的FMP API调用分析更多股票(保持在免费层级限制内)
仅FMP方法(原始方法)
如果您没有FINVIZ Elite访问权限:
bash
export FMPAPIKEY=yourkeyhere
限制:FMP免费层级(每天250次请求)将分析限制在约40只股票。使用--max-candidates 40以保持在限制内。
第二步:执行筛选
两阶段筛选(推荐):
bash
cd dividend-growth-pullback-screener/scripts
python3 screendividendgrowth_rsi.py --use-finviz
这将执行:
- 1. FINVIZ预筛选:股息收益率0.5-3%,股息增长10%+,每股收益增长5%+,销售增长5%+,RSI <40
- FMP详细分析:验证12%+股息年复合增长率,计算精确RSI,分析基本面
仅FMP筛选:
bash
python3 screendividendgrowth_rsi.py --max-candidates 40
自定义选项:
bash
两阶段带自定义参数
python3 screen
dividendgrowth_rsi.py --use-finviz --min-yield 2.0 --min-div-growth 15.0 --rsi-max 35
仅FMP带自定义参数
python3 screen
dividendgrowth_rsi.py --min-yield 2.0 --min-div-growth 10.0 --max-candidates 30
将API密钥作为参数提供(而非环境变量)
python3 screen
dividendgrowth
rsi.py --use-finviz --fmp-api-key YOURFMP
KEY --finviz-api-key YOURFINVIZ_KEY
第三步:查看结果
脚本生成两个输出:
- 1. JSON文件: dividendgrowthpullbackresultsYYYY-MM-DD.json
- 包含所有指标的结构化数据,用于进一步分析
- 包括股息增长率、RSI值、财务健康指标
- 2. Markdown报告: dividendgrowthpullbackscreeningYYYY-MM-DD.md
- 包含股票概况的可读分析
- 基于情景的概率评估
- 入场时机建议
第四步:分析合格股票
对于每只合格股票,报告包括:
股息增长概况:
- - 当前收益率和年度股息
- 3年股息年复合增长率及一致性
- 派息率和可持续性评估
技术时机:
- - 当前RSI值(≤40 = 超卖)
- RSI背景(极端超卖<30 与 早期回调30-40)
- 相对于近期趋势的价格走势
质量指标:
- - 收入和每股收益增长(确认业务动能)
- 财务健康(债务水平、流动性比率)
- 盈利能力(净资产收益率、利润率)
投资建议:
- - 入场时机评估(立即 vs. 等待确认)
- 特定股票的风险因素
- 基于股息增长复利的上行情景
筛选标准详情
第一阶段:基本面筛选(FMP API)
初始过滤器:
- - 股息收益率 ≥ 1.5%(根据实际股息支付计算)
- 市值 ≥ 20亿美元(流动性和稳定性)
- 交易所:纽约证券交易所、纳斯达克(排除场外交易/粉单市场)
股息增长分析:
- - 3年股息年复合增长率 ≥ 12%(6年内股息翻倍)
- 股息一致性:过去4年无削减
- 派息率 < 100%(可持续性检查)
财务健康:
- - 3年正收入增长
- 3年正每股收益增长
- 债务股本比 < 2.0(可控杠杆)
- 流动比率 > 1.0(流动性)
第二阶段:技术筛选(RSI计算)
RSI计算:
- - 使用每日收盘价的14周期RSI
- 公式:RSI = 100 - (100 / (1 + RS))
- RS = 14周期内平均涨幅 / 平均跌幅
RSI过滤器:
- - RSI ≤ 40(超卖/回调条件)
- RSI解读:
- < 30:极端超卖(潜在反转)
- 30-40:早期回调(上升趋势修正)
- > 40:非超卖(排除)
第三阶段:排名和输出
综合评分(0-100):
- - 股息增长(40%):奖励更高的年复合增长率和一致性
- 财务质量(30%):净资产收益率、利润率、债务水平
- 技术形态(20%):RSI越低 = 入场机会越好
- 估值(10%):市盈率和市净率作为参考(非排除性)
股票按综合评分排名。高分者兼具卓越股息增长和有吸引力的技术入场点。
理解结果
解读RSI水平
RSI 25-30(极端超卖):
- - 通常表示恐慌性抛售或负面消息
- 风险较高但潜在回报最高
- 建议:等待RSI回升(稳定迹象)
- 入场:以50%仓位分批建仓,RSI>30时加仓
RSI 30-35(强烈超卖):
- - 强劲上升趋势中的正常回调
- 风险低于极端超卖
- 建议:可立即建仓
- 入场:可接受全仓,设置下方5-8%止损
RSI 35-40(早期回调):
- - 上升趋势中的温和疲软
- 进一步下跌风险最低
- 建议:对高确信度股票保守入场
- 入场:全仓,设置下方3-5%紧密止损
股息增长复利示例
12%股息年复合增长率(最低门槛):
- - 起始收益率:1.5%
- 第6年:成本收益率2.96%(翻倍)
- 第12年:成本收益率5.85%(4倍)
- 示例:Visa(V)、万事达卡(MA)历史概况
15%股息年复合增长率(优秀):
- - 起始收益率:1.8%
- 第6年:成本收益率4.08%(2.3倍)
- 第12年:成本收益率9.22%(5.1倍)
- 示例:微软(MSFT)2010-2020年期间
20%股息年复合增长率(卓越):
- - 起始收益率:2.0%
- 第6年:成本收益率6.00%(3倍)
- 第12年:成本收益率18.0%(9倍)
- 示例:苹果(AAPL)2012-2020年期间
关键洞察: 较低起始收益率 + 高增长 > 高起始收益率 + 低增长(10年以上)。
故障排除
未找到结果
可能原因:
- 1. 市场条件: 强劲牛市,超卖股票稀少
- 标准过于严格: 12%股息增长罕见(通常5-10只股票符合条件)
- RSI阈值