見出し画像

pythonで「PBR算出ルーチン化」

1.はじめに

pythonで「PER算出ルーチン化」に引き続き、今回はPBR算出をpythonでルーチン化したいと思います。
前回、PERを算出した表に追記する形でPBRを算出します。
前回記事は下記となります。お読み頂けたら幸いです。

2.PBRとは


PBR 株価純資産倍率
計算式 株価 ÷ 一株当たり純資産(BPS) 単位:倍
企業の解散価値が株主資本に対して、何倍に株価が評価されているかを示します。一倍割れは割安であるとされます。

3.PER算出データ読込

前回算出を行ったPER算出データを読込みます。

import pandas as pd

# 1.データの読み込み
df = pd.read_excel("df_PER.xlsx")


PER算出データ

4.B/Sデータの読込、内容の確認


前回と同じく、上場企業の最新決算・財務データをダウンロードできるIR BANKから、B/S:貸借対照表をCSVデータにてダウンロードし読込みます。

# B/Sデータの読み込み
BPS = pd.read_csv("fy-balance-sheet.csv",skiprows=1)



読込んだB/Sデータ

読込んだB/Sデータに、ズバリ一株当たり純資産:BPSが記載されています。

5.PBR算出


読込んだPER算出にB/Sデータを結合させるための、下準備を行います。
B/Sデータのコードを、結合させるキーワード“銘柄コード”+”.jp”とし揃えます。

BPS["コード"] = BPS["コード"].astype(str) + ".jp"


銘柄コード+.jpへ

“銘柄コード”+”.jp”とコードの値が置換されました。
2つのデータを結合します。

# dfとBPS_filteredを結合してPBRを作成
PBR = pd.merge(df, BPS)


dfとBPS_filtered結合

続いてPBR算出を行います。

PBR["BPS"] = PBR["BPS"].astype(float)

# PBR算出
PBR["PBR"] = PBR["平均終値株価"] / PBR["BPS"]
PBR = PBR.sort_values(by=["PER"], ascending=True)

「PBR」データフレームの「BPS」という列のデータ型をfloat型に変換し、平均終値株価をBPSで割ってPBRを計算し、PBR.sort_valuesでPER 株価収益率の値が小さい順に並び替えを行いました。


PERが割安順のPBR算出

ちなみに、割安となる1倍割れの銘柄は15銘柄とそんなに多くはありませんでした。

6.おわりに


前回に続くPER・PBR算出で、銘柄コード 7744 ノーリツ鋼機の値が際立っています。
今後の修行は、この企業の個別分析「ROIC」ルーチン化を企んでみたり…書籍の写経でテクニカル分析にも取り組んでいるので、そちらとファンダメンタル分析を組み合わせた、実際の売買などにも幅を広げていこうと思います。

この記事が気に入ったらサポートをしてみませんか?