【BCM 001】第110信:公開データで企業を測る ③ ― EDINETからデータを取る
与信管理事務局(BCM)の001だ。
前信(第109信)で、スコアリングに使う7つの指標とGC関連情報を説明した。
今信では、それらを算出・抽出するために必要なデータを、どこから、どうやって取得したかを述べる。
本論①:二つのデータソース
スコアリングに必要な財務データは、一つのソースでは揃わなかった。二つのソースを組み合わせた。
ソース①:証券会社等の財務データ
売上高、営業利益、純資産(自己資本)、総資産の4項目。これらは証券会社等が公開している財務データから取得した。比較的容易に入手できるデータだ。
ソース②:EDINET API
減価償却費、有利子負債(短期借入金・長期借入金・1年内返済予定長期借入金)、固定資産、固定負債の4項目。これらは有価証券報告書の中から抽出する必要があった。
証券会社等の財務データだけでは、償却前利益、借入依存度、固定長期適合率が算出できない。これらの指標を算出するには、有価証券報告書の詳細な財務データが必要だ。
本論②:EDINETとは
EDINET(Electronic Disclosure for Investors' NETwork)は、金融庁が運営する電子開示システムだ。上場企業が提出する有価証券報告書、四半期報告書、大量保有報告書などが、ここに集約されている。
重要なのは、EDINETにはAPIが用意されていることだ。API(Application Programming Interface)を使えば、ブラウザで一社ずつ報告書を開く必要がない。プログラムから自動的に、数千社分のデータを一括で取得できる。
EDINET APIの利用には、APIキーの取得が必要だ。金融庁のサイトからアカウントを作成し、申請すれば取得できる。
※ APIキーの取得手順、およびGC注記・重要事象等の抽出方法の詳細は、次信(第111信・有料)で述べる。
本論③:XBRLという構造化データ
有価証券報告書は、PDFのような「見た目重視」のフォーマットではなく、XBRL(eXtensible Business Reporting Language)という構造化フォーマットで提出されている。
XBRLの何が優れているか。
通常のPDFやHTMLでは、「減価償却費」という文字列の隣にある数字が減価償却費の金額だ、とプログラムが判断するのは難しい。ページのレイアウトが変われば、位置が変わる。企業によって書式が違う。
XBRLでは、各数値にタグが付いている。減価償却費には「DepreciationAndAmortizationOpeCF」というタグが付き、短期借入金には「ShortTermLoansPayable」というタグが付く。プログラムは、タグを手がかりにして、正確に目的の数値を取得できる。
これが、約3,500社超の財務データを自動で取得できる理由だ。
本論④:データ取得の流れ
実際のデータ取得は、三つのステップで行った。
ステップ1:対象企業のリスト化
EDINET APIの書類検索機能を使い、一定期間内に提出された有価証券報告書を検索した。証券コードを持つ企業(=上場企業)に絞り込み、各企業の最新の報告書を特定した。結果、約3,700社の有価証券報告書を特定できた。
ステップ2:XBRLデータの一括ダウンロード
各企業のXBRLデータをAPIからZIPファイルとしてダウンロードした。約3,700社分のダウンロードには、APIへの負荷を考慮して1社あたり0.5秒の間隔を空けた。全体で約4~5時間を要した。
ステップ3:財務項目の抽出
ダウンロードしたXBRLから、必要な6項目(減価償却費、短期借入金、長期借入金、1年内返済予定長期借入金、固定資産、固定負債)を抽出した。さらに、継続企業の前提に関する注記(GC注記)と重要事象等の有無も、同じXBRLデータから抽出した。
抽出の際に注意したのは、連結と個別の区別だ。XBRLデータには、連結財務諸表と個別財務諸表の両方のデータが含まれている。スコアリングには連結データを使うため、コンテキスト情報(contextRef属性)を確認し、連結の当期データのみを取得した。
本論⑤:取得できなかったデータ
約3,700社中、4社でエラーが発生し、データを取得できなかった。成功率は99.9%だ。
また、一部の企業では、XBRLのタグ名が標準と異なるケースがあった。例えば、減価償却費のタグは「DepreciationAndAmortizationOpeCF」が一般的だが、「DepreciationOpeCF」を使う企業もある。長期借入金も「LongTermLoansPayable」と「LongTermDebt」の二種類がある。これらのバリエーションにも対応した。
証券会社等の財務データとEDINETのデータを証券コードで突合した結果、約3,520社のスコアリング対象が確定した。差分は、上場廃止済みの企業や、証券コードの再利用による不一致が原因だ。
本論⑥:生成AIとの協働
今回のデータ取得プロセスでは、生成AIが大きな役割を果たした。
EDINET APIの仕様を理解し、XBRLの構造を解析し、Pythonのコードを書く。これらの作業を、生成AIとの対話の中で進めた。
001がやったことは、方針の決定と結果の検証だ。「減価償却費を取得したい」「連結データだけを使いたい」「タグ名のバリエーションにも対応したい」。要件を伝えれば、生成AIがコードを書く。結果を確認し、修正を指示する。
従来であれば、XBRL解析の専門知識やプログラミングスキルが必要だった工程だ。生成AIは、この技術的な障壁を取り除いた。審査担当者に求められるのは、「何のデータが必要か」「なぜそのデータが必要か」を判断する力だけだ。
次信(第111信・実践ガイド・有料)では、EDINET APIキーの取得手順とGC注記抽出の具体的な方法を述べる。
BCM(Bureau of Credit Management)
数万件の審査を独力で完遂させる「爆速プロトコル」
#企業分析 #企業研究 #与信管理 #信用リスク #取引先審査 #財務分析 #与信管理実務 #格付 #EDINET #XBRL #API #生成AI
