value-dividend-screener
割安株の特性(PER20倍未満・PBR2倍未満)、魅力的な配当利回り(3%以上)、安定した成長性(配当・売上・EPSの3年連続上昇)を組み合わせた高品質な米国配当株をスクリーニングします。FINVIZ Elite APIによる効率的な一次絞り込みとFMP APIによる詳細分析の2段階選別に対応。配当株スクリーニングや収益ポートフォリオの候補探し、強固なファンダメンタルズを持つバリュー株を求める際に活用できます。
description の原文を見る
Screen US stocks for high-quality dividend opportunities combining value characteristics (P/E ratio under 20, P/B ratio under 2), attractive yields (3% or higher), and consistent growth (dividend/revenue/EPS trending up over 3 years). Supports two-stage screening using FINVIZ Elite API for efficient pre-filtering followed by FMP API for detailed analysis. Use when user requests dividend stock screening, income portfolio ideas, or quality value stocks with strong fundamentals.
SKILL.md 本文
Value Dividend Screener(バリュー配当スクリーナー)
概要
このスキルは、2段階スクリーニング手法を使用して、バリュー特性、魅力的なインカムジェネレーション、安定した成長を組み合わせた高品質配当株を識別します:
- FINVIZ Elite API(オプションだが推奨): 基本的な基準で事前スクリーニング(高速、費用効率的)
- Financial Modeling Prep(FMP)API: 候補銘柄の詳細ファンダメンタル分析
株価バリュエーション比率、配当指標、財務健全性、収益性などの定量基準に基づいて米国株式をスクリーニング。詳細なファンダメンタル分析とともに、複合品質スコアで株式をランク付けした包括的なレポートを生成します。
効率性の利点: FINVIZ 事前スクリーニングを使用すると、FMP API 呼び出しを 90% 削減でき、無料ティア API ユーザーに理想的です。
使用時期
以下のユーザーリクエスト時にこのスキルを呼び出します:
- 「高品質な配当株を探して」
- 「バリュー配当機会をスクリーニングして」
- 「強い配当成長の株を教えて」
- 「合理的なバリュエーションで取引されているインカム株を探して」
- 「持続可能な高利回り株をスクリーニングして」
- 配当利回り、バリュエーション指標、ファンダメンタル分析を組み合わせたリクエスト
ワークフロー
ステップ1: API キーの可用性を確認
2段階スクリーニング(推奨):
両方の API キーが利用可能かチェック:
import os
fmp_api_key = os.environ.get('FMP_API_KEY')
finviz_api_key = os.environ.get('FINVIZ_API_KEY')
利用できない場合は、ユーザーに API キーを提供するか環境変数を設定するよう依頼:
export FMP_API_KEY=your_fmp_key_here
export FINVIZ_API_KEY=your_finviz_key_here
FMP のみのスクリーニング:
FMP API キーが利用可能かチェック:
import os
api_key = os.environ.get('FMP_API_KEY')
利用できない場合は、ユーザーに API キーを提供するか環境変数を設定するよう依頼:
export FMP_API_KEY=your_key_here
FINVIZ Elite API キー:
- FINVIZ Elite サブスクリプションが必要(約 $40/月または約 $330/年)
- 事前スクリーニング結果の CSV エクスポートへのアクセスを提供
- FMP API 使用量を削減するために強く推奨
必要に応じて references/fmp_api_guide.md から指示を提供。
ステップ2: スクリーニングスクリプトを実行
適切なパラメータでスクリーニングスクリプトを実行:
2段階スクリーニング(推奨)
FINVIZ で事前スクリーニング、その後 FMP で詳細分析:
デフォルト実行(トップ20株):
python3 scripts/screen_dividend_stocks.py --use-finviz
明示的な API キーを指定:
python3 scripts/screen_dividend_stocks.py --use-finviz \
--fmp-api-key $FMP_API_KEY \
--finviz-api-key $FINVIZ_API_KEY
カスタムトップ N:
python3 scripts/screen_dividend_stocks.py --use-finviz --top 50
カスタム出力先:
python3 scripts/screen_dividend_stocks.py --use-finviz --output /path/to/results.json
スクリプト動作(2段階):
- FINVIZ Elite 事前スクリーニング:
- 時価総額:中型以上
- 配当利回り:3% 以上
- 配当成長(3年):5% 以上
- EPS 成長(3年):正
- P/B:2未満
- P/E:20未満
- 売上成長(3年):正
- 地域:USA
- FINVIZ 結果の FMP 詳細分析(通常20~50株):
- 配当成長率計算(3年 CAGR)
- 売上高と EPS トレンド分析
- 配当の持続可能性評価(配当性向、FCF カバレッジ)
- 財務健全性指標(D/E、流動比率)
- 品質スコアリング(ROE、利益率)
- 複合スコアリングとランク付け
- トップ N 株を JSON ファイルに出力
予想実行時間(2段階): 30~50個の FINVIZ 候補に対して 2~3 分(FMP のみより大幅に高速)
FMP のみのスクリーニング(オリジナル方法)
FMP Stock Screener API のみを使用(API 使用量が多い):
デフォルト実行:
python3 scripts/screen_dividend_stocks.py
明示的な API キーを指定:
python3 scripts/screen_dividend_stocks.py --fmp-api-key $FMP_API_KEY
スクリプト動作(FMP のみ):
- FMP Stock Screener API を使用した初期スクリーニング(配当利回り ≥3.0%、P/E ≤20、P/B ≤2)
- 候補銘柄の詳細分析(通常100~300株):
- 2段階手法と同じ詳細分析
- 複合スコアリングとランク付け
- トップ N 株を JSON ファイルに出力
予想実行時間(FMP のみ): 100~300 候補に対して 5~15 分(レート制限が適用)
API 使用量比較:
- 2段階:約 50~100 FMP API 呼び出し(FINVIZ で約 30 株に事前フィルタリング)
- FMP のみ:約 500~1500 FMP API 呼び出し(すべてのスクリーナー結果を分析)
ステップ3: 結果を解析して分析
生成された JSON ファイルを読み込み:
import json
with open('dividend_screener_results.json', 'r') as f:
data = json.load(f)
metadata = data['metadata']
stocks = data['stocks']
株ごとの主要データポイント:
- 基本情報:
symbol、company_name、sector、market_cap、price - バリュエーション:
dividend_yield、pe_ratio、pb_ratio - 成長指標:
dividend_cagr_3y、revenue_cagr_3y、eps_cagr_3y - 持続可能性:
payout_ratio、fcf_payout_ratio、dividend_sustainable - 財務健全性:
debt_to_equity、current_ratio、financially_healthy - 品質:
roe、profit_margin、quality_score - 総合ランク:
composite_score
ステップ4: Markdown レポートを生成
以下のセクションでユーザー向けの構造化 Markdown レポートを作成:
レポート構成
# バリュー配当株スクリーニングレポート
**生成日時:** [タイムスタンプ]
**スクリーニング基準:**
- 配当利回り:≥ 3.5%
- P/E 比率:≤ 20
- P/B 比率:≤ 2
- 配当成長(3年 CAGR):≥ 5%
- 売上高トレンド:3年間で正
- EPS トレンド:3年間で正
**総結果:** [N] 株
---
## 複合スコアでランク付けされたトップ20株
| ランク | ティッカー | 企業名 | 利回り | P/E | 配当成長 | スコア |
|--------|-----------|-------|--------|-----|---------|---------|
| 1 | [TICKER] | [Name] | [%] | [X.X] | [%] | [XX.X] |
| ... |
---
## 詳細分析
### 1. [SYMBOL] - [企業名] (スコア: XX.X)
**セクター:** [セクター名]
**時価総額:** $[X.XX]B
**現在価格:** $[XX.XX]
**バリュエーション指標:**
- 配当利回り:[X.X]%
- P/E 比率:[XX.X]
- P/B 比率:[X.X]
**成長プロファイル(3年):**
- 配当 CAGR:[X.X]% [✓ 安定 / ⚠ カット1回]
- 売上高 CAGR:[X.X]%
- EPS CAGR:[X.X]%
**配当の持続可能性:**
- 配当性向:[XX]%
- FCF 配当性向:[XX]%
- ステータス:[✓ 持続可能 / ⚠ 監視 / ❌ リスク]
**財務健全性:**
- D/E 比率:[X.XX]
- 流動比率:[X.XX]
- ステータス:[✓ 健全 / ⚠ 注意]
**品質指標:**
- ROE:[XX]%
- 純利益率:[XX]%
- 品質スコア:[XX]/100
**投資検討事項:**
- [主要な強み1]
- [主要な強み2]
- [リスク要因または検討事項]
---
[他のトップ株について繰り返す]
---
## ポートフォリオ構築ガイダンス
**多角化に関する推奨事項:**
- トップ20結果のセクター別構成
- 推奨配分戦略
- 集中リスク警告
**監視に関する推奨事項:**
- 四半期ごとに追跡すべき主要指標
- 各ポジションの警告信号
- リバランスのトリガー
**リスク考慮事項:**
- 時価総額の集中
- セクターの偏り
- 経済感応性に関する警告
ステップ5: コンテキストと方法論を提供
結果を説明する際にスクリーニング方法論を参照:
説明すべき主要概念:
- これらの特定の閾値を選んだ理由(3.5% 利回り、P/E 20、P/B 2)
- 静的な高利回りに対する配当成長の重要性
- 複合スコアが価値、成長、品質のバランスをどのように取るか
- 配当の持続可能性と配当トラップの区別
- 財務健全性指標の重要性
references/screening_methodology.md を読み込んで、以下の詳細説明を提供:
- フェーズ1:初期定量フィルタ
- フェーズ2:成長品質フィルタ
- フェーズ3:持続可能性と品質分析
- 複合スコアリングシステム
- 投資哲学と制限事項
ステップ6: フォローアップ質問に回答
一般的なユーザー質問を予測:
「[株]がリストに入らなかったのはなぜ?」
- それが失敗した基準をチェック(利回り、バリュエーション、成長、持続可能性)
- それを除外した特定のフィルタを説明
「特定のセクターでスクリーニングできますか?」
- スクリプトにフィルタリング機能が存在(383~388 行目を変更)
- セクターパラメータ追加でスクリーニングを再実行することをお勧め
「利回りの閾値を高く/低くできますか?」
- スクリプトパラメータは調整可能
- 利回りと成長のトレードオフ
- 新しいパラメータでスクリーニング再実行を推奨
「このスクリーンを多頻度で実行すべき?」
- 四半期ごとを推奨(決算発表サイクルと一致)
- 長期保有者には6か月ごとで十分
- 市場環境によっては頻繁なチェックが必要かもしれません
「何株買うべき?」
- 多角化ガイダンス:配当ポートフォリオに最低10~15株
- セクター別構成を検討
- リスク許容度に基づくポジションサイジング
リソース
scripts/screen_dividend_stocks.py
包括的なスクリーニングスクリプト。以下を実行します:
- FMP API とのインタフェース処理
- 多段階フィルタリングロジックの実装
- 3年期間の成長率(CAGR)計算
- 配当性向と FCF カバレッジを用いた配当の持続可能性評価
- D/E 比率と流動比率による財務健全性評価
- 品質スコア(ROE、利益率)計算
- 複合スコアリングシステムによる株式ランク付け
- 構造化 JSON 結果の出力
依存関係: requests ライブラリ(pip install requests で インストール)
レート制限: FMP API 制限を尊重するための組み込み遅延(無料ティア 250 リクエスト/日)
エラーハンドリング: データ欠落、レート制限リトライ、API エラーに対する段階的な劣化
references/screening_methodology.md
スクリーニング手法の包括的ドキュメント:
フェーズ1:初期定量フィルタ
- 配当利回り ≥ 3.5% の根拠と計算
- P/E 比率 ≤ 20 の閾値正当化
- P/B 比率 ≤ 2 のバリュエーションロジック
フェーズ2:成長品質フィルタ
- 配当成長(3年 CAGR ≥ 5%)
- 売上高の正のトレンド分析
- EPS の正のトレンド分析
フェーズ3:品質と持続可能性分析
- 配当の持続可能性指標(配当性向、FCF カバレッジ)
- 財務健全性指標(D/E、流動比率)
- 品質スコアリング方法論(ROE、利益率)
複合スコアリングシステム(0~100 ポイント)
- スコア構成要素の内訳と重み付け
- 解釈ガイドライン
投資哲学
- このアプローチが機能する理由
- このストラテジーが回避するもの(配当トラップ、バリュートラップ)
- 理想的な候補者プロフィール
使用上の注意と制限事項
- ポートフォリオ構築のベストプラクティス
- 売却基準
- 閾値選択の歴史的背景
references/fmp_api_guide.md
Financial Modeling Prep API の完全ガイド:
API キー設定
- 無料 API キーの取得
- 環境変数の設定
- 無料ティア制限(250 リクエスト/日)
使用される主要エンドポイント
- Stock Screener API
- Income Statement API
- Balance Sheet API
- Cash Flow Statement API
- Key Metrics API
- Historical Dividend API
レート制限戦略
- スクリプト内の組み込み保護
- リクエスト予算管理
- 無料ティアのベストプラクティス
エラーハンドリング
- 一般的なエラーと解決策
- デバッグ技術
データ品質に関する考慮事項
- データの鮮度とギャップ
- データ精度の注意事項
- SEC ファイリングで検証する場合
高度な使用方法
スクリーニング基準のカスタマイズ
scripts/screen_dividend_stocks.py の閾値を変更:
383~388 行目 - 初期スクリーニングパラメータ:
candidates = client.screen_stocks(
dividend_yield_min=3.5, # 利回り閾値を調整
pe_max=20, # P/E 閾値を調整
pb_max=2, # P/B 閾値を調整
market_cap_min=2_000_000_000 # 最小 $2B 時価総額
)
423 行目 - 配当 CAGR 閾値:
if not div_cagr or div_cagr < 5.0: # 成長閾値を調整
セクター固有のスクリーニング
初期スクリーニング後にセクターフィルタリングを追加:
# 特定のセクターでフィルタリング
target_sectors = ['Consumer Defensive', 'Utilities', 'Healthcare']
candidates = [s for s in candidates if s.get('sector') in target_sectors]
REIT と金融セクターを除外
REIT と金融株は異なる配当特性を持っています(より高いペイアウト、異なる指標):
# REIT と金融セクターを除外
exclude_sectors = ['Real Estate', 'Financial Services']
candidates = [s for s in candidates if s.get('sector') not in exclude_sectors]
CSV へのエクスポート
JSON 結果を CSV に変換して Excel 分析に対応:
import json
import csv
with open('dividend_screener_results.json', 'r') as f:
data = json.load(f)
stocks = data['stocks']
with open('screening_results.csv', 'w', newline='') as csvfile:
if stocks:
fieldnames = stocks[0].keys()
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(stocks)
トラブルシューティング
「ERROR: requests ライブラリが見つかりません」
解決策: requests ライブラリをインストール
pip install requests
「ERROR: FMP API キーが必要です」
解決策: 環境変数を設定するか、コマンドラインで提供
export FMP_API_KEY=your_key_here
# または
python3 scripts/screen_dividend_stocks.py --fmp-api-key your_key_here
「ERROR: --use-finviz 使用時に FINVIZ API キーが必要」
解決策: 環境変数を設定するか、コマンドラインで提供
export FINVIZ_API_KEY=your_key_here
# または
python3 scripts/screen_dividend_stocks.py --use-finviz --finviz-api-key your_key_here
注記: FINVIZ Elite サブスクリプションが必要(約 $40/月または約 $330/年)
「ERROR: FINVIZ API 認証に失敗しました」
考えられる原因:
- 無効な FINVIZ API キー
- FINVIZ Elite サブスクリプション期限切れ
- API キー形式が正しくない
解決策:
- FINVIZ Elite サブスクリプションがアクティブであることを確認
- API キーにタイプミスがないか確認(英数字文字列である必要があります)
- FINVIZ Elite アカウントにログインして、設定で API キーを確認
- FINVIZ Elite スクリーナーを手動でアクセスしてサブスクリプションを確認
「ERROR: FINVIZ 事前スクリーニングに失敗したか、結果が返されません」
考えられる原因:
- FINVIZ API 接続の問題
- スクリーニング基準が厳しすぎる(基準に合致する株がない)
- 市場環境(弱気相場は適合する結果が少ない)
解決策:
- インターネット接続を確認
- FINVIZ Elite ウェブサイトがアクセス可能であることを確認
- フォールバック として FMP のみの方法を試してください:
python3 scripts/screen_dividend_stocks.py
「WARNING: レート制限を超過しました」
解決策: スクリプトは自動的に 60 秒後にリトライし。継続する場合:
- 次の日まで待機(無料ティアは毎日リセット)
- 分析する株の数を減らす(394 行目の制限を変更)
- 有料 FMP ティアへのアップグレードを検討
「すべての基準に一致する株がみつかりません」
解決策: 基準が厳しすぎる可能性
- P/E 閾値を上げる(20 から増加)
- 配当利回り要件を下げる(3.5% から減少)
- 配当成長要件を減らす(5% から減少)
- 市場環境を確認(弱気相場は適合する銘柄が少ないかも)
スクリプト実行が遅い
予想される動作: スクリプトには API 呼び出し間に 0.3s の遅延が含まれています(レート制限用)
- 分析する 100 株 = 約 8~10 分
- 最初の 20~30 の適合株は通常、最初の 50~70 株分析内で検出
パフォーマンスとコスト最適化
API 呼び出し比較
2段階スクリーニング(FINVIZ + FMP):
- FINVIZ:1 API 呼び出し
- FMP Quote API:約 30~50 呼び出し(事前スクリーニング済み記号ごと1つ)
- FMP 財務データ:約 150~250 呼び出し(5 エンドポイント × 30~50 記号)
- FMP 合計呼び出し数:約 180~300
FMP のみスクリーニング:
- FMP Stock Screener:1 呼び出し(100~1000 株を返す)
- FMP 財務データ:約 500~5000 呼び出し(5 エンドポイント × 100~1000 記号)
- FMP 合計呼び出し数:約 500~5000
削減率:60~94% の FMP API 使用量削減
コスト分析
FINVIZ Elite:
- 月次:$39.50
- 年次:$299.50(月あたり約 $24.96)
FMP API:
- 無料ティア:250 呼び出し/日(2段階スクリーニングに十分)
- Starter ティア:$29.99/月(750 呼び出し/日)
- Professional ティア:$79.99/月(2000 呼び出し/日)
推奨事項:
- 無料 FMP ティア ユーザーの場合: 2段階スクリーニング(FINVIZ + FMP 無料ティア)を使用
- 有料 FMP ティア ユーザーの場合: どちらのアプローチでも機能;2段階がより高速
- 予算オプション: FMP のみ(無料ティア)(数日ごとにスクリーニング実行)
- 最適オプション: FINVIZ Elite($330/年)+ FMP 無料ティア = 完全なソリューション
バージョン履歴
- v1.1(2025年11月): 2段階スクリーニング用 FINVIZ Elite 統合を追加
- v1.0(2025年11月): 包括的な多段階スクリーニングによる初期リリース
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- tradermonty
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/tradermonty/claude-trading-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。