pandas-datareaderで株価を取得する

概要

pandas-datareaderを使うと、Web上の様々なソースに簡単にアクセスでき、データを取得できる。 ということでやってみました。
環境設定については以下を参考に。

kinoue3.hatenablog.com

*ちなみに全部で30行程度のコードで相関分析まで、できます。

コード

Yahoo! Financeで今日から1年前までのアップル(AAPL)、ソニー(SNE)、Google(GOOG)の株価情報を取得してみる。

import pandas as pd
from pandas import Series, DataFrame
import pandas_datareader.data as web
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline    

stock_list = ['AAPL', 'GOOG', 'SNE']
end = datetime.now()
start = datetime(end.year - 1, end.month, end.day)    

for stock in stock_list:
  globals()[stock] = web.DataReader(stock, 'yahoo', start, end)    

googleの株価をグラフにしてみる

GOOG['Open'].plot(figsize=(10,4))    

f:id:kinoue3:20160919225607p:plain

ピアソンの相関係数を出してみる。

close_df = web.DataReader(['AAPL', 'GOOG', 'SNE'], 'yahoo', start, end)['Adj Close']
tech_rets = close_df.pct_change()
sns.jointplot('GOOG', 'SNE', tech_rets, kind = 'scatter', color = 'seagreen')

f:id:kinoue3:20160919225626p:plain

ヒートマップにしてみる

sns.heatmap(tech_rets.corr(), annot=True)

f:id:kinoue3:20160919225631p:plain

googleAmazonの相関性が高いことがわかりました。

補足

使用できるデータソースは以下のようなものがあります。