mcpField
D
dividend-growth-pullback-screener

dividend-growth-pullback-screener

github.com/nicepkg数据与数据库28890 次安装41 周前更新
代码仓库

关于 dividend-growth-pullback-screener

用于筛选基本面稳健、股息增长较快且 RSI 处于回调区间的股票,面向长期股息增长投资者。脚本结合 FMP 与可选的 FINVIZ 数据,输出筛选指标和分析报告。

主要功能

  1. 01股息增长率与连续性筛选
  2. 02RSI 回调条件筛选
  3. 03财务健康指标分析
  4. 04综合评分与股票排序
  5. 05生成 JSON 和 Markdown 报告

适用场景

  1. 01寻找股息增长且处于回调的股票
  2. 02比较候选股的股息可持续性
  3. 03查看 RSI 与基本面筛选结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nicepkg/ai-workflow --skill dividend-growth-pullback-screener

安装后在 Claude Code 中输入/dividend-growth-pullback-screener确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
dividend_growth_compounding.md
fmp_api_guide.md
rsi_oversold_strategy.md
scripts/
screen_dividend_growth_rsi.py

详细介绍

股息增长回调筛选器

概述

此技能用于筛选基本面强劲、但暂时出现技术面走弱的股息增长型股票。目标是股息增长率出色(CAGR 达 12% 以上)、且 RSI 回落至超卖水平(≤40)的股票,为长期股息增长投资者创造潜在的入场机会。

投资论点: 高质量的股息增长型股票(股息收益率通常为 1-2.5%)通过提高股息而非提供较高的当前收益率来实现财富复利增长。在这些股票暂时回调时买入(RSI ≤40),可以将强劲的基本面增长与有利的技术面入场时机相结合,从而提高总回报。

何时使用此技能

在以下情况下使用此技能:

  • 寻找复利增长潜力出色的股息增长型股票(股息 CAGR 达 12% 以上)
  • 在市场暂时走弱期间,寻找优质股票的入场机会
  • 愿意接受较低的当前收益率(1.5-3%),以换取更高的股息增长
  • 关注 5-10 年的总回报,而非当前收入
  • 市场出现板块轮动或普遍回调,影响优质标的

请勿在以下情况下使用:

  • 寻求较高的当前收入(改用 value-dividend-screener)
  • 要求股息收益率立即超过 3%
  • 寻找对市盈率或市净率有严格要求的深度价值投资机会
  • 关注短期交易(<6 个月)

筛选工作流

步骤 1:设置 API 密钥
两阶段方法(推荐)

为获得最佳效果,请使用 FINVIZ Elite API 进行预筛选,再使用 FMP API 进行详细分析:

# Set both API keys as environment variables
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 的方法(原始方法)

如果没有 FINVIZ Elite 访问权限:

export FMP_API_KEY=your_key_here

限制: FMP 免费套餐(每天 250 次请求)最多支持分析约 40 只股票。使用 --max-candidates 40 以符合使用限制。

步骤 2:执行筛选

两阶段筛选(推荐):

cd dividend-growth-pullback-screener/scripts
python3 screen_dividend_growth_rsi.py --use-finviz

执行以下操作:

  1. FINVIZ 预筛选:股息收益率 0.5-3%、股息增长 10% 以上、EPS 增长 5% 以上、销售额增长 5% 以上、RSI <40
  2. FMP 详细分析:验证股息 CAGR 达 12% 以上、计算精确 RSI、分析基本面

仅使用 FMP 进行筛选:

python3 screen_dividend_growth_rsi.py --max-candidates 40

自定义选项:

# 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
步骤 3:查看结果

脚本会生成两种输出:

  1. JSON 文件: dividend_growth_pullback_results_YYYY-MM-DD.json

    • 包含所有指标的结构化数据,便于进一步分析
    • 包含股息增长率、RSI 值和财务健康指标
  2. Markdown 报告: dividend_growth_pullback_screening_YYYY-MM-DD.md

    • 提供股票概况和便于阅读的分析
    • 基于不同情景的概率评估
    • 入场时机建议
步骤 4:分析符合条件的股票

报告会针对每只符合条件的股票提供:

股息增长概况:

  • 当前收益率和年度股息
  • 3 年股息 CAGR 和稳定性
  • 派息率和可持续性评估

技术面时机:

  • 当前 RSI 值(≤40 = 超卖)
  • RSI 状况(极度超卖 <30;回调初期 30-40)
  • 相对于近期趋势的价格走势

质量指标:

  • 营收和 EPS 增长(确认业务动能)
  • 财务健康状况(债务水平、流动性比率)
  • 盈利能力(ROE、利润率)

投资建议:

  • 入场时机评估(立即入场还是等待确认)
  • 个股特有的风险因素
  • 基于股息增长复利效应的上行情景

筛选标准详情

阶段 1:基本面筛选(FMP API)

初始筛选条件:

  • 股息率 ≥ 1.5%(根据实际股息支付计算)
  • 市值 ≥ $2 billion(流动性和稳定性)
  • 交易所:NYSE、NASDAQ(排除 OTC/粉单市场)

股息增长分析:

  • 3 年股息 CAGR ≥ 12%(6 年内股息翻倍)
  • 股息连续性:过去 4 年没有削减股息
  • 派息率 < 100%(可持续性检查)

财务健康状况:

  • 过去 3 年营收增长为正
  • 过去 3 年 EPS 增长为正
  • 资产负债率 < 2.0(杠杆水平可控)
  • 流动比率 > 1.0(流动性)
阶段 2:技术面筛选(RSI 计算)

RSI 计算:

  • 使用每日收盘价计算 14 个周期的 RSI
  • 公式:RSI = 100 - (100 / (1 + RS))
    • RS = 14 个周期内的平均涨幅 / 平均跌幅
  • 数据来源:FMP 历史价格(过去 30 天)

RSI 筛选条件:

  • RSI ≤ 40(超卖/回调状态)
  • RSI 解读:
    • < 30:极度超卖(可能反转)
    • 30-40:初期回调(上升趋势中的修正)
    • 40:未超卖(排除)

阶段 3:排名与输出

综合评分(0-100):

  • 股息增长(40%):奖励更高的 CAGR 和连续性
  • 财务质量(30%):ROE、利润率、债务水平
  • 技术形态(20%):RSI 越低,入场机会越好
  • 估值(10%):参考 P/E 和 P/B(不作为排除条件)

股票按综合评分排名。排名靠前的股票兼具出色的股息增长和有吸引力的技术面入场时机。

了解结果

解读 RSI 水平

RSI 25-30(极度超卖):

  • 通常表示恐慌性抛售或负面消息
  • 风险较高,但潜在回报也可能最高
  • 建议:等待 RSI 回升(稳定迹象)
  • 入场:先买入 50% 的仓位,RSI >30 时再加仓

RSI 30-35(严重超卖):

  • 强劲上升趋势中的正常回调
  • 风险低于极度超卖状态
  • 建议:可立即开始建仓
  • 入场:可建立完整仓位,将止损设在下方 5-8%

RSI 35-40(初期回调):

  • 上升趋势中的轻微走弱
  • 进一步下跌的风险最低
  • 建议:对信心较强的股票采取保守入场策略
  • 入场:建立完整仓位,将止损设在下方 3-5%
股息增长复利示例

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 年期间

关键见解: 经过 10 年以上,较低的初始股息率 + 高增长 > 较高的初始股息率 + 低增长。

故障排除

未找到结果

可能原因:

  1. 市场状况: 强劲的牛市中,超卖股票较少
  2. 筛选条件过严: 12% 的股息增长并不常见(通常只有 5-10 只股票符合条件)
  3. RSI 阈值过低: 可考虑将 RSI 阈值提高至 ≤45,以纳入更多候选股票

解决方案:

  • 放宽 RSI 阈值:--rsi-max 45(初期回调阶段)
  • 降低股息增长要求:--min-div-growth 10.0(增长仍然出色)
  • 降低最低股息率:--min-yield 1.0(纳入更多成长型股票)
API 速率限制已达上限

FMP 免费版限制:

  • 每天 250 次请求
  • 每只股票需要 6 次 API 调用(报价、股息、价格、利润表、资产负债表、现金流、指标)
  • 仅使用 FMP 时每天最多约筛选 40 只股票

解决方案:

1. 使用 FINVIZ 两阶段方法(推荐)

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 时的候选对象数量

python3 screen_dividend_growth_rsi.py --max-candidates 40

3. 等待 24 小时,直到速率限制重置

  • FMP 在 UTC 午夜重置

4. 升级到 FMP 付费套餐

  • Starter(每月 $14):每天 500 次请求
  • Professional(每月 $29):每天 1,000 次请求

**注意:**对于此用例,订阅 FINVIZ Elite(每月 $40)并搭配 FMP 免费版,比购买 FMP 付费套餐更划算。

RSI 计算错误

问题:“RSI 计算所需的价格数据不足”

**原因:**该股票的交易历史不足 30 天(IPO 或交易不活跃)

**解决方案:**脚本会自动跳过数据不足的股票。无需采取任何操作。

与其他技能结合使用

预筛选参考信息:

  1. 市场新闻分析师 → 识别行业轮动或市场回调
  2. 市场广度图分析师 → 确认更广泛的市场超卖情况
  3. 经济日历获取器 → 查看即将公布的利率决议或宏观经济事件

筛选后分析:

  1. 技术分析师 → 分析合格候选股票的个股图表
  2. 美国股票分析 → 入场前深入研究特定股票
  3. 回测专家 → 验证 RSI + 股息增长策略的历史表现

工作流示例:

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

资源

scripts/

screen_dividend_growth_rsi.py - 主筛选脚本

  • 集成 FMP API 获取基本面数据
  • 根据历史价格计算 14 周期 RSI
  • 应用多阶段筛选和排名
  • 输出 JSON 和 Markdown 报告
references/

rsi_oversold_strategy.md - RSI 指标说明

  • RSI 如何识别超卖情况
  • 极度超卖(<30)与初期回调(30–40)的区别
  • 将 RSI 与基本面分析结合使用
  • 误报管理与风险缓解

dividend_growth_compounding.md - 股息增长数学原理

  • 股息 CAGR 超过 12% 的长期效应
  • 收益率与增长之间的权衡
  • 历史案例(MSFT、V、MA、AAPL)
  • 股息增长型股票的质量特征

fmp_api_guide.md - API 使用文档

  • API 密钥的设置与管理
  • 筛选所用端点的文档
  • 速率限制策略
  • 错误处理与故障排查

**免责声明:**此筛选工具仅供参考。过去的股息增长不代表未来表现。请在作出投资决策前进行全面的尽职调查。RSI 超卖情况并不保证价格会反转——股票可能会在较长时间内持续处于超卖状态。

评论

支持 Markdown