mcpField
D
dividend-growth-pullback-screener

dividend-growth-pullback-screener

github.com/mphinanceその他3287 回インストール3 日前に更新
リポジトリ

dividend-growth-pullback-screener について

ファンダメンタルズが良好で RSI が低い配当成長株を探す Python スキルです。FMP データと任意の FINVIZ 事前スクリーニングを組み合わせて候補を順位付けし、構造化レポートと読みやすいレポートを作成します。

主な機能

  1. 01配当成長と財務健全性のスクリーニング
  2. 0214期間 RSI の計算
  3. 03任意の FINVIZ 事前スクリーニング
  4. 04総合スコアによる候補の順位付け
  5. 05JSON と Markdown への出力

活用シーン

  1. 01調整局面の配当成長株探し
  2. 02条件を満たす銘柄のファンダメンタルズ比較
  3. 03RSI に基づくエントリー状況の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mphinance/alpha-skills --skill dividend-growth-pullback-screener

インストール後、Claude Code で/dividend-growth-pullback-screenerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
dividend_growth_compounding.md
fmp_api_guide.md
rsi_oversold_strategy.md
scripts/
screen_dividend_growth_rsi.py
scripts/tests/
test_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% 超の即時の配当利回りを必要としている
  • 厳格な P/E や P/B の要件を伴う深掘りバリュー銘柄を探している
  • 短期トレード重視(6 か月未満)

前提条件

  • FMP API キー(必須):FMP_API_KEY 環境変数を設定するか、--fmp-api-key を渡します。無料枠(1 日 250 コール)は FMP のみのモード(40 銘柄以下)には十分です。サインアップ。
  • FINVIZ Elite API キー(任意、推奨):FINVIZ_API_KEY 環境変数を設定するか、--finviz-api-key を渡します。実行時間を 10〜15 分から 2〜3 分に短縮します。サインアップ。
  • requests および pandas ライブラリがインストールされた Python 3.8 以上。

スクリーニングワークフロー

ステップ 1:API キーを設定する
2 段階アプローチ(推奨)

最適なパフォーマンスを得るには、事前スクリーニングに 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

なぜ 2 段階なのか?

  • FINVIZ:RSI フィルターによる高速な事前スクリーニング(API コール 1 回 → 約 10〜50 候補)
  • FMP:事前スクリーニングされた候補のみに対する詳細なファンダメンタルズ分析
  • 結果:より少ない FMP API コールでより多くの銘柄を分析できます(無料枠の制限内に収まります)
FMP のみのアプローチ(元の方法)

FINVIZ Elite へのアクセスがない場合:

export FMP_API_KEY=your_key_here

制限:FMP の無料枠(1 日 250 リクエスト)では分析は約 40 銘柄に限られます。制限内に収めるには --max-candidates 40 を使用してください。

ステップ 2:スクリーニングを実行する

2 段階スクリーニング(推奨):

python3 skills/dividend-growth-pullback-screener/scripts/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 skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py --max-candidates 40

カスタマイズオプション:

# 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
ステップ 3:結果を確認する

スクリプトは 2 つの出力を生成します:

  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、利益率)

投資推奨:

  • エントリータイミングの評価(即時 vs. 確認を待つ)
  • その銘柄固有のリスク要因
  • 配当成長の複利に基づく上昇シナリオ

出力

スクリプトは現在の作業ディレクトリ(または指定されている場合は --output-dir)に 2 つのファイルを保存します。

ファイル説明
dividend_growth_pullback_results_YYYY-MM-DD.jsonすべての指標(利回り、配当 CAGR、RSI、総合スコアなど)を含む構造化データ
dividend_growth_pullback_screening_YYYY-MM-DD.md銘柄プロファイル、エントリータイミング、投資推奨を含む人間が読める形式のレポート

レポート構造(Markdown):

  • エグゼクティブサマリー(候補銘柄数、市場状況)
  • 配当成長プロファイル、テクニカルタイミング、品質指標を含むランク付けされた銘柄プロファイル
  • RSI ゾーン(極度の売られ過ぎ / 強い売られ過ぎ / 初期の押し目)に基づくエントリー推奨
  • 免責事項

スクリーニング基準の詳細

フェーズ 1: ファンダメンタルズスクリーニング(FMP API)

初期フィルター:

  • 配当利回り ≥ 1.5%(実際の配当支払いから算出)
  • 時価総額 ≥ 20 億ドル(流動性と安定性)
  • 取引所: 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% 下にタイトなストップロスを設定
増配による複利効果の例

配当 CAGR 12%(最低基準):

  • 初期利回り: 1.5%
  • 6年目: 取得コストに対する利回り 2.96%(2倍)
  • 12年目: 取得コストに対する利回り 5.85%(4倍)
  • 例: Visa(V)、Mastercard(MA)の過去の推移

配当 CAGR 15%(優れた水準):

  • 初期利回り: 1.8%
  • 6年目: 取得コストに対する利回り 4.08%(2.3倍)
  • 12年目: 取得コストに対する利回り 9.22%(5.1倍)
  • 例: Microsoft(MSFT)の2010年〜2020年の期間

配当 CAGR 20%(卓越した水準):

  • 初期利回り: 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 無料プランの制限:

  • 1日250リクエスト
  • 分析する各銘柄には6回の API 呼び出しが必要です(quote、dividend、prices、income、balance、cashflow、metrics)
  • FMP のみのモードでは1日あたり最大約40銘柄

解決策:

1. FINVIZ の2段階アプローチを使用する(推奨)

python3 skills/dividend-growth-pullback-screener/scripts/screen_dividend_growth_rsi.py --use-finviz
  • FINVIZ による事前スクリーニング: API 呼び出し1回 → 10〜50銘柄の候補(すでに RSI でフィルタリング済み)
  • FMP による分析: 6回の呼び出し × 10〜50銘柄 = 60〜300回の FMP 呼び出し
  • 利点: FINVIZ の RSI フィルターが候補を大幅に絞り込むため、FMP の制限内に収まります

2. FMP のみの候補を制限する

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

3. レート制限のリセットまで24時間待つ

  • FMP は UTC の午前0時にリセットされます

4. FMP の有料プランにアップグレードする

  • Starter(月額14ドル): 1日500リクエスト
  • Professional(月額29ドル): 1日1,000リクエスト

注記: このユースケースでは、FINVIZ Elite のサブスクリプション(月額40ドル)+ FMP 無料プランのほうが、FMP の有料プランよりもコスト効率が優れています。

RSI 計算エラー

問題: 「RSI 計算に必要な価格データが不足しています」

原因: 銘柄の取引履歴が30日未満です(IPO または取引停止中)

解決策: スクリプトはデータが不足している銘柄を自動的にスキップします。対応は不要です。

他のスキルとの組み合わせ

スクリーニング前のコンテキスト:

  1. Market News Analyst → セクターローテーションや市場の調整を特定します
  2. Breadth Chart Analyst → 市場全体の売られ過ぎの状況を確認します
  3. Economic Calendar Fetcher → 今後の金利決定やマクロイベントをチェックします

スクリーニング後の分析:

  1. Technical Analyst → 該当した候補の個別銘柄チャートを分析します
  2. US Stock Analysis → 参入前に特定の銘柄を詳しく調査します
  3. Backtest Expert → 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 - 配当成長の数学

  • 12%以上の配当 CAGR が時間とともに生み出す効果
  • 利回りと成長のトレードオフ
  • 過去の事例(MSFT、V、MA、AAPL)
  • 配当成長株の優良な特性

fmp_api_guide.md - API 使用ドキュメント

  • API キーの設定と管理
  • スクリーニング用エンドポイントのドキュメント
  • レート制限の対策
  • エラー処理とトラブルシューティング

免責事項: このスクリーニングツールは情報提供のみを目的としています。過去の配当成長は、将来のパフォーマンスを保証するものではありません。投資判断を行う前に、十分なデューデリジェンスを実施してください。RSI の売られ過ぎの状態は、価格の反転を保証するものではありません。株価が長期間にわたり売られ過ぎの状態にとどまることもあります。

コメント