プログラミングと株式投資のブログ

プログラミングで株式投資に役立つ何かをやってます

2025年に取り組みたいこと EDINETのXBRL解析の進捗について その2

はじめに

EDINETのXBRL解析の進捗について書いていきます。前回の投稿が3月なのでもう半年たってしまいました。かなりさぼっていました。力尽きていましたが何とか再開し今に至るといった感じです。
 
www.quwechan.com
 

セグメント情報の取得

セグメント情報をこんな感じで取得できるようになりました。


 
セグメント情報は財務状況や設備投資、研究開発費、従業員の状況などありますが、ディメンションのメンバーがそれぞれ共通ではないです(例外が結構ある)。したがって、各ロール(財務状況や研究開発費などの区分)ごとにディメンションのメンバー(ここではセグメント名だと思ったらよい)として何が存在するかを調査する必要がありました。はじめはどうせ共通だろうなんて思っていたんですが違いました。
 

取得要素の再分類

既に貸借対照表などの要素を区分ごとに取得できているのですが、実際にほしいデータはこれではないということに気が付いたのでデータの再分類処理を作り始めています。
 
XBRLのデータから貸借対照表の要素を取得する処理は既にあります。例えば流動資産や有形固定資産くらいの粒度で要素を取得できています。


 
でも、実際にほしいのは流動資産にどんな要素があるかではなくって

  • 現金はどのくらいあるのか?
  • 棚卸資産は?
  • 買掛金は?

といったことが知りたいわけなのでこのデータのままだと利用価値が低いと思うようになりました。
 
そこで各項目が現金なのか、棚卸資産なのか、買掛金なのかといった分類をする処理を作り始めています。大体こんな感じで分かるようになる予定です。



 

なぜこんなことが必要なのかというとDCFで現在価値を出そうと思うと有利子負債とか運転資本とかそういったものをパラメータとして取得したいんですが、現状の分類方法だとその都度手で該当する項目を探して足し合わせる必要があり非常に手間でした。だったら、初めからプログラムで処理しようというわけです。
 

計算リンクベースファイルの木構造について新たに分かったこと

今更ですが、計算リンクベースファイルの木構造は単一ではないことがわかりました。わたしは単一だという前提で処理を作っていたのですが、どうも、複数あることを認めているように思えます。XBRLは非常に自由度が高いのでそれもありということですね。

木構造が複数あるのは損益計算書で、今のところ貸借対照表では見かけていません。損益計算書はルートが当期純利益となる木構造が一つだけあるパターンが一番多いのですが、まれにそれに加えて売上原価や売上をルートとする木構造が存在している場合があります。おそらく当期純利益の木構造で売上や売上原価の計算構造を表していない場合に、個別に売上や売上原価の構造を計算リンクベースに含めている場合があるようです。
 

例えば、当期純利益の木構造中で以下のような構造がある場合です。

当期純利益
・略
  総利益
  ・完成工事売上
  ・完成工事原価
  ・製品売上
  ・製品売上原価


上記の構造では売上や原価がどう計算されるかを定義していないので、売上や売上原価の計算構造を上記とは別に計算リンクベースファイルに含める場合があります。

売上
・完成工事売上
・製品売上

原価
・完成工事原価
・製品原価
 

このケースだと同じ名前の要素が複数存在することもあって、うまく処理できませんでした。要素名は複数存在しうるという前提で処理を作らなければならないとわかりました。結構つらいです。さすがに作り直すこともできない段階なので、とりあえずは複数の木構造がある場合は当期純利益の木構造のみを処理するような形でこの問題を回避しています。

まともにするなら木構造読み込みの際に検索用の別名をつけるなどすれば同一名称の要素があってもよさそうです。もし作り直すことがあればこれを考慮した実装にしたいですね。
 

このデータを何に使うのか問題

セグメント情報が取れるようになって、XBRLのデータもかなり充実してきたように思います。で、結局これを何に使うのかという問題に直面しています。結論から言うと「2019年以降に上場した比較的新しい会社の財務分析を機械的に出来たら面白いんじゃないか」と思っています。

IFRSの財務諸表や各種セグメント情報は2019年より前はタグ付けされておらず、現在の手法では取得できないことが多いです。そのためXBRL解析で得たデータを活用するなら2019年以降のデータに限定したほうが面白そうなんですよね。それ以前のデータについては別のロジックを考えないと厳しそうです。IFRSの貸借対照表や損益計算書、キャッシュフロー計算書はタグ付けされていませんがテキストブロックデータ(html形式)としては提供されているのでテーブルデータとして読み込んで整理すればいけなくもなさそうですが、作りこみが必要なのでまずは今あるものでできることを考えることにしました。
 

データの需要とか公開方法

単純に収集したデータを外部公開したら需要があるのかということも悩んでいます。ここら辺は勉強会のメンバーに話を聞いてみたいところです。あと、普通のhtmlページで公開するのか、それともgithubとかでそのままデータを公開するのか。そこらへんもどういう需要があるか次第なので、何に使うのか、どんな需要があるのかわからないと決められないです。

だた、バフェットコードとかIRバンクとか世の中には自分が作っているものより優れたものがすでに存在しているので、かなりニッチなものにしないと価値がないあぁと思っています。


2社分のデータしかないですが、今のところこんなデータ形式のものを作っています。ご参考までに。
GitHub - Quwe/open_data
 

おわりに

進捗は思わしくないですが、すこしは進んだので記事にしました。次はできたら年内に報告したいところです。


今回はここまでです。