記述言語 xbrl で定義された財務諸表を...
Post on 06-Jan-2016
80 Views
Preview:
DESCRIPTION
TRANSCRIPT
2004/2/20 CS専攻修士論文発表会
1Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
記述言語 XBRLで定義された財務諸表を計算・書式変換する言語処理系の提案と実
現
井上研究室高尾 祐治
2004/2/20 CS専攻修士論文発表会
2Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
財務諸表とは 財務諸表とは,企業が財務情報を公表するために使う表貸借対照表 (資金の調達先,資金の使用先)損益計算書 (売上高,経常利益,純利益)キャッシュフロー計算書 (資金の運用先)
作成
企業・法人
監査
会計士
分析
証券・銀行
投資
投資家
財務諸表を分析し, 資金が供給される経済の要
2004/2/20 CS専攻修士論文発表会
3Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
貸借対照表の例
ある項目がサブ項目から構成されるとき,
項目間に親子関係があるという
2004/2/20 CS専攻修士論文発表会
4Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
財務諸表記述言語 XBRL 財務諸表をインターネットを通じて流通されるよ
うになったPDF 形式や HTML 形式など,形式が各社ばらばら手作業で再入力の必要
統一されたフォーマットが必要となった
財務諸表を記述するための, XML の構文を使った言語 XBRL ( eXtensible Business Reporting Language )が,米国公認会計士協会を中心に策定された 2000 年 7 月 XBRL 1.0 2001 年 12 月 XBRL 2.0
2004/2/20 CS専攻修士論文発表会
5Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRLのメリット 従来は,紙の授受や,再入力が必要
XBRLは徐々に普及している
東京証券取引所への財務情報の登録が
XBRLに対応
2003年 4月上場企業の
XBRL化した財務情報を
インターネットで提供
2003年 10月国税庁の電子申告に
XBRLを採用
2004年 2月
共通のフォーマットで情報を受け取れるため,業務の短期化とコスト削減を実現
2004/2/20 CS専攻修士論文発表会
6Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRL文書処理における問題点 XBRL文書の計算・変換のニーズは非常に高い
XBRL文書に記述された値の計算処理XBRLから,他の形式の文書への書式変換
既存の XML処理系を使った XBRL文書操作は困難複雑な財務情報を表現するため, XBRLの仕様は複雑
既存の XML処理系を使うと, XBRLの解析処理を大量に記述する必要がある
財務情報を扱う人全てが, XMLの深い知識を持っているわけではない
2004/2/20 CS専攻修士論文発表会
7Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
研究の目的 XML技術の細部に精通していなくても, XBRL文書の計算・書式変換を簡単に行うことができる,操作環境の実現
扱いやすい XBRL文書のモデル容易に習得可能な,簡単なプログラミング言語
2004/2/20 CS専攻修士論文発表会
8Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRL文書の構成 インスタンス文書
財務情報を記述した XML 文書
タクソノミインスタンス文書で使う語
彙 ( 要素名 , 属性など ) を定義した XML Schema
リンクベース要素間の関係や,各要素に
対する追加情報を定義したXLink
定義リンク 財務諸表で現れる項目間の関係 (例,親子関係)
計算リンク 値の計算方法(重み付き加算式)
表示リンク 項目の表示順名称リンク 項目の表示名称参照リンク 項目の参考文献
タクソノミ
インスタンス文書
XBRL文書
語彙を定義
要素間の関係を定義
リンクベースリンクベースリンクベースリンクベースリンクベース
2004/2/20 CS専攻修士論文発表会
9Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
インスタンス文書の構成グループ要素 (ルートノード,必須)項目要素(財務情報,必須)
コンテキスト要素 (項目要素の補足情報,必須)
タプル要素(任意)脚注要素(任意)
インスタンス文書
項目要素<Assets …>6000</Assets>
コンテキスト要素<numericContext> …</numericContext>
グループ要素<group …>
</group>
2004/2/20 CS専攻修士論文発表会
10Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
インスタンス文書の例
<xbrli:group>
<jp-bs:Assets numericContext="c1">6000</jp-bs:Assets> <jp-bs:CurrentAssets numericContext="c1">5000</jp-bs:CurrentAssets> <jp-bs:FixedAssets numericContext="c1">1000</jp-bs:FixedAssets> <jp-bs:LiabilitiesStockholdersEquity numericContext="c1">6000 </jp-bs:LiabilitiesStockholdersEquity> <jp-bs:Liabilities numericContext="c1">2500</jp-bs:Liabilities> <jp-bs:Equity numericContext="c1">3500</jp-bs:Equity>
<xbrli:numericContext id="c1" precision="18" cwa="true"> … </xbrli:numericContext>
</xbrli:group>
•要素が連続して並ぶ•コンテキスト属性で,コンテキスト要素を指定
2004/2/20 CS専攻修士論文発表会
11Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRL文書のモデル XBRL文書の計算,書式変換を簡単に扱うことのできる,理解しやすいモデルを提案する
XML文書のモデルとしては, DOM( Document Object Model)が広く使われている
XBRL文書の特徴を利用し, DOMを簡略化したモデルを考える
2004/2/20 CS専攻修士論文発表会
12Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
DOM ( Document Object Model)
DOM は XMLを木構造で表すモデル
○ あらゆる XML文書を正確に表現できる× 要素や,その値を木構造の頂点として同じように表す 操作が煩雑
<group> <Assets>6000</Assets> <CurrentAssets>5000</CurrentAssets> …
document
group
Assets
CurrentAssets
“6000”
“5000”
2004/2/20 CS専攻修士論文発表会
13Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRL文書の特徴 財務事実を表現する項目要素と, その値をまとめて扱うことができる
入れ子による親子関係以外の関係が存在するリンクベースで定義された項目要素の親子関係項目要素がコンテキスト要素を参照する関係
2004/2/20 CS専攻修士論文発表会
14Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRL文書のモデル 有向グラフを XBRL文書のモデルとする
頂点:要素に項目要素の値(財務情報)を付加辺 :要素間の関係
XMLの親子関係
リンクベースによる親子関係
コンテキスト要素への参照関係
Assets値: 6000
CurrentAssets値: 5000
group値:
numericContext値:
<group> <Assets>6000</Assets> <CurrentAssets>5000</CurrentAssets> <numericContext> …
2004/2/20 CS専攻修士論文発表会
15Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
メリット XBRL文書が持つ構造を使って,頂点にアクセスできる
頂点が値を持つので,値の読み書きの際に解析しなくてよい
Assets値: 6000
CurrentAssets値: 5000
group値:
numericContext値:
<group> <Assets>6000</Assets> <CurrentAssets>5000</CurrentAssets> <numericContext> …
XBRL文書に記された値の読み書きにかかる手間を軽減することができる
2004/2/20 CS専攻修士論文発表会
16Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
プログラミング言語 有向グラフのモデルに基づいた, XBRL 文書操作を行うた
めの言語 LMX (A Tiny Language for Manipulating XBRL Documents ) を設計した
特徴 構造化プログラミング
利用者層,プログラムの規模を考慮すると妥当 宣言無しで使える変数 C 言語に似た,演算子,制御構造
加減乗除,文字列処理 if-then-else , for , while
XBRL 文書解析,入出力のためのライブラリ関数を提供
2004/2/20 CS専攻修士論文発表会
17Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
XBRL文書の操作方法 有向グラフの頂点を構造体で表現
構造体は,要素の値,他の構造体への参照を持つ
構造体のメンバを変更することで,値の操作,文書構造の変更を実現
LMXでは,有向グラフのモデルを DOM ツリーを元に実現
DOMのノードを構造体で表すことで DOM ツリーの操作による,汎用の XML文書処理も可能
名前 意味name 要素名localname ローカル名uri 名前空間 URI
value 要素の値attribute 属性parent 親要素children 子要素の配列
メンバ一覧
2004/2/20 CS専攻修士論文発表会
18Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
実装 LMX のインタープリタ XBRL 解析ライブラリ 開発環境 (GUI)
実装を行った環境・ライブラリJava 2 SDK (version 1.4.2)コンパイラ・コンパイラ: JavaCCXML パーサ: JAXP
2004/2/20 CS専攻修士論文発表会
19Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
事例研究
全ての項目を 1000 倍する 金融機関でしばしば行われる処理 既存の言語 ECMAScript ( JavaScript ) と比較
XML 解析には DOM を利用DOM を利用する言語で,手軽に扱える
ECMAScript 版のプログラムでも, XBRL 文書解析関数が利用できることを仮定
100万円単位で値が記述されたXBRL文書を, 1000円単位に直す事例
インスタンス文書の例<xbrli:group>
<jp-bs:Assets numericContext="c1">6000</jp-bs:Assets> <jp-bs:CurrentAssets numericContext="c1">5000</jp-bs:CurrentAssets> <jp-bs:FixedAssets numericContext="c1">1000</jp-bs:FixedAssets> <jp-bs:LiabilitiesStockholdersEquity numericContext="c1">6000 </jp-bs:LiabilitiesStockholdersEquity> <jp-bs:Liabilities numericContext="c1">2500</jp-bs:Liabilities> <jp-bs:Equity numericContext="c1">3500</jp-bs:Equity>
<xbrli:numericContext id="c1" precision="18" cwa="true"> … </xbrli:numericContext>
</xbrli:group>
2004/2/20 CS専攻修士論文発表会
21Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
有向グラフによる表現
Assets値: 6000
CurrentAssets値: 5000
FixedAssets値: 1000
group値:
numericContext値:
処理対象の項目要素
・・・・・・・
2004/2/20 CS専攻修士論文発表会
22Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
LMXによる記述balanceSheet = openInstance("A2003BS.xml");itemnodes = balanceSheet.children;
for (i=0; i<length(itemnodes); i++) { if (getItemElementType(itemnodes[i]) == MONETARY_TYPE) { itemnodes[i].value *= 1000; }}
save("output.xml");
ルート要素の子要素を取得
子要素の数だけ繰り返す
項目要素ならば,値の計算を行う
2004/2/20 CS専攻修士論文発表会
23Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
DOMによる表現
document
group
Assets
CurrentAssets
“6000”
“5000”
処理対象の値
FixedAssets “1000”
・・・・・・・
2004/2/20 CS専攻修士論文発表会
24Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
ECMAScript による記述objXML = WScript.CreateObject("MSXML.DOMDocument");objXML.load("A2003BS.xml");
groupnode = objXML.getElementsByTagName("xbrli:group");itemnodes = groupnode[0].childNodes;
for (i=0; i<itemnodes.length; i++) { if (itemnodes[i].nodeType == 1) { // Node.ELEMENT_NODE if (getItemElementType(itemnodes[i]) != MONETARY_ITEM_TYPE) { continue }
itemchildren = itemnodes[i].childNodes; for (j=0; j<itemchildren.length; j++) { if (itemchildren[j].nodeType == 3) { // Node.TEXT_NODE itemchildren[j].nodeValue *= 1000; break; } } }}
objXML.save("output.xml");
ルート要素の子要素を取得
要素ノードを探す
要素ノードの子ノードを取得
テキストノードを探す
値の計算
2004/2/20 CS専攻修士論文発表会
25Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
考察 for文, if文の数に大きな差が現れた DOMと有向グラフのモデルの差 DOMでは要素ノード,テキストノードが子ノードとして現れるノードの種類の判定作業が必要
LMXでは,この作業が必要ではないため,平易なプログラムを書くことができる
論文では, XSLTとの比較検討も行った その結果,多くの前提知識を必要とする XSLT よりも,言語習得にかかるコストが小さい
2004/2/20 CS専攻修士論文発表会
26Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
まとめと今後の課題 まとめ
XBRL文書を表現するための扱いやすいモデルを提案した
モデルに基づいた, XBRL文書変換を行うためのプログラミング言語 LMX を設計した
LMXのインタープリタを実装し, LMXを使うと,既存の処理系よりもプログラムが簡単になることを確かめた
今後の課題XBRL文書のデータ型を利用した,検証機能
top related