Claude
Skills
Sign in
Back

dividend-growth-pullback-screener

Included with Lifetime
$97 forever

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.

Ads & Marketingscripts

What this skill does


# 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)

## Prerequisites

- **FMP API key** (required): Set `FMP_API_KEY` environment variable or pass `--fmp-api-key`. Free tier (250 calls/day) is sufficient for FMP-only mode (≤40 stocks). [Sign up](https://site.financialmodelingprep.com/developer/docs).
- **FINVIZ Elite API key** (optional, recommended): Set `FINVIZ_API_KEY` environment variable or pass `--finviz-api-key`. Reduces execution time from 10–15 min to 2–3 min. [Sign up](https://elite.finviz.com/).
- Python 3.8+ with `requests` and `pandas` libraries installed.

## 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:

```bash
# 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:

```bash
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):**

```bash
python3 skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py --use-finviz
```

This executes:
1. FINVIZ pre-screen: Dividend yield 0.5-3%, Dividend growth 10%+, EPS growth 5%+, Sales growth 5%+, RSI <40
2. FMP detailed analysis: Verify 12%+ dividend CAGR, calculate exact RSI, analyze fundamentals

**FMP-Only Screening:**

```bash
python3 skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py --max-candidates 40
```

**Customization Options:**

```bash
# Two-stage with custom parameters
python3 skills/dividend-growth-pullback-screener/scripts/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 skills/dividend-growth-pullback-screener/scripts/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 skills/dividend-growth-pullback-screener/scripts/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:

1. **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

2. **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

## Output

The script saves two files to the current working directory (or `--output-dir` if specified):

| File | Description |
|---|---|
| `dividend_growth_pullback_results_YYYY-MM-DD.json` | Structured data with all metrics (yield, dividend CAGR, RSI, composite score, etc.) |
| `dividend_growth_pullback_screening_YYYY-MM-DD.md` | Human-readable report with stock profiles, entry timing, and investment recommendations |

**Report structure (Markdown):**
- Executive summary (number of candidates, market conditions)
- Ranked stock profiles with dividend growth profile, technical timing, and quality metrics
- Entry recommendations based on RSI zone (extreme oversold / strong oversold / early pullback)
- Disclaimers

## 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 Pu

Related in Ads & Marketing