mcpField
D
dividend-growth-pullback-screener

dividend-growth-pullback-screener

github.com/tradermontyその他3.4k3.4k 回インストール2 日前に更新
リポジトリ

dividend-growth-pullback-screener について

長期の配当成長投資家向けの銘柄スクリーニングスキルです。配当成長、財務の質、RSIによる調整条件を組み合わせ、候補の順位と分析レポートを作成します。

主な機能

  1. 01配当成長と財務の質を審査
  2. 02RSIによる調整条件で絞り込み
  3. 03FINVIZの事前審査とFMP分析に対応
  4. 04JSONデータとMarkdownレポートを生成
  5. 05リスクとエントリー分析を含む順位付け

活用シーン

  1. 01株価調整中の配当成長銘柄を探す
  2. 02長期候補の配当持続性を評価する
  3. 03市場下落時にエントリー候補を絞る

インストール

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

$npx skills add https://github.com/tradermonty/claude-trading-skills --skill dividend-growth-pullback-screener

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

同梱ファイル

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

requirements.txt
references/
dividend_growth_compounding.md
fmp_api_guide.md
rsi_oversold_strategy.md
scripts/
fmp_client.py
screen_dividend_growth_rsi.py
scripts/tests/
test_fmp_stable.py
test_screen_dividend_growth_rsi.py
test_screening_flow.py
test_shared_fmp_transport.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 ライブラリをインストールした Python 3.9 以降。

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

ステップ 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と安定性
  • 配当性向と持続可能性の評価。fcf_status、fcf_coverage_status、sustainability_basis、および銘柄ごとの sustainability_note を含みます
  • REIT以外の銘柄で持続可能性を確認するには、利益に対する配当性向が80%未満であり、報告された freeCashFlow が支払配当額を厳密に上回っている必要があります(FCF配当性向が100%未満)。FCFがマイナス、ゼロ、不十分、または欠落/無効の場合、持続可能性は確認されません。欠落したFCFは欠落のままとし、利益や指標から推定しません。
  • REITとして扱うには、明示的な isReit: true またはREITの業種識別が必要です。不動産セクターであるだけでは不十分です。REITとして識別された銘柄では、簡易FFO(純利益+減価償却費/償却費)に対する配当性向が80%未満であることを条件とし、両方の入力値が必要です。REITではFCFの状態は参考情報です。この代替指標には不動産売却による調整が含まれません。
  • 指標に基づく配当性向の代替値は表示専用です。判定には丸め前の比率を使用します。表示される比率はしきい値と同じ値に丸められることがあります。カバレッジ不足があっても、将来の配当削減が確実に起きることを示すものではありません。

テクニカルなタイミング:

  • 現在のRSI値(≤40=売られすぎ)
  • RSIの状況(極端な売られすぎ <30、初期の押し目 30-40)
  • 最近のトレンドに対する値動き

品質指標:

  • 売上高とEPSの成長(事業の勢いを確認)
  • 財務健全性(負債水準、流動性比率)
  • 収益性(ROE、利益率)

投資推奨:

  • エントリー時期の評価(すぐにエントリーするか、確認を待つか)
  • 銘柄固有のリスク要因
  • 配当成長の複利効果に基づく上昇シナリオ

出力

スクリプトは、設定された出力先に2つのファイルを保存します。現在のパッケージ版では、CLIが --output-dir を受け付けない場合があります。そのフラグが使用できない場合は、目的の作業ディレクトリからスクリプトを実行するか、実行後に生成されたファイルを移動してください。別のディレクトリから実行しても、一部のビルドではリポジトリの logs/ ディレクトリに書き込まれるため、成果物を読む前に、表示されたパスを確認してください。

ファイル説明
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年間で配当が2倍になる水準)
  • 配当の安定性:過去4年間に減配がないこと
  • 持続可能性:REIT以外の銘柄では利益に対する配当性向 <80%かつFCF配当性向 <100%、REITとして識別された銘柄では簡易FFO配当性向 <80%

財務健全性:

  • 過去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リクエスト
  • 各銘柄の分析にはAPI呼び出しが6回必要です(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銘柄 = FMP呼び出し60~300回
  • 利点: 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. 市場ニュースアナリスト → セクターローテーションや市場の下落を特定します
  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 - 増配の数学的解説

  • 12%以上の配当CAGRが時間とともに生む効果
  • 利回りと成長のトレードオフ
  • 過去の事例(MSFT、V、MA、AAPL)
  • 増配銘柄の品質特性

fmp_api_guide.md - APIの使用方法

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

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

共有FMPクライアント

FMPデータへのアクセスには、同梱されている生成済みの scripts/fmp_client.py を使用します。既存のCLIキーと環境変数の優先順位、財務計算、および成功時の出力形式は維持されます。移行後のパスでは安定版エンドポイントのみを使用します。安定版リクエストが拒否または失敗しても、廃止されたv3 URLにはフォールバックしません。共有クライアントはキーがそのまま、またはURLエンコードされた状態で出力に現れるのを防ぎ、不正なJSONを1回再試行します。また、429の場合は60秒待って1回再試行し、レート制限が再発した場合は停止します。FINVIZは、使用する場合も引き続き別のクライアントを使用します。

コメント