の続きです。
株価のデータを前回作成したデータフレームにくっつけようと思います。
1994年から2018年末までの株価のデータを探したら、日本取引所グループのウェブサイトに株価の長期時系列のファイルがありました。
こういうファイルです。年初値、年末値、最低値、最高値があるのでこの4つの平均値をその年の平均値にしてしまいましょう。
こんなふうに加工したCSVファイルをR言語のread.csv関数で読み込ませます。
GDPのデータフレームにもこの株価のデータフレームにもTimeという名前の変数があり、これが共通です。このTime変数を基準にして、merge関数で二つのデータフレームを統合します。
できました。
plot関数でGDPとKabukaの相関を見てみましょう。
均等に散らばっている感じですが、cor.test関数で相関関係を調べてみましょう。
相関係数は0.503958でp-valueが9.033e-08ですから正の相関関係で有意ですね。
lm関数で線形単回帰分析をしてみます。
p-valueは9.033e-08なので有意なモデルです。切片、GDPの係数ともにp値は0.05以下なので有意です。R-squareは0.254です。このモデルでは、株価をGDPで25%ぐらい説明できるということですかね。
回帰直線を散布図に重ねてみます。
残差プロットも描きます
横軸をTimeにして推移を描いてみましょう。
GDPはギザギザですね。Kabukaは4つ同じ値が続くので値動きがなめらかというか実際の株価の値動きよりもおだやかです。
今回は以上です。
株価の四半期のデータをどこかからとってきたいですね。
次回は
です。
今回のR言語のコードです。
# 株価のCSVファイルの読込み
kabuka <- read.csv("kabuka.csv")
str(kabuka)
# dfとkabukaをTime列で統合
data <- merge(df, kabuka, by = "Time")
head(data)
# GDPとKabukaの散布図
with(data,
plot(GDP, Kabuka)
)
# GDPと株価の相関関係
cor.test(data$GDP, data$Kabuka)
# 株価 = a + b * GDP のモデル
model1 <- lm(Kabuka ~ GDP, data = data)
summary(model1)
# 回帰直線を散布図に重ねる
plot(data$GDP, data$Kabuka, pch = 21, bg = "red")
abline(model1, col = "blue")
# 残差プロット
plot(model1, which = 1)
# 横軸をTimeにしてGDPと株価の推移
par(mfrow = c(2, 1))
plot(data$Time, data$GDP, type = "l", col = "blue")
plot(data$Time, data$Kabuka, type = "l", col = "red")