いろいろ合理化

日々なんとなく改善していったことをメモ。どこかの誰かの役に立てばこれ幸い。いろいろ手を出したがる経理屋。

pandas_datareaderで株価取得(ただし外国株式)

pandas_datareaderでなんとか株価を取得するところまで

行ったのでメモ。

ちなみに環境はJupyter。

pandas_datareaderインストール済み、pandasを0.21.0に

ダウングレード済み。
2018.08.10現在では昔の本や動画のコードがそのままでは

動かなかったりしたので苦戦しました。

 

1銘柄だけ取るなら

import pandas_datareader.data as web
import datetime

start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2017, 12, 31)

globals()['AAPL'] = web.DataReader('AAPL', 'quandl', start, end).sort_index()

AAPL.head()

 

まとめて複数銘柄取るなら

import pandas_datareader.data as web
import datetime

stock_list = ['AAPL', 'GOOG', 'MSFT', 'AMZN']
start = datetime.datetime(2017, 1, 1)
end = datetime.datetime(2017, 12, 31)

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

AAPL.head()

 

平均線をつけてプロットする

import matplotlib.pyplot as plt

ma_day = [10, 20, 50]
for ma in ma_day:
 column_name = 'MA {}'.format(ma)
 AAPL[column_name] = AAPL['AdjClose'].rolling(window=ma, min_periods=ma).mean()

AAPL[ ['AdjClose', 'MA 10', 'MA 20', 'MA 50'] ].plot(subplots=False, figsize=(10,4))

 

ここまで辿り着くのにこれだけ時間かかってたら

まともに分析できるのはかなり先そう。