XBRLを一気に読み込み、データベースで時系列にする。

決算分析システム開発経験談

XBRLの読み込みかたですが、売上高を狙って読み込む方法と、一気に読み込んでから売上高を抽出する方法の2つがあります。両方試したのですが、『一気に』読み込んでしまうほうが良かったです。そのあたりの記録です。

最大のメリットは内容を一望できたことですね、これが良かった。

いやですね、初めてXBRLの読み込みにチャレンジしたころは、とりあえず NetSales でヒットしたものをPythonリストに取り込んでいく感じだったのですが、勘定科目ってたくさん種類があるじゃないですか?特に、売上高なんて割と種類が多いほうです。

それで、拾えていなかった企業を一つ一つ見て行って、それっぽいタグを探してタグリストに追加していく、そんな作業をコツコツしていました。

以下がそのタグリストです。

EDINET(エディネット)のタグリスト

TDnet(ティーディーネット)のタグリスト

EDGAR(エドガー)のタグリスト

そんな時にですね、XBRLを『一気に』読み込んでCSVなりに保存しておくスタイルだと、タグを探すのがとても楽だったんですよ。

なんていうんですかね、そのー、XBRLをエディタで開いて見ていくのって、結構大変なんですよ。1行1行がめっちゃ長くて、左見てから右に行かないと、タグ名も金額も見えないという、そんな感じなんですよ。

PDFで金額を見て、XBRLを検索して、『ああ、これがメインの売上高ね』と。文字だらけの中から、地道にタグを拾っていました。それが、タグやら金額やらを列挙したCSVになってからはですね、本当に見易く効率的になりました。

CSVは、企業ごとにすべての決算を連結していったものなんですが、これ1つ開くだけで、その企業8年分のタグが一覧できたんですよ。すばらしかったです。探していたタグのほかにも、いろいろな気づきがあって、理解が深まりました。

コンテキストとか、シナリオとか、EDINETの仕様書でイメージできなかったところが『一気に』把握できた感じです。実際の使われかたが一望できると、やはり分かりやすいですね。傾向とか、いろいろ見えてきました。

そして、エクセルのオートフィルタでそれっぽい勘定科目を絞り込んでは、ほしいタグリストにどんどん追加していったんですね。取り損ねたタグを探すついでに、資産の科目、負債の科目、純資産の科目、あと、損益計算書の科目に、キャッシュフロー計算書の科目ですね。そのあたりのタグをどんどん拾っていきました。

XBRLをそのまま開くのでも同じことはできるんですが、効率が別次元に良かったです。

そのようなことがありまして、XBRLで時系列分析するなら

一気に読み込んでから絞り込む』

というやり方が良さそうだ、というのが私の中での結論になりました。

あとですね、実際に『タグの読み込み』と『勘定科目の抽出』を分けたらですね、プログラムの分割も結構うまくいったんですよ。特に、勘定科目の抽出ですね。これって、どちらかというと『データベースのお仕事』だなって、そんな気がしませんか?

勘定科目の抽出とかは、データベースに任せるべきかなって思い始めたんですよ。といいますのも、決算データって、結構立体的なんですよね。

ある年度の金額が、前年比の金額として再登場したり、決算書の訂正があったり、そんなこんなで、同じ日付の開示日違いとか金額違いがたくさん出てきます。そこで、データベース的なライブラリとかソフトの出番です。

例えばですね、日付は最初の開示を優先するのか?とか、修正は反映するのか?とかですね。重複処理です。これは、XBRLの読み込みと同時に処理するには、やや複雑なところです。

そいうわけで、PythonはXBRLの読み込みに専念して、時系列分析のための表作りは pandas データフレームの機能に任せる方向に変わってきました。分かる方なら、専用のデータベースに取り込んで、時系列をリクエストするのがきっと良いのでしょう。

実は、最初に作った決算分析システムが狙って読み込むタイプで、最近作っているのが一気に読み込むタイプなのです。

XBRLは『一気に』読み込んで、後から抽出する。このアプローチのほうが、手作業の効率もコードの見通しも良かったですという、そういう経験談でした。

スポンサーリンク
シェアする(押すとSNS投稿用の『編集ページ』に移動します)
フォローする(RSSフィードに移動します)
スポンサーリンク
シラベルノート
タイトルとURLをコピーしました