カテゴリー別アーカイブ: XBRL財務分析

XBRL財務分析

ワークシート関数の設計

実装するワークシート関数の仕様を決めます。

ワークシート関数は、コンテキストを取得する関数「XBRLContext」と、ファクトを取得する関数「XBRLFact」の2つを実装することにします。

コンテキスト取得関数

=XBRLContext(インスタンスファイルパス, [コンテキストID])

  インスタンスファイルパス:インスタンスファイルのパスを指定する。
  コンテキストID(省略可):コンテキストのIDを指定する。
               省略した場合、全てのコンテキストを取得する。

【機能】
インスタンスからコンテキスト情報を配列で取得する。

横方向にコンテキストの属性を展開する。1列目:コンテキストID、2列目:開始日、3列目:終了日、4列目:基準日、5列目:シナリオ、6列目:連結(False)/単体(True)。

引数のコンテキストIDを省略した場合、または、””(空文字列)を指定した場合には、インスタンスファイルに定義されている全てのコンテキストを配列で取得し、縦方向に展開する。

ファクト取得関数

=XBRLFact(インスタンスファイルパス, [コンテキストID], [名前空間], [要素名])

  インスタンスファイルパス:インスタンスファイルのパスを指定する。
  コンテキストID(省略可):対象となるコンテキストのIDを指定する。
               省略した場合、全てのコンテキスト。
  名前空間(省略可):要素の名前空間を指定する。
            省略した場合、名前空間は無視する。
  要素名(省略可):要素名を指定する。省略した場合、全てのファクト。

【機能】
インスタンスからファクト情報を配列で取得する。

横方向にファクトの属性を展開する。1列目:値、2列目:要素名、3列目:名前空間、4列目:コンテキストID、5列目:Nil属性、6列目:単位、7列目:精度(decimals)。値は、Nil属性がTrueの場合は #null!(NULLエラー) を設定。

縦方向に取得したファクトを展開する。

作成方針と機能概要

最初に、ツールの目的と必要な機能を決めます。

目的は、プログラマではない(経理や財務担当者が)が、EXCELでXBRLデータから財務指標を簡単に計算できるようにすることです。ユーザはEXCELにある程度精通しているものとし、EXCELのワークシート関数を通して、XBRLデータから必要な情報を取得できるようにします。

XBRLデータから取得する情報は、財務指標を計算するために必要な“コンテキスト”と“ファクト”のみとして、それ以外の名称リンク・定義リンク等は無視します。“コンテキスト”と“ファクト”のみであれば、XBRLインスタンスだけを見ればよく、タクソノミは無視できるため、ツールもごく単純なものになります。
処理対象のXBRLデータは、EDINETで開示されている有価証券報告書(半期報告・四半期報告書を含む)のXBRLデータとします。XBRLデータは、ユーザが直接EDINETにアクセスして必要なデータをダウンロードして使うか、もしくは、有報キャッチャーウェブサービスを通じて取得するものとします。

まとめると、以下のようなツールを作成します。

  1. EXCELのワークシート関数で、コンテキスト・ファクトをインスタンスファイルから取得できる
  2. 対象はEDINETのXBRLデータとする
  3. XBRLデータはEDINETからダウンロードするか、有報キャッチャーウェブサービスから参照する

次は、ワークシート関数の機能を具体化しています。