見出し画像

Pythonで株価をチャートに描画する ~Plotly編~

Pythonで株価をチャートに描くために、いくつかのライブラリがありますが、ここではPlotlyを使います。
Plotlyは操作に応じて表示が切り替わるなどインタラクティブなグラフを表示できるライブラリです。

私はチャートを描く時やデータを分析する時には場合に応じてライブラリを使い分けていますが、Plotlyは数値を確認したいグラフ、拡大・縮小が便利なグラフ、柔軟な視点で確認したいグラフなどに使っています。

ソースコードと実行結果

from plotly.subplots import make_subplots
import plotly.graph_objects as go

def plotChart(**kwargs):
    OHLCV = kwargs['ohlcv']
     
    Close = OHLCV['Close']
    MA20 = calcSMA(data=Close, period=20)
    
    
    fig = make_subplots()
    
    fig.add_trace(go.Scatter(x=Close.index, y=Close, name='Close', 
        mode='lines', line=dict(color='black', width=1.0)
    ))
    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(hovermode='x')
    
    fig.show()

calcSMAは以前にこちらの記事で紹介した関数です。コードを呼び出せるように併記してください。

次のようにplotChart関数を呼び出して実行してください。

plotChart(ohlcv=OHLCV_N225)

すると、次のようなチャートが描画されます。

ソースコードの解説

OHLCV_N225はpandas.DataFrame形式の株価データです。

add_traceでグラフに描画を追加します。
折れ線グラフの場合はgo.Scatterで描画します。

update_layoutでレイアウトを設定します。
今回はhovermode='x'と指定して次のようにマウスカーソルと横軸が同じ値を表示しています。

参考

Plotlyのリファレンス

https://plotly.com/python/reference/index/


この記事が気に入ったらサポートをしてみませんか?