mcpField
A
alterlab-edgartools

alterlab-edgartools

github.com/alterlab-ieuデータ・データベース7868 回インストール5 週間前に更新
リポジトリ

alterlab-edgartools について

edgartoolsを使ってSEC提出書類を取得し、財務情報や提出者データを構造化して取り出すスキルです。提出書類単位の情報を必要とする研究者やアナリスト向けで、財務諸表、XBRLファクト、保有状況、インサイダー取引を扱います。

主な機能

  1. 01企業とSEC提出書類の検索
  2. 02財務諸表とXBRLファクトの抽出
  3. 03フォーム別提出データの解析
  4. 04提出書類のテキスト、HTML、Markdown表示

活用シーン

  1. 01企業の10-Kまたは10-Qの取得
  2. 02インサイダー取引や機関投資家の保有状況の分析
  3. 03委任状説明書の報酬や議決項目の確認

MCP 対応

READMEではAI/MCP設定ドキュメントに言及していますが、MCP固有の機能は説明されていません。

インストール

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

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-edgartools

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

同梱ファイル

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

evals/
evals.json
references/
ai-integration.md
companies.md
data-objects.md
entity-facts.md
filings.md
financial-data.md
xbrl.md

詳細

edgartools — SEC EDGAR データ

1994 年以降のすべての SEC 提出書類にアクセスし、構造化データを抽出できる Python ライブラリです。

このスキルを使用する場合

  • 企業または期間を指定して、特定の提出書類(10-K、10-Q、8-K、DEF 14A、S-1、13F、Form 4、SC 13D/G、Form D)を取得する場合
  • 複数期間にわたるデータをつなぎ合わせる処理を含め、提出時のままの財務諸表や XBRL ファクトを抽出する場合
  • 提出者レベルのインサイダー取引、機関投資家保有、または委任状/報酬データを取得する場合
  • EDGAR から企業のメタデータ(CIK、SIC、会計年度末、提出者のステータス)を取得する場合
該当しない場合
シナリオ代わりに使用
市場価格、OHLCV、相場情報、またはテクニカル指標alterlab-alpha-vantage
FRED シリーズ ID によるマクロ経済時系列データ(GDP、企業利益、金利)alterlab-fred
OFR が公開する Form PF に基づくヘッジファンドの集計統計alterlab-hedgefund-monitor
連邦債務、財務省の報告書、またはオークション結果alterlab-usfiscaldata

認証(必須)

API にアクセスするには、SEC が識別情報を要求します。操作を行う前に、必ず識別情報を設定してください。

from edgar import set_identity
set_identity("Your Name [email protected]")

ハードコードを避けるには、環境変数で設定します:EDGAR_IDENTITY="Your Name [email protected]"。

edgartools はこの識別情報を、SEC が求める HTTP User-Agent("Sample Company Name AdminContact@.com")として送信し、デフォルトでリクエスト数を毎秒 9 件(EDGAR_RATE_LIMIT_PER_SEC)に制限します。これは SEC の公平なアクセス上限である毎秒 10 件を下回る設定です。上限を超える IP アドレスは SEC にブロックされることがあるため、sec.gov ではこのデフォルト設定を維持してください。

インストール

uv pip install edgartools
# For AI/MCP features:
uv pip install "edgartools[ai]"

ここに記載する API の例は、edgartools 5.58.0(2026-09 時点の最新バージョン)で動作確認されています。仮想環境を使わずに一度だけ実行するには、uv run --with edgartools python ... を使用します。5.x では、cashflow_statement() は非推奨のエイリアスです(6.0 で削除)。cash_flow_statement() を使用してください。

基本的なワークフロー

企業を検索する
from edgar import Company, find

company = Company("AAPL")        # by ticker
company = Company(320193)         # by CIK (fastest)
results = find("Apple")           # by name search
提出書類を取得する
# Company filings
filings = company.get_filings(form="10-K")
filing = filings.latest()

# Global search across all filings
from edgar import get_filings
filings = get_filings(2024, 1, form="10-K")

# By accession number
from edgar import get_by_accession_number
filing = get_by_accession_number("0000320193-23-000106")
構造化データを抽出する
# Form-specific object (most common approach)
tenk = filing.obj()              # Returns TenK, EightK, Form4, ThirteenF, etc.

# Financial statements (10-K/10-Q)
financials = company.get_financials()     # annual
financials = company.get_quarterly_financials()  # quarterly
income = financials.income_statement()
balance = financials.balance_sheet()
cashflow = financials.cash_flow_statement()

# XBRL data
xbrl = filing.xbrl()
income = xbrl.statements.income_statement()
提出書類の内容にアクセスする
text = filing.text()             # plain text
html = filing.html()             # HTML
md = filing.markdown()           # markdown (good for LLM processing)
filing.open()                    # open in browser

主な企業プロパティ

company.name                     # "Apple Inc."
company.cik                      # 320193
company.get_ticker()             # "AAPL" (primary); company.tickers -> list
company.industry                 # "ELECTRONIC COMPUTERS"
company.sic                      # "3571"
company.shares_outstanding       # 15115785000.0
company.public_float             # 2899948348000.0
company.fiscal_year_end          # "0930"
company.get_exchanges()          # ["Nasdaq"]

Form → オブジェクトの対応表

Formオブジェクト主なプロパティ
10-KTenKfinancials、income_statement、balance_sheet、risk_factors
10-QTenQfinancials、income_statement、balance_sheet
8-KEightKitems、press_releases
Form 4Form4reporting_owners、insider_name、market_trades、to_dataframe()
13F-HRThirteenFinfotable、total_value、holdings
DEF 14AProxyStatementexecutive_compensation、voting_proposals、peo_total_comp
SC 13D/GSchedule13D / Schedule13Gtotal_shares、total_percent、items(13D)
Form DFormDoffering_data、related_persons、primary_issuer

重要: filing.financials は存在しません。filing.obj().financials を使用してください。

よくある注意点

  • filing.financials → AttributeError が発生します。filing.obj().financials を使用してください
  • get_filings() に limit パラメーターはありません。.head(n) または .latest(n) を使用してください
  • 複数期間の分析では、amendments=False を推奨します(修正後の提出書類には不完全なものがある場合があります)
  • オプションのデータにアクセスする前に、必ず None でないことを確認してください

リファレンスファイル

詳細情報が必要な場合は、以下を読み込んでください。

  • companies.md — 企業の検索、スクリーニング、一括検索、Company API
  • filings.md — 提出書類、添付資料、別紙、Filings collection API の操作
  • financial-data.md — 財務諸表、便利なメソッド、DataFrame へのエクスポート、複数期間の分析
  • xbrl.md — XBRL の解析、事実データのクエリ、複数期間の結合、標準化
  • data-objects.md — サポートされているすべてのフォームタイプと、その構造化オブジェクト
  • entity-facts.md — EntityFacts API、FactQuery、FinancialStatement、FinancialFact
  • ai-integration.md — MCP サーバーのセットアップ、Skills のインストール、.docs および .to_context() プロパティ

報告するすべての数値について、提出書類(企業、フォーム、アクセッション番号、提出日)を引用してください。

AlterLab Academic Skills スイートの一部です。

コメント