Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

東証一部の規模別・業種別PERとPBRのデータの分析11 - 2013年、2014年と比べるとROEは高くなったがPERは低下している。

 

www.crosshyou.info

 の続きです。

まず、ls()関数で変数として今までどんな変数を作成してきたかを確認します。

f:id:cross_hyou:20190521204200j:plain

dfで始まっているのはデータフレームですね。dfからdf8まで9種類あります。

初心に帰ってdf関数がどんなものか、見てみましょう。head関数で始めの数行を表示します。

f:id:cross_hyou:20190521204624j:plain

Income1が一社当たりの純利益、NetAsset1が一社当たりの純資産です。

Typeの列が規模別・業種別で何を示しているかを表しているのですが、Largeの一社当たりの純利益は945、Smallは16ぐらいと60倍ぐらいの格差があります。これでは東証一部はプレミアム感が無いから再編しよう、という意見が出るのも納得ですね。

試しにIncome1のヒストグラムを描いてみます。hist関数です。

f:id:cross_hyou:20190521205319j:plain

0から250ぐらいでしょうか?そこに分布が集中していますね。

logを取ってからヒストグラムを書いてみましょう。でも、マイナスの値があるからこれを0にする処理をしてからlogを取ってヒストグラムにしてみます。

f:id:cross_hyou:20190521205800j:plain

f:id:cross_hyou:20190521205911j:plain

分布が右に偏っただけで、あんまり分布状況を観察しやすくはなっていないですね。

こんどはTypeをTotalだけに絞り込んで分析しましょう。subset関数を使いました。

f:id:cross_hyou:20190521210311j:plain

PERの時系列の変化を見てみます。plot関数を使います。

f:id:cross_hyou:20190521210645j:plain

f:id:cross_hyou:20190521210659j:plain

plot(df_Total$Time, df_Total$PER)と2回、df_Totalと打ち込むのは面倒だったので、with関数を使いました。

PERは低下傾向ですね。

PBRもグラフにしてみます。

f:id:cross_hyou:20190521211256j:plain

f:id:cross_hyou:20190521211307j:plain

こんどは、with関数のかわりにattach関数を使ってdf_Totalをデフォルトのデータフレームに指定してからplot関数を使いました。detach(df_Total)とするまではdf_Totalがデフォルトのデータフレームになります。PBRはPERほどは低下傾向は示していないようです。

PERとIncome1の散布図を見てみましょう。

f:id:cross_hyou:20190521212009j:plain

f:id:cross_hyou:20190521212019j:plain

同じ色は同じ年を表しています。純利益が大きくなるとPERが低下しています。株価がほぼ変わらずに純利益だけ増えているのでPERが下がっている、ということですね。

PERとNetAsset1はどうでしょうか?

f:id:cross_hyou:20190521212429j:plain

f:id:cross_hyou:20190521212441j:plain

これもIncome1と同じようなグラフですね。

Income1とNetAsset1の散布図を見てみます。

f:id:cross_hyou:20190521212720j:plain

f:id:cross_hyou:20190521212731j:plain

強い正の相関がありますね。Income1をNetAsset1で割ったROEを計算してみます。

f:id:cross_hyou:20190521212951j:plain

ROEの時系列を見てみます。

f:id:cross_hyou:20190521213154j:plain

f:id:cross_hyou:20190521213204j:plain

ROEは上昇トレンドです。

ROEとPERの散布図を見てみます。

f:id:cross_hyou:20190521213608j:plain

f:id:cross_hyou:20190521213637j:plain


ROEが高いほどPERが低いですね。

こうしてみると、PERの低下はファンダメンタル云々というより、2013年、2014年の高いPERのが低下してきて、外国のPERと同じぐらいになった、というように思われます。今回は以上です。

 

 

今回のR言語のコードです。

# 変数何があるか確認
ls()

# dfの確認
head(df)

# Income1のヒストグラム
hist(df$Income1)

# Income1の対数変換後のヒストグラム
hist(log(df$Income1 - min(df$Income1)))

# TypeがTotalだけにする
df_Total <- subset(df, subset = (Type == "Total") )
head(df_Total)

# PERの時系列の変化
with(df_Total, plot(Time, PER) )

# PBRの時系列変化
attach(df_Total)
plot(Time, PBR)

# PERとIncome1の散布図
plot(Income1, PER, pch = 21, bg=as.numeric(as.factor(Year)))

# PERとNetAsset1の散布図
plot(NetAsset1, PER, pch = 21, bg = as.numeric(as.factor(Year)))

# Income1とNetAsset1の散布図
plot(Income1, NetAsset1, pch = 21, bg = as.numeric(as.factor(Year)))

# ROEの計算
detach(df_Total)
df_Total$ROE <- df_Total$Income1 / df_Total$NetAsset1

# ROEの時系列
attach(df_Total)
plot(Time, ROE)

# ROEとPERの散布図
plot(ROE, PER, pch = 21, bg = as.numeric(as.factor(Year)))

detach(df_Total)