下記のように、2日続けてグラフ描画シリーズをやってきた。ここで、より一歩進んで、ローソク足やテクニカル分析で良く使用される移動平均、ボリンジャーバンド、取引高を描画してみよう。
how-to-make-stock-trading-system.dogwood008.com
how-to-make-stock-trading-system.dogwood008.com
指数平滑移動平均線(EMA) と 単純移動平均線(SMA) をそれぞれtimeperiod=5
で描画した。また、ボリンジャーバンドも細線で付けた。ソースコードより先に、できあがりを見てもらうことにする。
1点注意が必要なのは、ローソク足の緑と赤の線(陰線陽線)は世界基準のもの、すなわち日本株のものとは反対になっているので間違えないよう。
このソースコードは下記のようになる。移動平均やボリンジャーバンドの算出のため、TA-Libというライブラリを使用している。下記のものをそのままコピペすれば、Google Colabでも動くので試してみて欲しい。
!curl -L http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz -O && tar xzvf ta-lib-0.4.0-src.tar.gz !cd ta-lib && ./configure --prefix=/usr && make && make install && cd - && pip install ta-lib !pip install mplfinance jquants-api-client
import mplfinance as mpf import talib from datetime import datetime from dateutil import tz import jquantsapi %matplotlib inline cli = jquantsapi.Client(refresh_token=my_refresh_token) stock_code: str = '7974' df = cli.get_prices_daily_quotes(f'{stock_code}0') ddf = df.loc[df.Date.between('2022-01-01', '2022-12-31', 'both')] # ddf.SMA = talib.SMA(ddf.AdjustmentClose, timeperiod=5) BBで描画されるので不要 ddf.EMA = talib.EMA(ddf.AdjustmentClose, timeperiod=5) ddf.UPPER, ddf.MIDDLE, ddf.LOWER = talib.BBANDS(ddf.AdjustmentClose, matype=MA_Type.SMA) indicators = [ # mpf.make_addplot(ddf.SMA, color='skyblue', width=2.5), mpf.make_addplot(ddf.EMA, color='pink', width=2.5), mpf.make_addplot(ddf.UPPER, color='purple', width=.5), mpf.make_addplot(ddf.MIDDLE, color='skyblue', width=2.5), mpf.make_addplot(ddf.LOWER, color='purple', width=.5), ] columns = ('AdjustmentOpen', 'AdjustmentHigh', 'AdjustmentLow', 'AdjustmentClose', 'AdjustmentVolume') mpf.plot(ddf, figratio=(12,4), type='candle', style="yahoo", volume=True, addplot=indicators, columns=columns)