お金は友達

お金が大好きなblog主(ぷぅ@お金大好き)がお金に関して想うことを綴るブログです。

【GNI】業績の軌跡【可視化】

2020/07/26

四半期毎データに発行済株式数及び四半期足チャートを追加しました。

2020/07/16

年毎データに2020年予想値、2021、2022年目標値を追加しました。

2020/07/15

対売上収益率のデータ、第2軸の目盛処理を追加しました。

2020/07/05

四半期毎データにも要素選択グラフを追加しました。

2020/07/04

自由に要素(14種類)を描画できるグラフを追加しました。

2020/07/03

負の数字のあるデータ(利益関係)を追加しました。(見にくい?)

縦軸の目盛りの0点調整処理を追加しました。

2020/07/01

年毎のグラフを追加しました。

グラフにツールチップを設定しました。

2020/06/29

各種費用のグラフを追加しました。

こんにちは、なんとなく健康の為(ポイントの為)に日々、歩き続けているぷぅです。

今回、Vue.jsとSVGを利用して、GNIの業績変化を可視化する事に挑戦しました。

※現在、IEでは動作しません。

ほぼ丸1日これに費やしてしまった。

データ基は、IFRSに対応した2016年12月期以降の決算短信です。

前年のデータも記載されていることから2015年以降について描画してます。

現在、売上収益と売上総利益率のグラフだけ描画していますが、今後他のグラフも追加していきたいと思います。

※各種費用のグラフを追加しています。

グラフ下のスライダーをいじると、グラフの描画範囲を変更し、それに合わせて少し、縦軸の目盛りも変わったりします。

よかったらグラフぐりぐりしながら眺めてください。

年毎の業績変化

2020年予想値、2021年目標値、2022年目標値は以下の条件に基づいて算出しています。

  • 2020年売上収益、営業利益、税引き前利益、当期利益、親会社…利益は決算短信に記載された予想値です。
  • 2021年、2022年の売上総利益は、ストックオプションの行使条件です。
  • 売上総利益率は2017~2019年平均の0.848で2022年まで一定としています。
  • 2020年営業利益、税引き前利益、当期利益、親会社…利益の対売上収益比率は、上記で求めた売上及び、2020年の予想値から算出しています。
  • 2021,2022年営業利益、税引き前利益、当期利益、親会社…利益の対売上収益比率は、2017~2020年の対売上収益比率から最小二乗法で求まった一次関数に当てはめて算出しています。
  • 2021,2022年営業利益、税引き前利益、当期利益、親会社…利益は、売上及び対売上収益比率から算出しています。
  • 2020~2022年の各種費用の対売上収益比率は、2017~2019年の対売上収益比率から最小二乗法で求まった一次関数に当てはめて算出しています。
  • 2020~2022年の各種費用は、売上及び対売上収益比率から算出しています。
  • 2020年~2022年の医療機器売上は、2018年、2019年の平均値で一定としています。
  • 2020年~2022年の医療機器利益は、2019年の値で一定としています。
  • 2020年~2022年の医薬品売上は、売上収益から医療機器売上を引いた値としています。
  • 2020年~2022年の医薬品利益は、営業利益から医療機器利益を引いた値としています。
  • 2020年~2022年の医薬品売上、医薬品利益、医療機器売上、医療機器利益の対売収益比率は、算出された各値を予想される売上収益で割った値としています。

仮定を変えると数字が大きく変わることもあるので、その点に留意してください。

ストックオプションについては以下の記事に記載しています。

rpuu.hateblo.jp

売上収益、各種利益及び売上総利益

棒グラフが順に売上収益、営業利益、税引前利益、親会社の所有者に帰属する当期利益、折れ線グラフは、対売上収益率です。

{{ data.q }} {{0 - zero_level[2]*maxy[2]*0.2}} {{maxy[2]*0.2 - zero_level[2]*maxy[2]*0.2}} {{maxy[2]*0.4 - zero_level[2]*maxy[2]*0.2}} {{maxy[2]*0.6 - zero_level[2]*maxy[2]*0.2}} {{maxy[2]*0.8 - zero_level[2]*maxy[2]*0.2}} {{maxy[2] - zero_level[2]*maxy[2]*0.2}} (億円) {{0 - zero_level[6 + 2]*maxy[6 + 2]*0.2}} {{maxy[6+2]*0.2 - zero_level[6+2]*maxy[6+2]*0.2}} {{maxy[6+2]*0.4 - zero_level[6+2]*maxy[6+2]*0.2}} {{maxy[6+2]*0.6 - zero_level[6+2]*maxy[6+2]*0.2}} {{maxy[6+2]*0.8 - zero_level[6+2]*maxy[6+2]*0.2}} {{maxy[6+2] - zero_level[6+2]*maxy[6+2]*0.2}} (%)

主な費用

順に販管費、人件費、研究開発費の推移グラフです。

折れ線グラフは、対売上収益率です。

{{ data.q }} {{0}} {{maxy[3]*0.2}} {{maxy[3]*0.4}} {{maxy[3]*0.6}} {{maxy[3]*0.8}} {{maxy[3]}} (億円) {{0 - zero_level[6 + 3]*maxy[6 + 3]*0.2}} {{maxy[6+3]*0.2 - zero_level[6+3]*maxy[6+3]*0.2}} {{maxy[6+3]*0.4 - zero_level[6+3]*maxy[6+3]*0.2}} {{maxy[6+3]*0.6 - zero_level[6+3]*maxy[6+3]*0.2}} {{maxy[6+3]*0.8 - zero_level[6+3]*maxy[6+3]*0.2}} {{maxy[6+3] - zero_level[6+3]*maxy[6+3]*0.2}} (%)

描画要素選択用グラフ

14項目について、選択した要素について棒グラフを描画できます。

↓をクリックして要素を選択してください。4行目以降は対売上収益率の折れ線グラフです。

          
                
 
対売上収益率
 
{{ data.q }} {{0 - zero_level[4]*maxy[4]*0.2}} {{maxy[4]*0.2 - zero_level[4]*maxy[4]*0.2}} {{maxy[4]*0.4 - zero_level[4]*maxy[4]*0.2}} {{maxy[4]*0.6 - zero_level[4]*maxy[4]*0.2}} {{maxy[4]*0.8 - zero_level[4]*maxy[4]*0.2}} {{maxy[4] - zero_level[4]*maxy[4]*0.2}} (億円) {{0 - zero_level[6 + 4]*maxy[6 + 4]*0.2}} {{maxy[6+4]*0.2 - zero_level[6+4]*maxy[6+4]*0.2}} {{maxy[6+4]*0.4 - zero_level[6+4]*maxy[6+4]*0.2}} {{maxy[6+4]*0.6 - zero_level[6+4]*maxy[6+4]*0.2}} {{maxy[6+4]*0.8 - zero_level[6+4]*maxy[6+4]*0.2}} {{maxy[6+4] - zero_level[6+4]*maxy[6+4]*0.2 + x0 - x0}} (%)

四半期毎の業績変化

売上収益、各種利益及び売上総利益

棒グラフが順に売上収益、営業利益、税引前利益、親会社の所有者に帰属する四半期利益、折れ線グラフは、対売上収益率です。

{{ data.q }} {{0 - zero_level[0]*maxy[0]*0.2}} {{maxy[0]*0.2 - zero_level[0]*maxy[0]*0.2}} {{maxy[0]*0.4 - zero_level[0]*maxy[0]*0.2}} {{maxy[0]*0.6 - zero_level[0]*maxy[0]*0.2}} {{maxy[0]*0.8 - zero_level[0]*maxy[0]*0.2}} {{maxy[0] - zero_level[0]*maxy[0]*0.2}} (億円) {{0 - zero_level[6 + 0]*maxy[6 + 0]*0.2}} {{maxy[6+0]*0.2 - zero_level[6+0]*maxy[6+0]*0.2}} {{maxy[6+0]*0.4 - zero_level[6+0]*maxy[6+0]*0.2}} {{maxy[6+0]*0.6 - zero_level[6+0]*maxy[6+0]*0.2}} {{maxy[6+0]*0.8 - zero_level[6+0]*maxy[6+0]*0.2}} {{maxy[6+0] - zero_level[6+0]*maxy[6+0]*0.2}} (%)

主な費用

順に販管費、人件費、研究開発費の推移グラフです。

折れ線グラフは、対売上収益率です。

{{ data.q }} {{0}} {{maxy[1]*0.2}} {{maxy[1]*0.4}} {{maxy[1]*0.6}} {{maxy[1]*0.8}} {{maxy[1]}} (億円) {{0 - zero_level[6 + 1]*maxy[6 + 1]*0.2}} {{maxy[6+1]*0.2 - zero_level[6+1]*maxy[6+1]*0.2}} {{maxy[6+1]*0.4 - zero_level[6+1]*maxy[6+1]*0.2}} {{maxy[6+1]*0.6 - zero_level[6+1]*maxy[6+1]*0.2}} {{maxy[6+1]*0.8 - zero_level[6+1]*maxy[6+1]*0.2}} {{maxy[6+1] - zero_level[6+1]*maxy[6+1]*0.2}} (%)

描画要素選択用グラフ

14項目について、選択した要素について棒グラフを描画できます。

↓をクリックして要素を選択してください。4行目以降は対売上収益率の折れ線グラフです。

第3軸(左側の内側目盛)に対応した発行済株式数、四半期足チャートを追加しています。

          
                
 
対売上収益率
 
第3軸  
{{ data.q }} {{0 - zero_level[5]*maxy[5]*0.2}} {{maxy[5]*0.2 - zero_level[5]*maxy[5]*0.2}} {{maxy[5]*0.4 - zero_level[5]*maxy[5]*0.2}} {{maxy[5]*0.6 - zero_level[5]*maxy[5]*0.2}} {{maxy[5]*0.8 - zero_level[5]*maxy[5]*0.2}} {{maxy[5] - zero_level[5]*maxy[5]*0.2}} (億円) {{0 - zero_level[12]*maxy[12]*0.2}} {{maxy[12]*0.2 - zero_level[12]*maxy[12]*0.2}} {{maxy[12]*0.4 - zero_level[12]*maxy[12]*0.2}} {{maxy[12]*0.6 - zero_level[12]*maxy[12]*0.2}} {{maxy[12]*0.8 - zero_level[12]*maxy[12]*0.2}} {{maxy[12] - zero_level[12]*maxy[12]*0.2}} (///) {{0 - zero_level[6 + 5]*maxy[6 + 5]*0.2}} {{maxy[6+5]*0.2 - zero_level[6+5]*maxy[6+5]*0.2}} {{maxy[6+5]*0.4 - zero_level[6+5]*maxy[6+5]*0.2}} {{maxy[6+5]*0.6 - zero_level[6+5]*maxy[6+5]*0.2}} {{maxy[6+5]*0.8 - zero_level[6+5]*maxy[6+5]*0.2}} {{maxy[6+5] - zero_level[6+5]*maxy[6+5]*0.2 + x0 - x0}} (%)

今後の改修予定

  • 負の数字があるデータ(利益関係)の追加(縦軸の調整処理) 7/3済
  • セグメントデータの追加   7/4済
  • ボタンによるグラフ要素の表示・非表示設定の追加 7/4済
  • 四半期データに自由描画グラフ追加 7/5済
  • %データの追加(~率)、第2軸の目盛り処理の追加 7/15済
  • 株価データ(月足くらい?要検討)の追加 7/26一部追加
  • 時価総額、PER等の株価に関係するグラフの追加
  • 他の銘柄のグラフの作成

まとめ

Vue.jsを利用して、GNIの業績変化を可視化しました。

とりあえず、試験的に、四半期毎の売上収益と売上総利益率を描画しました。

今回の為に手元にデータベースを作成して、色々な数字を入力しているので、今後他のグラフの追加や、いい感じのレイアウトにできるように更新していきたいと思います。

※4半期毎のデータは、決算短信の数字から独自に計算した値です。誤りが含まれる可能性があるので利用にはご注意下さい。

その他のGNI関連の記事は↓

rpuu.hateblo.jp

 

バイオは現物、株式投資は自己責任で。

ではでは、皆さんがよい投資生活を送れますように。

読者登録してもらうと更新の励みになりますのでよろしくお願いします。