PYTHONでAMAZON株価取得、ポリンジャーバンド・MACD・RSI付加
#①
import mplfinance as mpf
from pandas_datareader import data
import warnings
warnings.simplefilter('ignore')
start = '2022-03-20'
end = '2022-10-19'
df = data.DataReader('AMZN','yahoo', start, end)
mpf.plot(df, type='candle', figsize=(20,10), style='yahoo', volume=True)
#②
#ポリンジャーバンド用(株:売られすぎ、買われすぎ)のDF追加
#25日の移動平均、標準偏差2(0:単純移動平均、1:指数移動平均、2:加重移動平均)
import talib as ta
df["upper"], df["middle"], df["lower"] = ta.BBANDS(df['Adj Close'], timeperiod=25, nbdevup=2, nbdevdn=2, matype=0)
apds = [mpf.make_addplot(df['upper'],color='g'),
mpf.make_addplot(df['middle'],color='b'),
mpf.make_addplot(df['lower'],color='r')
]
mpf.plot(df, type='candle', figsize=(20,10), style='yahoo', volume=True, addplot=apds)
#df.tail()
#③
#MACD用(トレンドを見る指標、0以上:上昇トレンド、0以下:下降トレンド)のDF追加
#MACDの構成:短期の移動平均、長期の移動平均、MACDシグナル
df['macd'], df['macdsignal'], df['macdhist'] = ta.MACD(df['Adj Close'], fastperiod=12, slowperiod=26, signalperiod=9)
apds = [mpf.make_addplot(df['upper'],color='g'),
mpf.make_addplot(df['middle'],color='b'),
mpf.make_addplot(df['lower'],color='r'),
mpf.make_addplot(df['macdhist'], type='bar',
width=1.0, panel=1, color='gray', alpha=0.5, ylabel='MACD')
]
mpf.plot(df, type='candle', figsize=(20,10), style='yahoo', volume=True, addplot=apds,
volume_panel=2, panel_ratios=(3,1,1))
#④
#RSI用(株の買われすぎや売られすぎを判断する指標)のDF追加
#20%~30%を下回る:売られすぎ、70%~80%を上回る:買われすぎ
df["RSI"] = ta.RSI(df["Adj Close"], timeperiod=25)
apds = [mpf.make_addplot(df['upper'],color='g'),
mpf.make_addplot(df['middle'],color='b'),
mpf.make_addplot(df['lower'],color='r'),
mpf.make_addplot(df['macdhist'], type='bar',
width=1.0, panel=1, color='gray', alpha=0.5, ylabel='MACD'),
mpf.make_addplot(df['RSI'], panel=2, type='line', ylabel='RSI')
]
mpf.plot(df, type='candle', figsize=(20,10), style='yahoo', volume=True, addplot=apds,
volume_panel=3, panel_ratios=(5,2,2,1))
#⑤
#ファイル出力
mpf.plot(df, type='candle', addplot=apds, figsize=(20,10), style='yahoo',
volume=True, volume_panel=3,panel_ratios=(1,1,1,1), savefig='technical.png')
コメント
コメントを投稿