プログラム - python

PythonでSMA、EMAを算出する関数を作ってみた

投稿日:

テクニカルで何かと必要になるSMA(単純移動平均線)、EMA(指数平滑移動平均線)。

MT4、MT5などでは関数が用意されているのですぐに使えますが、Pythonはそうはいかないです。。

pandasをインポートすれば使えるものもありますが、バージョンに左右されるので、ちょっとって思って1からコーディングしてみた。

 

SMA(単純移動平均)

英語ではSimple Moving Average。頭文字をとってSMAと呼びます。トレンドを見る上で多用されます。

アルゴリズムは簡単で、全てのデータの平均値を計算するだけ。

SMAのPythonコード

 

EMA(指数平滑移動平均)

Exponential Moving Average(指数平滑移動平均)。MACDを算出する際に使ったり結構多用します。

過去よりも現在の方が影響が強いという考えを入れた移動平均値で、現在に近いレートほど重みをつけて計算します。

計算式は

E(t) = E(t-1) + 2/(n+1)(直近の終値 - E(t-1))

こちらのサイトによると

最初の日のEMAはSMAを使うなどルールがあってややこしいです。

これをコードに起こすと

EMAのPythonコード

n-1番目の要素は、SMAを算出する必要があるので、そこが肝かな。

たぶん合ってると思う。

無料メール講座

1ヶ月で仮想通貨のノウハウが無料で読める

タップして読んでみる

-プログラム - python
-, ,

Copyright© 仮想通貨投資ブログ , 2018 All Rights Reserved.