非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】mplfinanceで移動平均線を太く表示したいときの対処法

   

Pythonでは、株価や為替チャートを描画するためのライブラリとして、mplfinance が非常に便利です。特にローソク足チャートに移動平均線を追加することでトレンドの確認がしやすくなります。以前に記事を書きましたがその際に移動平均線が細くて見づらいなと思っていました。

 

今回は、mplfinance を使って移動平均線を太めにカスタマイズしたローソク足チャートを作成する方法について紹介します。

必要なライブラリのインストール

まず、mplfinance をインストールしていない場合は、以下のコマンドでインストールしてください。

pip install mplfinance
 

 

移動平均線を含んだローソク足チャートの描画

以下のコードでは、USDJPY.csv から為替データを読み込み、5日移動平均線と25日移動平均線を表示する方法を解説します。

import pandas as pd
import mplfinance as mpf

# データの読み込み
df = pd.read_csv('USDJPY.csv')

df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)

# 直近500行に限定してデータを抽出
df = df.tail(500)

# 5日移動平均と25日移動平均を再計算
df['MA5'] = df['Close'].rolling(window=5).mean()
df['MA25'] = df['Close'].rolling(window=25).mean()

# チャートのデザイン(スタイル)を設定
my_style = mpf.make_mpf_style(
    base_mpf_style='yahoo',
    marketcolors=mpf.make_marketcolors(
        up='red', down='darkblue', edge='inherit', wick='black', volume='inherit'
    ),
    facecolor='white',
    gridcolor='lightgray',
    gridstyle='--'
)

# 移動平均線のプロット設定(線幅を指定)
addplots = [
    mpf.make_addplot(df['MA5'], color='blue', width=2.5),
    mpf.make_addplot(df['MA25'], color='orange', width=2.5)
]

# ローソク足チャートと移動平均線をプロット
mpf.plot(
    df,
    type='candle',
    style=my_style,
    addplot=addplots,
    figratio=(10, 5),
    title='JPY=X'
)
 

 

コードの解説

  • データの読み込み:
    • USDJPY.csv というCSVファイルから為替データを読み込みます。ここでは、Date 列を日時形式に変換してインデックスとして設定しています。
  • 移動平均線の計算:
    • Close 列を基に、5日移動平均 (MA5) と25日移動平均 (MA25) を計算し、新しい列としてデータフレームに追加します。
  • mpf.make_addplot() を使用:
    • 移動平均線を mpf.make_addplot() で追加し、線幅を width で調整しています。ここでは、5日移動平均線を青色、25日移動平均線をオレンジ色に設定しています。
  • チャートの描画:
    • mpf.plot() 関数を使用してローソク足チャートを描画し、移動平均線も同時に表示しています。
    • style オプションでチャートのスタイルをカスタマイズし、タイトルや軸ラベルも設定できます。

実行結果

こちらが実行結果です。mplfinance を使用して描画したUSD/JPYのローソク足チャートです。青色の線は5日移動平均線、オレンジ色の線は25日移動平均線を表しています。線幅を太くすることでトレンドが視覚的にわかりやすくなっています。

 

mplfinance を使うことで、簡単にカスタマイズ可能なローソク足チャートを作成することができます。移動平均線を追加して、トレンド分析や売買タイミングの参考にしてみてください。

 

スポンサーリンク

 - Python