Google Colaboratoryで、株価を取得して、グラフ化する。
https://atmarkit.itmedia.co.jp/ait/articles/2107/27/news006.html
1, 国と銘柄コードを指定して、過去5年分の毎日の株価を取得する
Stooqはポーランドの企業が運営する金融ポータルサイト
1 2 3 |
import pandas_datareader.data as pdr df = pdr.DataReader("9984.JP","stooq") df |
2, 日付順で並び替え関数・終値でグラフ化
1 2 3 4 5 6 |
def get_stock_data(code): df = pdr.DataReader("{}.JP".format(code), "stooq").sort_index() return df df = get_stock_data(9984) df['Close'].plot() |
3, 金融データを分析ライブラリをインストール
1 |
!pip install mplfinance |
過去100日分をローソク足で表示する。出来高も一緒に表示できる
1 2 3 4 |
import mplfinance as mpf df = get_stock_data(4751).tail(100) # mpf.plot(df, type='candle') mpf.plot(df, type='candle', volume=True) |
4. 「TA-Lib」という金融データを分析するためのライブラリをインストール。
ソースコードを入手した後で、Google Colaboratoryでコンパイル、バイナリを作成してインストールする
1 2 3 4 |
!wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz !tar -xzvf ta-lib-0.4.0-src.tar.gz !cd ta-lib && ./configure --prefix=/usr && make && make install !pip install Ta-Lib |
5, MACD(Moving Average Convergence Divergence、移動平均線の売買シグナル)を算出してみる。
う~ん、数値が何を意味しているか分からんぞ~!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import talib as ta df = get_stock_data(6670) # (株)MCJ(6670)の株価を取得 # 終値からMACDを計算 close = df['Close'] macd, macdsignal, _ = ta.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9) df['macd'] = macd df['macd_signal'] = macdsignal # ここからグラフ化 import mplfinance as mpf mdf = df.tail(100) # 直近100日分のデータ apd = [ mpf.make_addplot(mdf['macd'], panel=2, color='red'), # パネルの2番地に赤で描画 mpf.make_addplot(mdf['macd_signal'], panel=2, color='blue'), ] mpf.plot(mdf, type='candle', volume=True, addplot=apd) |