【Python,FX】チャートに移動平均線を表示する

前回の記事ではとりあえずローソク足チャートを表示しました。

今回の記事では最も基本的なチャート分析である移動平均線を引いてみます。
完成したチャートは以下のようなグラフになります。

移動平均線とは?

移動平均線とはチャートのトレンドを把握するためによく使われるテクニカル分析の1つです。
各地点からの移動平均を計算してその点を繋げることによって線にしていきます。

移動平均

移動平均について簡単に復習しておきます。

移動平均は直近の\(n\)間の値の平均値です。
例えば時刻\(t\)においての直近\(n\)の移動平均\(a_t\)は、 $$\begin{aligned}
a_t = \frac{d_{t}+d_{t-1}+\cdots + d_{t-n}}{n}
\end{aligned}$$

で求められます。
ちなみに、\(d_t\)は時刻\(t\)のデータ(価格)を表しています。

チャートの各時間から\(n\)分前の移動平均をプロットしていくことで、チャートのトレンドを把握することができます。

移動平均線

移動平均線は、先程説明した移動平均を各時点から計算していきつなげた線になります。
このように移動平均線としてみてあげることでチャートの傾向をつかむことに役立ちます。
さらに詳しい説明は「移動平均線」で検索してもらえればたくさん出てくるのでここでは割愛します。

移動平均線を引く

では、移動平均線を引いていきましょう。

とりあえずデータを取得する

前回の記事で為替データの取得とチャートのプロットは説明しましたが、簡単におさらいしていきます。
まず、必要なライブラリをインストールします。

データの取得とローソク足チャートをプロットします。
今回はUSD/JPYの日足のデータを2000個取得します。
データの取得のためにはOANDA API のアクセストークンが必要になります。
アクセストークンの取得に関してはこの記事を参照してください

これでとりあえず前回と同様にローソク足のチャートがプロットできました。

移動平均線を引く

次に移動平均線を引いていきましょう。
簡単にpandas等を使えば移動平均の計算はできるのですが、今回はTA-Libというテクニカル分析のライブラリを用いて計算してみます。

TA-Libとは

今回は、TA-Lib(Technical Analysis Library)という
マーケットの情報を分析するためのライブラリを使って移動平均を求めます。

TA-Libでは、移動平均以外にも様々なテクニカル分析をすることができます。
今後の記事で紹介していきます!

TA-Libのインストール方法

TA-Libのインストール方法については以下の記事で紹介しています。

TA-Libを使って移動平均線を引く

では、TA-libを使って移動平均をもとめていきます。
移動平均線は talib.SMA によって求めることができます。
さっそくソースコードを見てみます。

talib.SMAの第一引数に時系列データ、第二引数に区間を指定します。
ここでは、短期(25)、中期(75)、長期(200)の移動平均を求めています。

あとは、以下のコードでチャートを表示します。

x軸を時間にするために、

ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))

をおこなっています。

うまく移動平均線を引くことができました。

終わりに

今回は前回プロットしたチャートに移動平均線を描いてみました。
なんとなくチャート分析ができるようになった感じがします笑

次回の記事では機械学習のテクニックを使って為替の値予想をやっていこうと思います。

タイトルとURLをコピーしました