【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()
スポンサーリンク