今回も株価分析用のチャートの描画のためのmplfinanceというライブラリに関する話題です。mplfinanceではローソク足のような通常の時系列チャート以外にも、「連行足チャート」と「ポイント・アンド・フィギュア」という不規則時系列チャートの描画もサポートしています。
まず、必要なライブラリをインポートします。
import pandas as pd from pandas_datareader import data as pdr import mplfinance as fplt import datetime import yfinance as yf
最初は「連行足チャート」の描画です。日本で開発された手法ですが、現在日本では類似した手法である「カギ足チャート」の方がよく知られているようです。連行足チャートを描く場合にはどの位の価格の変化があったら「レンガ」を積み増すかを指定する必要があります。mplfinanceの場合のデフォルトではATR、つまり直前の一定期間のボラティリティの大きさを示す指標を用います。計算期間の長さのデフォルトは14です。
start = "2022-8-1" end = datetime.date.today() ticker = "4755.T" # 4755は楽天グループ yf.pdr_override() # yahooサイトからデータをダウンロード df2 = pdr.get_data_yahoo(ticker, start, end) # 指定可能なtype: 'ohlc'(default), 'candle', 'line', 'renko', 'pnf' fplt.plot(df2,type='renko',figsize =(16,5), style='yahoo', renko_params=dict(brick_size='atr',atr_length=14), # レンガのサイズ:brick_size='atr'はデフォルト(Average True Range) ATRの長さ atr_length=14はデフォルト title = "STOCK PRICE CHART FOR {0}".format(ticker))
次に「ポイント・アンド・フィギュア」の描画です。描画の設定を適切に行えば収益をあげられる可能性が高いことが確かめられている手法です。ポイント・アンド・フィギュアを描く場合にはどの位の価格の変化があったら印を積み増すか(1枠の大きさ)及びその枠の大きさの何倍の逆向き変化があったらトレンド反転と判断するか(反転枠数)を指定する必要があります。mplfinanceの場合、1枠の大きさのデフォルトでは連行足チャートと同じATRを用います。反転枠数のデフォルトは1です。
start = "2022-8-1" end = datetime.date.today() ticker = "4755.T" # 4755は楽天グループ yf.pdr_override() # yahooサイトからデータをダウンロード df3 = pdr.get_data_yahoo(ticker, start, end) # 指定可能なtype: 'ohlc'(default), 'candle', 'line', 'renko', 'pnf' fplt.plot(df3,type='pnf',figsize =(16,5), style='yahoo', pnf_params=dict(box_size='atr',reversal=1), # 1枠の大きさ:box_size='atr'はデフォルト(Average True Range) 反転枠数:reversal=1はデフォルト title = "STOCK PRICE CHART FOR {0}".format(ticker))
このような不規則時系列チャートを描けることがmplfinanceライブラリの大きな魅力でもあります。