残余利益とお友達になりたい
株式価値評価における3つのアプローチ
残余利益がしっくりこないので、かなりざっくりですが手を動かして追ってみたいと思います。具体的には、企業の財務諸表を拾ってきて実際に計算してみるだけです。財務諸表は大変ありがたいことに伊藤忠商事株式会社*1が時系列データをエクセルで公開してくれてますのでそちらを使いました。
残余利益モデル*2
株式の価値が、現在の自己資本額と将来期間の利益の現在価値を合計したものになるという考え方です。以下のように表されます。
]
当期純利益がすべて配当に回すとき、以下のようになります。
実装
それではあくまでざっくりですが計算してみます。基本的には、前節の式を反映させるだけですが自己資本コストだけは、前節で引用した文献にある例で使われていた値を流用します。したがって、関係ない他企業の自己資本コストを使っていることになるので、推定結果自体は無意味です。ご注意ください。
import pandas as pd import numpy as np df_BS = pd.read_excel('財務諸表エクセルファイルのパス').fillna(0) df_PL = pd.read_excel('財務諸表エクセルファイルのパス').fillna(0) #変数を定義 nv = df_BS['株主資本合計'] op = df_BS['その他の資本の構成要素合計'] C_0 = nv + op A = df_PL['当社株主に帰属する当期純利益'] r_e = 0.0877 V = C_0 + (A- r_e * C_0) / r_e df_rslt = pd.DataFrame(V.values,columns=['V'], \ index=['2020',\ '2019',\ '2018',\ '2017',\ '2016',\ '2015',\ '2014',\ '2013',\ '2012']) # 財務諸表の単位が百万円なので戻す df_rslt['V'] = df_rslt['V']*1000000 # 2012-2020の発行済総株式数を有価証券報告書から取ってくる,千株単位なので戻す df_rslt['shareNum'] = [1584889, \ 1584889, \ 1584889, \ 1662889, \ 1662889, \ 1662889, \ 1584889, \ 1584889, \ 1584889] df_rslt['shareNum'] = 1000*df_rslt['shareNum'] #一株当たりの株式価値 df_rslt['stockValue'] = df_rslt['V'] / df_rslt['shareNum'] df_rslt.to_excel('保存先のパス')