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

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

【Python】為替チャートで移動平均をたった1行で算出できる

   

以前の記事でHistData.comから為替レートの1分足データを取得する方法について書きましたが、このデータをチャートにして移動平均線(SMA)を描いたので書き留めておきます。

 

出来上がったチャートは以下の通りです。1年分の1分足データをmatplotlibでグラフ化していますが、それに加えて2本の移動平均線も描いています。この移動平均線ですがPythonではたった1行で作れてしまうので非常に便利です。他の言語であればForループを使って算出しているころです。

ソースコードはこちらです。Pandasの中のrolling().mean()関数を使います。rollingの引数に窓(平均するデータ区間)を指定することでいろいろな移動平均線を引くことができます。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

fname = 'csv/DAT_ASCII_USDJPY_M1_2022.csv'
book = pd.read_csv(fname, header=None, sep=";")
data = np.array(book[1])

mean1 = book[1].rolling(7200).mean() #SMA5
mean2 = book[1].rolling(30240).mean() #SMA21

x = np.array(book[0])
y1 = np.array(book[1])
y2 = np.array(mean1)
y3 = np.array(mean2)

plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
 

 

 

スポンサーリンク

 - Python, システムトレード