dividend-growth-pullback-screener
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDividend 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.
该工具筛选具备强劲基本面特征但正处于短期技术走弱状态的股息增长股票。它瞄准那些股息复合年增长率(CAGR)≥12%且已回调至RSI超卖水平(≤40)的股票,为长期股息增长投资者创造潜在的入场机会。
投资逻辑: 优质股息增长股票(通常股息率为1-2.5%)通过股息增长而非高当前股息率实现财富复利。在短期回调(RSI ≤40)时买入这些股票,可将强劲的基本面增长与有利的技术入场时机相结合,提升总回报。
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)
在以下场景使用该技能:
- 寻找具备卓越复利潜力的股息增长股票(股息CAGR≥12%)
- 寻求优质股票在短期市场走弱时的入场机会
- 愿意接受较低的当前股息率(1.5-3%)以换取更高的股息增长
- 聚焦5-10年的总回报而非当前收益
- 市场出现板块轮动或全面回调,影响优质标的
请勿在以下场景使用:
- 寻求高当前收益(请改用价值股息筛选工具)
- 要求即时股息率>3%
- 寻找严格符合市盈率(P/E)或市净率(P/B)要求的深度价值标的
- 短期交易聚焦(<6个月)
Screening Workflow
筛选流程
Step 1: Set API Keys
步骤1:设置API密钥
Two-Stage Approach (RECOMMENDED)
两阶段方案(推荐)
For optimal performance, use FINVIZ Elite API for pre-screening + FMP API for detailed analysis:
bash
undefined为获得最佳性能,使用FINVIZ Elite API进行预筛选 + FMP API进行详细分析:
bash
undefinedSet both API keys as environment variables
Set both API keys as environment variables
export FMP_API_KEY=your_fmp_key_here
export FINVIZ_API_KEY=your_finviz_key_here
**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)export FMP_API_KEY=your_fmp_key_here
export FINVIZ_API_KEY=your_finviz_key_here
**为何选择两阶段?**
- **FINVIZ**:快速预筛选,自带RSI过滤(1次API调用 → 约10-50个候选标的)
- **FMP**:仅对预筛选后的候选标的进行详细基本面分析
- **结果**:用更少的FMP API调用分析更多股票(符合免费层限制)FMP-Only Approach (Original Method)
仅FMP方案(原始方法)
If you don't have FINVIZ Elite access:
bash
export FMP_API_KEY=your_key_hereLimitation: FMP free tier (250 requests/day) limits analysis to ~40 stocks. Use to stay within limits.
--max-candidates 40如果您没有FINVIZ Elite权限:
bash
export FMP_API_KEY=your_key_here限制:FMP免费层(每日250次请求)限制分析约40只股票。使用以符合限制。
--max-candidates 40Step 2: Execute Screening
步骤2:执行筛选
Two-Stage Screening (RECOMMENDED):
bash
cd dividend-growth-pullback-screener/scripts
python3 screen_dividend_growth_rsi.py --use-finvizThis executes:
- 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:
bash
python3 screen_dividend_growth_rsi.py --max-candidates 40Customization Options:
bash
undefined两阶段筛选(推荐):
bash
cd dividend-growth-pullback-screener/scripts
python3 screen_dividend_growth_rsi.py --use-finviz该命令执行以下操作:
- FINVIZ预筛选:股息率0.5-3%,股息增长率10%+,每股收益(EPS)增长率5%+,销售额增长率5%+,RSI <40
- FMP详细分析:验证股息CAGR≥12%,计算精确RSI值,分析基本面
仅FMP筛选:
bash
python3 screen_dividend_growth_rsi.py --max-candidates 40自定义选项:
bash
undefinedTwo-stage with custom parameters
带自定义参数的两阶段筛选
python3 screen_dividend_growth_rsi.py --use-finviz --min-yield 2.0 --min-div-growth 15.0 --rsi-max 35
python3 screen_dividend_growth_rsi.py --use-finviz --min-yield 2.0 --min-div-growth 15.0 --rsi-max 35
FMP-only with custom parameters
带自定义参数的仅FMP筛选
python3 screen_dividend_growth_rsi.py --min-yield 2.0 --min-div-growth 10.0 --max-candidates 30
python3 screen_dividend_growth_rsi.py --min-yield 2.0 --min-div-growth 10.0 --max-candidates 30
Provide API keys as arguments (instead of environment variables)
以参数形式提供API密钥(替代环境变量)
python3 screen_dividend_growth_rsi.py --use-finviz --fmp-api-key YOUR_FMP_KEY --finviz-api-key YOUR_FINVIZ_KEY
undefinedpython3 screen_dividend_growth_rsi.py --use-finviz --fmp-api-key YOUR_FMP_KEY --finviz-api-key YOUR_FINVIZ_KEY
undefinedStep 3: Review Results
步骤3:查看结果
The script generates two outputs:
-
JSON file:
dividend_growth_pullback_results_YYYY-MM-DD.json- Structured data with all metrics for further analysis
- Includes dividend growth rates, RSI values, financial health metrics
-
Markdown report:
dividend_growth_pullback_screening_YYYY-MM-DD.md- Human-readable analysis with stock profiles
- Scenario-based probability assessments
- Entry timing recommendations
脚本生成两个输出文件:
-
JSON文件:
dividend_growth_pullback_results_YYYY-MM-DD.json- 包含所有指标的结构化数据,用于进一步分析
- 涵盖股息增长率、RSI值、财务健康指标
-
Markdown报告:
dividend_growth_pullback_screening_YYYY-MM-DD.md- 便于人类阅读的分析报告,包含股票概况
- 基于场景的概率评估
- 入场时机建议
Step 4: Analyze Qualified Stocks
步骤4:分析合格股票
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
对于每只合格股票,报告包含以下内容:
股息增长概况:
- 当前股息率与年度股息
- 3年股息CAGR与稳定性
- 派息率与可持续性评估
技术择时:
- 当前RSI值(≤40 = 超卖/回调状态)
- RSI背景(超卖极端值<30 对比 早期回调30-40)
- 价格走势相对近期趋势的表现
质量指标:
- 营收与EPS增长(确认业务动能)
- 财务健康(债务水平、流动性比率)
- 盈利能力(净资产收益率ROE、利润率)
投资建议:
- 入场时机评估(即时入场 vs 等待确认信号)
- 股票特定风险因素
- 基于股息增长复利的上涨场景
Screening Criteria Details
筛选标准详情
Phase 1: Fundamental Screening (FMP API)
阶段1:基本面筛选(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)
初始过滤:
- 股息率≥1.5%(根据实际股息支付计算)
- 市值≥20亿美元(流动性与稳定性)
- 交易所:NYSE、NASDAQ(排除场外/粉单市场)
股息增长分析:
- 3年股息CAGR≥12%(6年内股息翻倍)
- 股息稳定性:过去4年无股息削减
- 派息率<100%(可持续性检查)
财务健康:
- 3年营收正增长
- 3年EPS正增长
- 债务权益比<2.0(可控杠杆)
- 流动比率>1.0(流动性)
Phase 2: Technical Screening (RSI Calculation)
阶段2:技术筛选(RSI计算)
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)
RSI计算:
- 使用每日收盘价计算14周期RSI
- 公式:RSI = 100 - (100 / (1 + RS))
- RS = 14周期内平均涨幅 / 平均跌幅
- 数据来源:FMP历史价格(过去30天)
RSI过滤:
- RSI ≤40(超卖/回调状态)
- RSI解读:
- <30:极端超卖(潜在反转信号)
- 30-40:早期回调(上涨趋势修正)
-
40:未超卖(被排除)
Phase 3: Ranking and Output
阶段3:排名与输出
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.
综合评分(0-100):
- 股息增长(40%):更高的CAGR与稳定性获得更高分数
- 财务质量(30%):ROE、利润率、债务水平
- 技术形态(20%):RSI越低,入场机会越优
- 估值(10%):P/E与P/B作为参考(非排除指标)
股票按综合评分排名。高分标的兼具卓越的股息增长与具吸引力的技术入场点。
Understanding the Results
结果解读
Interpreting RSI Levels
RSI水平解读
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
RSI 25-30(极端超卖):
- 通常表明恐慌性抛售或负面消息
- 风险更高但潜在回报也最高
- 建议:等待RSI回升(企稳信号)
- 入场:分仓买入,先建50%仓位,RSI>30时加仓
RSI 30-35(强超卖):
- 强劲上涨趋势中的正常回调
- 风险低于极端超卖
- 建议:可立即建仓
- 入场:可全仓买入,设置5-8%的止损
RSI 35-40(早期回调):
- 上涨趋势中的温和走弱
- 进一步下跌风险最低
- 建议:对高信心标的采取保守入场策略
- 入场:全仓买入,设置3-5%的严格止损
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.
12%股息CAGR(最低阈值):
- 初始股息率:1.5%
- 第6年:成本股息率2.96%(翻倍)
- 第12年:成本股息率5.85%(4倍)
- 示例:Visa (V)、Mastercard (MA) 历史表现
15%股息CAGR(优秀):
- 初始股息率:1.8%
- 第6年:成本股息率4.08%(2.3倍)
- 第12年:成本股息率9.22%(5.1倍)
- 示例:Microsoft (MSFT) 2010-2020年期间
20%股息CAGR(卓越):
- 初始股息率:2.0%
- 第6年:成本股息率6.00%(3倍)
- 第12年:成本股息率18.0%(9倍)
- 示例:Apple (AAPL) 2012-2020年期间
核心洞察: 长期来看,低初始股息率+高增长 优于 高初始股息率+低增长。
Troubleshooting
故障排除
No Results Found
无结果返回
Possible Causes:
- 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: (early pullback phase)
--rsi-max 45 - Lower dividend growth: (still excellent growth)
--min-div-growth 10.0 - Lower minimum yield: (capture more growth stocks)
--min-yield 1.0
可能原因:
- 市场环境: 强势牛市中几乎没有超卖股票
- 标准过严: 12%的股息增长率较为罕见(通常仅5-10只股票符合条件)
- RSI阈值过低: 考虑将阈值提高至RSI ≤45以获得更多候选标的
解决方案:
- 放宽RSI阈值:(早期回调阶段)
--rsi-max 45 - 降低股息增长率要求:(仍为优秀增长水平)
--min-div-growth 10.0 - 降低最低股息率要求:(覆盖更多增长型股票)
--min-yield 1.0
API Rate Limit Reached
API速率限制触发
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)
bash
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
bash
python3 screen_dividend_growth_rsi.py --max-candidates 403. 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.
FMP免费层限制:
- 每日250次请求
- 每只股票分析需要6次API调用(报价、股息、价格、收益、资产负债、现金流、指标)
- 仅FMP模式下每日最多分析约40只股票
解决方案:
1. 使用FINVIZ两阶段方案(推荐)
bash
python3 screen_dividend_growth_rsi.py --use-finviz- FINVIZ预筛选:1次API调用 → 10-50个候选标的(已通过RSI过滤)
- FMP分析:6次调用 × 10-50只股票 = 60-300次FMP调用
- 优势:FINVIZ的RSI过滤大幅减少候选标的数量,符合FMP限制
2. 限制仅FMP模式的候选标的数量
bash
python3 screen_dividend_growth_rsi.py --max-candidates 403. 等待24小时速率限制重置
- FMP在UTC午夜重置限制
4. 升级至FMP付费方案
- 入门版(14美元/月):每日500次请求
- 专业版(29美元/月):每日1000次请求
注意: 对于此使用场景,FINVIZ Elite订阅(40美元/月)+ FMP免费层比FMP付费方案更具成本效益。
RSI Calculation Errors
RSI计算错误
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.
问题: "Insufficient price data for RSI calculation"
原因: 股票交易历史不足30天(IPO或交易不活跃)
解决方案: 脚本会自动跳过数据不足的股票,无需操作。
Combining with Other Skills
与其他技能结合使用
Pre-Screening Context:
- 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:
- 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:
1. Market News Analyst: "Market pulled back 5% this week on Fed hawkish comments"
2. Breadth Chart Analyst: Confirms market oversold (S&P breadth weak)
3. Dividend Growth Pullback Screener: Finds 8 quality dividend growers with RSI <35
4. Technical Analyst: Analyze top 3 candidates for support levels and entry timing
5. Execute: Enter scaled positions with 6-12 month time horizon预筛选背景:
- 市场新闻分析师 → 识别板块轮动或市场回调
- 广度图表分析师 → 确认整体市场超卖状态
- 经济日历获取工具 → 查看即将到来的利率决议或宏观事件
后筛选分析:
- 技术分析师 → 分析合格标的的个股图表
- 美股分析工具 → 入场前对特定股票进行深度研究
- 回测专家 → 历史验证RSI+股息增长策略
示例流程:
1. 市场新闻分析师:"本周因美联储鹰派言论,市场回调5%"
2. 广度图表分析师:确认市场超卖(标普广度走弱)
3. 股息增长回调筛选工具:找到8只RSI<35的优质股息增长股
4. 技术分析师:分析排名前三的标的,寻找支撑位与入场时机
5. 执行:分仓入场,设定6-12个月的投资期限Resources
资源
scripts/
scripts/
screen_dividend_growth_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
screen_dividend_growth_rsi.py - 主筛选脚本
- 集成FMP API获取基本面数据
- 从历史价格计算14周期RSI
- 应用多阶段过滤与排名
- 输出JSON与Markdown报告
references/
references/
rsi_oversold_strategy.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
dividend_growth_compounding.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
fmp_api_guide.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.
rsi_oversold_strategy.md - RSI指标说明
- RSI如何识别超卖状态
- 极端超卖(<30)与早期回调(30-40)的区别
- RSI与基本面分析的结合
- 假阳性管理与风险缓解
dividend_growth_compounding.md - 股息增长数学原理
- 12%+股息CAGR的长期威力
- 股息率与增长的权衡
- 历史示例(MSFT、V、MA、AAPL)
- 股息增长股票的质量特征
fmp_api_guide.md - API使用文档
- API密钥设置与管理
- 筛选相关的端点文档
- 速率限制策略
- 错误处理与故障排除
免责声明: 本筛选工具仅供参考。过往股息增长不代表未来表现。投资决策前请进行充分尽职调查。RSI超卖状态不保证价格反转——股票可能长期处于超卖状态。