【コラム】EDINETとEDGAR (2) XBRLの取得について

このブログでも何度かご紹介していますが、XBRLのリポジトリとしては、日本では金融庁のEDINET米国SECのEDGARがあります。

XBRLは、企業の各種報告書をXMLで規格化したもので、このブログでは財務諸表のXBRLを利用して可視化処理を行なっています。今回は、EDINETとEDGARをクローリングの観点から比較してみたいと思います。

XBRLを利用して財務分析などを行いたい場合、各社のXBRLを取得することが必要です。対象とする社が限られているなら手作業でリポジトリからダウンロードすれば事足りますが、多数の社のデータを扱いたい場合はそうは行きません。AIのように、大量のデータで学習させて威力を発揮するようなシステムならなおさらで、手作業でダウンロードするなど考えられません。

XBRLは、人が直接ファイルを開いて読めるようなファイルではありません。XMLといってもXLinkという少々凝った規格が採用されており、財務諸表一つを処理するにも、スキーマ、リンクベース、ラベル、文書実体といった複数のXMLを同時に処理する必要があります。ソフトウェアが処理するためのデータなら、その取得にはプログラマ向けにAPI(アプリケーション・プログラミング・インターフェイス)が提供されて然るべきかと思いますが、残念ながらEDINETもEDGARもそういったシステムインターフェイスを提供していません。

APIがないとなれば、リポジトリのウェブサイトを自動解析してデータを取得するプログラムを書くことになります。インターネットのウェブサイトから必要なデータを取得するプログラムをクローラーとかスクレイパーとか言います。私は古いプログラマなので、ベタなコードでクローリングしてDOMで解析するコードも随分書きましたが、最近ではそういったコードを書くためのライブラリも充実していて比較的簡単に書くことができます。ビッグデータが活用される時代、クローラーの教科書さえ出版されています。

ただ、EDINETはこのクローラーを書くにあたってとても作りにくいサイトになっています。指定した各種条件は、内部のJavaScriptで捏ねた上で非同期に実行されるような作りで、セションも固めているため、クローラーを書くにもそこそこ余計な手間がかかります。

一方で、米SECのEDGARはとてもシンプルな作りになっています。検索条件は全てURLパラメタで指定できるので検索結果に直にたどり着けますし、ダウンロードの対象となる各種XMLファイルも生のURLでリンクされているので、APIが提供されていなくても簡単なコードで実装できます。

先にも書きましたが、XBRLはシステムで処理してこそのデータです。XBRLの普及し、様々な活発事例を増やすためにも、EDINETにはもう少しプログラマ向けの対応を是非検討していただきたいものです。

現在、私は日本の全上場企業のXBRL5年分をデータベース化し、随時更新を続けています。現在は、可視化処理を中心に開発を進めていますが、いずれ集めたデータから統計的手法やAIを使った分析も検討しています。

今回は、XBRLのデータ取得に関して、日米両リポジトリの比較をしてみました。XBRLは、国際規格ではありますが、その実装には日米でかなりの違いがあります。私のシステムでは、オブジェクト指向プログラミング的な手法を使って、両国の実装の違いを吸収し、同様に扱えるクラスライブラリを開発しています。両国のXBRLにどのような違いがあり、アプリケーションを書く上でどのような問題があるのか、そんなことも今後取り上げてみたいと思います。

にほんブログ村に登録しています。以下クリックいただけたら幸いです。

にほんブログ村 経営ブログ 財務・経理へ

にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA