sec-edgar-pipeline について
edgar-analyzerを中心に、SEC EDGAR提出書類からデータを抽出してレポート化するコマンドラインワークフローです。プロジェクト設定、パターン分析、抽出、検証、CSV生成までを扱います。
主な機能
- 01プロジェクト設定とサンプル分析
- 02EDGAR提出書類の取得ワークフロー
- 03レシピに基づく表抽出
- 04抽出結果の検証
- 05JSONからCSVレポートを生成
活用シーン
- 01DEF 14A提出書類から報酬表を抽出
- 02反復可能な提出書類抽出プロジェクトの実行
- 03構造化した提出書類データの検証
- 04役員報酬CSVレポートの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bobmatnyc/ claude-mpm-skills --skill sec-edgar-pipelineインストール後、Claude Code で/sec-edgar-pipelineを入力して読み込まれたか確認します。
同梱ファイルmetadata.json
詳細
SEC EDGAR パイプライン
概要
このパイプラインは、edgar-analyzer と EDGAR データソースを中心に構成されています。基本的な流れは、認証情報を設定し、サンプルを使ってプロジェクトを作成し、パターンを分析してコードを生成し、抽出を実行してレポートをエクスポートすることです。
セットアップ(キーとユーザーエージェント)
セットアップウィザードを使用して、必要なキーを設定します。
python -m edgar_analyzer setup
# or
edgar-analyzer setup
必須の設定項目:
OPENROUTER_API_KEY- (任意)
JINA_API_KEY EDGARのユーザーエージェント文字列(「Name [email protected]」)
CLI によるエンドツーエンドのワークフロー
# 1. Create project
edgar-analyzer project create my_project --template minimal
# 2. Add examples + project.yaml
# projects/my_project/examples/*.json
# 3. Analyze examples
edgar-analyzer analyze-project projects/my_project
# 4. Generate extraction code
edgar-analyzer generate-code projects/my_project
# 5. Run extraction
edgar-analyzer run-extraction projects/my_project --output-format csv
出力先は projects/<name>/output/ です。
EDGAR 固有の規則
- CIK の値は10桁で、ゼロ埋めします(例:
0000320193)。 - レート制限:SEC API は1秒あたり10リクエストを許可しています。スクリプトでは約0.11秒の間隔を設けています。
- ユーザーエージェントは必須です。名前とメールアドレスを含めてください。
スクリプトの例(Apple DEF 14A)
edgar/scripts/fetch_apple_def14a.py で直接処理する流れを確認できます。
- 最新の DEF 14A メタデータを取得する
- HTML をダウンロードする
- Summary Compensation Table(SCT)を解析する
- 生の HTML、抽出した JSON、正解データを保存する
レシピ駆動の抽出
edgar/recipes/sct_extraction/config.yaml では、複数ステップのパイプラインを定義しています。
- 企業リストを使って DEF 14A の提出書類を取得する
SCTAdapterで SCT テーブルを抽出するsct_validatorで検証する- 結果を
output/sctに書き込む
レポート生成
edgar/scripts/create_csv_reports.py は、JSON の結果を以下の形式に変換します。
executive_compensation_<timestamp>.csvtop_25_executives_<timestamp>.csvcompany_summary_<timestamp>.csv
トラブルシューティング
- 提出書類が見つからない:CIK の形式と提出書類の種類(DEF 14A か DEF 14A/A)を確認してください。
- API エラー:リクエストの間隔を空け、ユーザーエージェントが設定されていることを確認してください。
- 抽出エラー:コードを再生成するか、POC スクリプトで手動の正解データを使用してください。
関連スキル
universal/data/reporting-pipelinestoolchains/python/testing/pytest
コメント
Markdown 対応