#Plotlyで貸借対照表(BS)を描画する
先日某オンラインウェビナーでplotlyのハンズオンに参加して、Plotlyを使ったデータビジュアライゼーションの創作意欲が高まってきたので、練習がてら、以下のブログの記事を参考に、企業決算の貸借対照表(BS、いわゆるBalanceSheet)をplotlyでグラフ描画してみた。
Stacked and Grouped Bar Charts Using Plotly (Python)
https://dev.to/fronkan/stacked-and-grouped-bar-charts-using-plotly-python-a4p
※スウェーデン在住のフレデリク・ベングトソンさんのブログ記事
企業決算のBSは、右側にある借方の純資産と負債は「Stacked Bar chart(積み上げ棒グラフ)」の要素を持っていて、また左側の貸方の総資産と右側の借方の部分がくっついていて「Grouped bar chart」の要素も持っていて、いわばStacked-BarとGrouped-barの両方を組み合わせた複合的な「Stacked and Grouped Bar chart」といったグラフを描画するイメージになるのだが、これをPlotlyでどのように指定して描画するのか?というのが今回のイシュー。
#script
from plotly import graph_objects as go
#朝日新聞社のBSの数値をサンプルのデータとして利用
# (子会社の朝日放送HDもしくはテレビ朝日HDが適時開示に「親会社の決算」を発表している)
data = {
"総資産":[ 594628,605226,611502 ,607605 ,614114 ,599162,554408],
"負債": [256320,288806, 278072,234054,231745,223782,217897],
"純資産": [338307,316419,333429 ,373551 ,382368 ,375380,336511],
"labels": [
"2015/03本",
"2016/03本",
"2017/03本",
"2018/03本",
"2019/03本",
"2020/03本",
"2020/09中"
]
}
# グラフ描画
fig1 = go.Figure(
# データの指定
data=[
go.Bar(
name="総資産",
x=data["labels"],
y=data["総資産"],
offsetgroup=0,
),
go.Bar(
name="負債",
x=data["labels"],
y=data["負債"],
offsetgroup=1,
base=data["純資産"],
),
go.Bar(
name="純資産",
x=data["labels"],
y=data["純資産"],
offsetgroup=1,
)
],
# レイアウトの指定
layout=go.Layout(
title="朝日新聞社_貸借対照表(BS)",
xaxis_title="決算期",
yaxis_title="JPY(単位:百万円)"
)
)
fig1.show()
上記のスクリプトでは、 go.Figure()
のDataの指定の箇所で、go.Bar()
を3つ、総資産と負債と純資産の3種類の棒グラフを指定するのだが、ポイントはこの時に、offsetgroup
句で右側借方と左側貸方の2グループに分類する記述をする点である。
つまり左側の総資産は単一でグルーピングするoffsetgroup=0
とし、また右側の負債と純資産の借方を1つのグループoffsetgroup=1
と記述する。
あとはoffsetgroup=1の右側(借方)の負債Barの記述だが、純資産Barの上に負債Barを積み上げるイメージでグラフを描画するので、負債のgo.Bar()
の箇所で、base=data["純資産"]
というように、どのデータの上に載せるのかという記述すればよろしい。
#描画結果
※上図は、Google Colaboratory上でplotlyでグラフ描画した結果
2020/9月時点で、総資産を500億円も減らしているようだ...
(とは言っても、総資産5500億円の巨大企業...優良有価証券ないし優良不動産物件を数多く保有していて、リストラする原資は過分にあるものと思われ)
#補足
今回サンプルにした朝日新聞社(未上場)の決算だが、朝日新聞社は金融庁のEDINETに有価証券報告書を毎年提出しており、また朝日新聞社の子会社、朝日放送ホールディングス(SIC:9405)もしくは、テレビ朝日ホールディングス(SIC:9409)が、「親会社の決算の状況」をJPX適時開示情報に本決算(3月決算)と中間決算(9月決算)の概況を開示しているので、その開示資料等から朝日新聞社の決算の数値は取得可能である。
参考URL:
・IRbank(朝日放送HD):https://irbank.net/E04380/tdnet
・IRbank(テレビ朝日HD):https://irbank.net/E04414/tdnet