2020年8月16日日曜日

mplfinanceのチャートに折れ線グラフを追加する

mplfinanceのチャートに折れ線グラフを追加するには、plotメソッドでaddplot引数を使用します。
addplot引数には配列でmake_addplotメソッドで作成した辞書データを渡します。
make_addplotメソッドに以下の引数を渡します。
・1番目の引数 : グラフを表示するためのデータ。df["列名"]で渡すことができます。
・color : グラフの色
・width : グラフの線
・linestyle : デフォルトは実線ですが、dashedで破線、dottedで点線にすることができます。

サンプルコード

下記サンプルでは本数3のボリンジャーバンドを追加しています。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")

# 実際は20本くらいが良いがデータが少ないので3本に設定
df["ma3"] = df["close"].rolling(3).mean()
df["std3"] = df["close"].rolling(3).std()
df["s1u"] = df['ma3'] + df['std3']
df["s1L"] = df['ma3'] - df['std3']
df["s2u"] = df['ma3'] + df['std3'] * 2
df["s2L"] = df['ma3'] - df['std3'] * 2

series = [
    mpf.make_addplot(df["s1u"], color="#F27649", width=1, linestyle="dashed"),
    mpf.make_addplot(df["s1L"], color="#F27649", width=1, linestyle="dashed"),
    mpf.make_addplot(df["s2u"], color="#D94E41", width=1, linestyle="dotted"),
    mpf.make_addplot(df["s2L"], color="#D94E41", width=1, linestyle="dotted")
]
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', addplot=series)

・実行結果


関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

0 件のコメント:

コメントを投稿