Dividend Growth Pullback Screener
Use this skill to find high-quality dividend growth stocks (12%+ annual dividend growth, 1.5%+ yield) that are experiencing temporary pullbacks, identified by RSI oversold conditions (RSI ≤40). This skill combines fundamental dividend analysis with technical timing indicators to identify buying opportunities in strong dividend growers during short-term weakness.
FMP Required FINVIZ Optional
Download Skill Package (.skill) View Source on GitHub
Table of Contents
1. 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.
2. When to Use
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)
3. Prerequisites
- FMP API key required (
FMP_API_KEYenvironment variable) - FINVIZ Elite optional (improves performance)
- FMP for analysis; FINVIZ for RSI pre-screening
- Python 3.9+ recommended
4. Quick Start
# Two-stage screening with RSI filter (RECOMMENDED)
python3 dividend-growth-pullback-screener/scripts/screen_dividend_growth.py --use-finviz
# FMP-only screening (limited to ~40 stocks due to API limits)
python3 dividend-growth-pullback-screener/scripts/screen_dividend_growth.py --max-candidates 40
# Custom RSI threshold and dividend growth requirements
python3 dividend-growth-pullback-screener/scripts/screen_dividend_growth.py \
--use-finviz \
--rsi-threshold 35 \
--min-div-growth 15
5. 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:
# 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)
FMP-Only Approach (Original Method)
If you don’t have FINVIZ Elite access:
export FMP_API_KEY=your_key_here
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):
cd dividend-growth-pullback-screener/scripts
python3 screen_dividend_growth_rsi.py --use-finviz
This 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:
python3 screen_dividend_growth_rsi.py --max-candidates 40
Customization Options:
# Two-stage with custom parameters
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
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)
python3 screen_dividend_growth_rsi.py --use-finviz --fmp-api-key YOUR_FMP_KEY --finviz-api-key YOUR_FINVIZ_KEY
Step 3: Review Results
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
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
6. Resources
References:
skills/dividend-growth-pullback-screener/references/dividend_growth_compounding.mdskills/dividend-growth-pullback-screener/references/fmp_api_guide.mdskills/dividend-growth-pullback-screener/references/rsi_oversold_strategy.md
Scripts:
skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py