![見出し画像](https://assets.st-note.com/production/uploads/images/45410065/rectangle_large_type_2_1ba35c47a995e708a549520fe14dcf82.jpg?width=1200)
pythonで株価分析⑧【単回帰分析を使って、明日の日経平均株価を予測する】
皆様、こんにちは。
今回は、大人気シリーズ「pythonで株価分析してみた」の第9弾です❕
本記事では、統計学に置いて解析の基礎となる単回帰分析を使用し、日経平均株価を予測していきます。('ω')ノ
今回も、コピペで行ける様、しっかりとpythonコードの解説をしていきますので、グーグルコラボのご準備をお願い致します。
では、早速行ってみましょう!(^^)!
❶単回帰分析とは❓
単回帰分析とは、端的に申し上げると『現在手元にあるデータを活用し、将来起こりうる結果を予測する』ということです。
考え方はとても単純で、中学1年生で学ぶ数学でOKです。
単回帰式: y = ax + b
これだけです。(*^-^*)
yが将来起こりうる結果(予測値)。統計学上、目的となる数値(算出したい数値)ですので、目的変数と言います。
xが現在手元にあるデータ。統計学上、予測値(y)を算出するための、元となる数値ですので、説明変数(目的変数を説明するための数値)と言います。
今回は、【x=ダウ平均株価】を使って、【y=日経平均株価】を算出していきます(^_-)-☆
単回帰分析(単回帰式)グラフのイメージは下記の通りです。👇
![画像1](https://assets.st-note.com/production/uploads/images/45410107/picture_pc_0c1c527e177af64dc017a27a896a92d7.jpg?width=1200)
https://qiita.com/y_itoh/items/1584ebae325927b3684b
画像は、データサイエンティスト/データアナリストである、yumi ito@y_itoh様のQiitaより。
yumi ito@y_itoh様はこの他にも、丁寧な数式やグラフを駆使して、統計学の分析手法を分かり易くご説明なさっていますので、興味をお持ちの方はリンクからどうぞ。(^_-)-☆
大変参考になりますよ🙉
❷日経平均株価をダウ平均株価で算出(説明する)
相場の格言では、『アメリカがくしゃみをすると、日本は風邪を引く。』と言われたりします。これは、日本が先進国として常にアメリカに追いつけ。追い越せ。としてきた戦後以降変わりません。
その為、今回はダウ平均株価を説明変数として、目的変数である日経平均株価を算出していきます。(・ω・)ノ
では、コードです👇
はい!ドン❕
まずは必要なモジュールをインストール。
#@title 単回帰分析❶【a:X軸の株価 b:Y軸の株価 c:回帰係数 d:切片】
from sklearn import linear_model
import statsmodels.api as smf
import numpy as np
import pandas as pd
import datetime
import pandas_datareader.data as web
import fix_yahoo_finance as yf
import matplotlib.pyplot as plt
%matplotlib inline
import warnings
import seaborn as sns
warnings.filterwarnings('ignore')
次に、x:現在手元にあるデータ。を指定します。👇
#スタート日を決める
start = "2019-1-1" #@param {type:"string"}
end = datetime.date.today()
#銘柄コード
code1 = "DJIA" #@param ["AAPL"] {allow-input: true}
code2 = "NIKKEI225" #@param ["AMD"] {allow-input: true}
codelist = [code1,code2]
#終値取得(data2に終値を取り込み)※欠損値除外
data2 = web.DataReader(codelist, "fred", start, end).dropna()
print(data2.head().append(data2.tail()))
data2.describe()
ここまでの結果です。👇
![画像2](https://assets.st-note.com/production/uploads/images/45410165/picture_pc_329a669fda1225d1bf9a846537aa6370.jpg?width=1200)
ここから先は
¥ 100
e^iπ + 1 = 0