
Pythonで株価のローソク足をチャートに描画する ~Plotly編~
Pythonで株価のローソク足をチャートに描くライブラリには、以前に紹介したmplfinance以外に、Plotlyでも描くことができます。
ソースコードと実行結果
from plotly.subplots import make_subplots
import plotly.graph_objects as go
def plotChart(**kwargs):
OHLCV = kwargs['ohlcv']
Open = OHLCV['Open']
High = OHLCV['High']
Low = OHLCV['Low']
Close = OHLCV['Close']
MA20 = calcSMA(data=Close, period=20)
fig = make_subplots()
fig.add_trace(go.Candlestick(
x=OHLCV.index, open=Open, high=High, low=Low, close=Close, name='OHLC',
increasing_line_color='darkgray', decreasing_line_color='black',
))
fig.add_trace(go.Scatter(x=MA20.index, y=MA20, name='MA(20)',
mode='lines', line=dict(color='green', width=1.0)
))
fig.update_layout(
xaxis_rangeslider_visible=False, # 標準で表示されるrangesliderを非表示
hovermode='x',
)
fig.show()
calcSMAは以前にこちらの記事で紹介した関数です。コードを呼び出せるように併記してください。
次のようにplotChart関数を呼び出して実行してください。
plotChart(ohlcv=OHLCV_N225)
すると、次のようなチャートが描画されます。

ソースコードの解説
Plotlyでローソク足を描くにはplotly.graph_objects.Candlestickを使います。
open, high, low, close に4本値を指定します。
標準では陽線は緑色・陰線は赤色ですが、テクニカル指標と色が重ならないように、increasing_line_color, decreasing_line_colorにモノトーン色を指定しています。
また標準でrangesliderが表示されるため、非表示に変更しています。
参考
plotly.graph_objects.Candlestickのリファレンス
https://plotly.com/python/reference/candlestick/
plotly.graph_objects.Candlestickのドキュメント
https://plotly.github.io/plotly.py-docs/generated/plotly.graph_objects.Candlestick.html