最も合理的な株価判断基準をPythonで計算してみた

2021年4月19日投資

普通の投資家なら個別銘柄に投資をする時,その銘柄が割高か割安かを判断した上で投資をしますし,そのステップを踏まないのは投資ではなく投機だと私は思っていて,投機は私の目指すものではありません.

株価が割安か割高かを判断する指標はたくさんありますが,この記事では安全域について書いてみます.

安全域とはなんぞや

安全域のコンセプトは将来の期待キャッシュフローから現在価値(NPV: Net Present Value)を計算し,それを現在の株価と比較する ¹ というもので,バフェットの投資ポリシーが「十分な安全域が確認できた時に投資をする」というのはバフェット派の投資家なら知っていると思います.
1 私が安全域を知ったのは初期に読んだ『賢明なる投資家』ですが,そこでは概念的な説明だけだったのでそれだけでは安全域を自分の投資にツールとして落とし込むことはできませんでした.その後,何冊かの本を読んで投資ツールとして使えるようになりました.

安全域はもちろん完璧ではありませんが,株価水準を評価するための指標では最も合理的なものだと私は思っていますし,もちろん自分が投資をする時は安全域を毎回計算するようにしています.

個人投資家が安全域を使う難しさ

安全域は合理的な指標ですが,個人投資家がこれを使うのには結構ハードルが高いです.
というのも,安全域の計算には過去の財務諸表から将来のEPSや配当を試算する必要があり,そのためには

  • B/S, P/L, C/Fの財務三表をフォーマット化し,NPVを算出するための指標を計算する
  • 計算期間,基準となる株価,割引率 etc.をパラメータとして入力する

必要があり,これをExcelでやろうとするとめちゃくちゃ手間です.

財務諸表の数字をExcelに打ち込むだけで数時間 ² かかりますし,パラメータの数も多いので条件を変えて安全域を計算するにはいくつも表が必要になり,投資を検討している銘柄全てにこの作業をしていたら膨大な時間がかかります.
私は兼業投資家なのでここまで投資に労力はかけられません,いや,仮に専業投資家だったとしてもこの作業はとてもやってられません.
2 銘柄によってはExcelで財務諸表をダウンロードできる銘柄もありますが,PDFの10Kから引っ張ってこないといけない銘柄も結構あります.また,Excelでダウンロードできてもフォーマットがバラバラなので,どうしても手作業が発生してしまうことが多いです.

解決法

それを解決してくれたのがPythonで,具体的には

  • 財務諸表をフォーマット化
  • NPV算出のための指標を計算
  • 入力されたパラメータに基づいて割引率ごとの安全域を計算
  • 過去の財務諸表から6シナリオを作成
  • 作成された表には入力したパラメータを明記

を自動化,多少の下準備は必要ですが一つの銘柄にかかる計算時間は約10分に激減し,これなら投資を考えている銘柄にもその都度安全域の計算をかけることができます.

上の表がアウトプットで,表のタイトルに入力したパラメータが書かれていて,過去の財務諸表から1)best 2)第三四分位 3)中央値 4)平均 5)第一四分位 6)worst の6ケースの安全域を計算しています.

ツールを使っての結論

このツールを作って色々な銘柄を様々な条件でシュミレーションしたのですが,bestケースなら安全域は確保されているものの,それ以外のケースでは安全域が確保できていないという銘柄が非常に多く,今はあまり投資に積極的に動く時期ではないというのが私の結論です.

ただ,中には割安と判断してもいいのではないかという銘柄も見つかったので,しがない一個人投資家の計算ですが,そうした銘柄に投資をしていきたいと思っています.

それでは,また.

Posted by Econ