【データ分析】米国自動車株の解析をしてみる

こんにちは。
林@[アイエンター](http://www.i-enter.co.jp)です。

前回の[ブログ](http://qiita.com/m-hayashi/items/ee379c86e3e18f0ddc6d)では、Pythonのデータ解析ライブラリの「[scikit-learn](http://scikit-learn.org/stable/)」での回帰分析をご紹介しました。

その際に、[Anaconda](https://www.continuum.io/downloads)というPythonパッケージをインストールしたわけですが、
今回はその中の[Pandas](http://pandas.pydata.org)や、データ可視化用に[Seaborn](https://stanford.edu/~mwaskom/software/seaborn/)を導入し、米国自動車株の解析を行ってみます。
# 株価データの読み込み
まずは、jupyter notebookで解析をしていく際の基本ライブラリをインポートします。
![shot1.png](https://qiita-image-store.s3.amazonaws.com/0/134453/86a52925-0e43-c3e3-7208-9488a7e6d084.png)

時間を扱うため、datetimeモジュールと、外部からのデータ読み込みのため
DataReaderを使用できるように準備します。
![shot2.png](https://qiita-image-store.s3.amazonaws.com/0/134453/91cdeb1e-53d5-794f-c402-2835848eba55.png)

たとえば、「[ゼネラルモーターズ](https://ja.wikipedia.org/wiki/ゼネラルモーターズ)」の過去１年分のデータをYahooサイトから読み込む処理を書いてみます。
ちなみに、ゼネラルモーターズの銘柄コードは「GM」になります。
![shot3.png](https://qiita-image-store.s3.amazonaws.com/0/134453/b8383f11-3e0b-1c07-4063-af815f83e943.png)

では、データの上位5件を表示してみましょう。
![shot4_.png](https://qiita-image-store.s3.amazonaws.com/0/134453/8e7ddb21-6b43-375c-ebfc-71ef49925e8e.png)

カラムのそれぞれの意味は以下のとおりです。

- Open：始値
- High：高値
- Low：安値
- Close：終値
- Volume：出来高（1日に取引が成立した株の数）
- Adj Close：調整後終値（[調整後終値とは](http://www.yahoo-help.jp/app/answers/detail/p/546/a_id/45316/~/調整後終値とは)）

# 株価データの推移の可視化

終値の推移をグラフで確認してみます。
終値は「Adj Close」の調整後の終値の方を用います。
![shot5_.png](https://qiita-image-store.s3.amazonaws.com/0/134453/d747060e-bd26-f0b0-73ca-af8cbb420e9f.png)

株価の投資リスクの指標として、日ごとの変動推移がポイントとなります。
例えばSeriesのpct_change関数を用いると変動推移が計算できます。
![shot6.png](https://qiita-image-store.s3.amazonaws.com/0/134453/a561cde0-b9ee-273c-e02b-dea70d08b622.png)

# 企業間の株価相関比較
さきほどは、ゼネラルモーターズの株価にフォーカスして解析を行いました。
次は同業企業間での株価の相関を見ていきます。

相関を可視化するために「[Seaborn](https://stanford.edu/~mwaskom/software/seaborn/)」を導入します。
コマンドラインでは以下のコマンド入力でインストール可能です。
`pip install seaborn`

モジュールのインポートを行います。
![shot7.png](https://qiita-image-store.s3.amazonaws.com/0/134453/a149b468-dc1a-83d3-5bdb-6ae36318f805.png)

今回、自動車メーカーとして以下の5社の相関を見ていきます。

- ゼネラルモーターズ（銘柄コード「GM」）
- フォードモーター（銘柄コード「F」）
- トヨタ（銘柄コード「TM」）
- ホンダ（銘柄コード「HMC」）
- テスラモーターズ（銘柄コード「TSLA」）

上記5社の終値のデータを取得します。
![shot8.png](https://qiita-image-store.s3.amazonaws.com/0/134453/82e7065f-29e5-25d9-05b7-74ca2cf75e44.png)

これらの企業の終値のデータで、日ごとの変動推移のデータを計算します。
![shot9_.png](https://qiita-image-store.s3.amazonaws.com/0/134453/0a6c6c59-8d1e-fcde-3655-01bbbf744d8b.png)

試しにプロットしてみます。
![shot10.png](https://qiita-image-store.s3.amazonaws.com/0/134453/f0cbc9b7-4919-f6d4-5a33-b4d8069d8595.png)

ちょっと関係性が良く分からないですよね。。。

ここでSeabornのpairplot関数を用いて可視化してみます。
![shot11.png](https://qiita-image-store.s3.amazonaws.com/0/134453/f93bef3e-511a-570a-2d59-8b9657a045fe.png)

グラフでの相関の高さについては、直線上に点が密集している程、相関が高いと
イメージしてもらえればと思います。
（参考：[相関係数](https://ja.wikipedia.org/wiki/相関係数)）

そのような観点で見ると、
「GM（ゼネラルモーターズ）」と「F（フォードモーター）」の米国企業ペア、
「TM（トヨタ）」と「HMC（ホンダ）」の日本国企業ペアが
相関が比較的高いことがイメージできるかと思います。

また、逆に「TSLA（テスラモーターズ）」のような後発の電気自動車企業は
他企業と相関は薄いこともイメージできるかと思います。

さらに、相関が分かりやすくSeabornのheatmapを使ってみます。
![shot12.png](https://qiita-image-store.s3.amazonaws.com/0/134453/d3bfddbe-5fdb-cf22-2b01-95713ecc4025.png)
各企業間のデータの相関係数値を色の濃さで表現してます。
より視覚的に分かりやすい形になりました。


今回のお話はここまで！