ALMA(Arnaud Legoux Moving Average)
ALMA(Arnaud Legoux Moving Average)はArnaud LegouxとDimitrios Kouzis Loukasによって開発された移動平均です。
加重移動平均の一種で、係数の形がガウシアンフィルターになっています。
通常のガウシアンフィルターは中央が最も高い左右対称の釣鐘型ですが、ALMAではピークを直近にずらした非対称のガウシアンフィルターを
使うことで、価格への追随性を改善しています。

計算式
ALMA =Σ(CiXi)/Σ(Xi)
Ci(i=1,2,3,…,N)は各終値
Xi(i=1,2,3,…,N)は各終値に係る任意の係数
Xi = exp{-(i - offset)の2乗/σの2乗}
σ = N ÷ A
offset ={ B × (N - 1)}の切り捨て
A,B,Nは任意 A=6,B=0.85がデフォルト
日経平均終値とArnaud Legoux Moving Averageの図




Excelを使ってArnaud Legoux Moving Averageを計算する
Excelを使ってArnaud Legoux Moving Averageを計算する手順を説明します。

使用する関数
TRUNC(数値)
指定した数値の小数点以下を切り捨てます。

EXP(数値)
eを底とする数値の冪乗を返します。

ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。

SUMPRODUCT(配列 1,配列 2,配列 3,…)
引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。
引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。

SUM(数値1,数値2,…)
引数の合計を計算します。

OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。


IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。
ALMAは加重移動平均の一種なので、係数を先に計算してSUMPRODUCT関数を使ってALMAを計算します。
ここでは任意の日数のALMAが計算できるようにOFFSET関数を使います。

H4セルはALMAの計算日数を指定するセルとします。
I2セルは変数Aを指定するセルとします。
I3セルは変数Bを指定するセルとします。

G4セルでoffsetを計算します。offsetはB×(計算日数-1)の切り捨てなので 計算式は
=TRUNC(I3*(H4-1))
となります。

I5セルでσを計算します。σは計算日数÷Aで計算されます。簡単な計算式なので式の説明は省略します。

G列で係数を計算します。
係数はexp{-(i-offset)の2乗/σの2乗}で計算されます。
ここで面倒なのが(i-offset)のiの部分です。iは計算開始が1で1行下がるごとに+1される数列です。
この数列はrow関数で実現できるので、これを使って係数の数式をExcelの式に直すと
EXP(-((ROW()-ROW($G$4)-$G$4)^2)/($I$4^2))
となります。

H列でALMAを計算します。
計算式は加重移動平均と同じ式になります。
計算式の部分は赤枠内赤字部です。計算式が2行になっていて見にくいので書き出すと
SUMPRODUCT(OFFSET(E5,0,0,-$H$4,1),OFFSET($G$5,0,0,$H$4,1))/SUM(OFFSET($G$5,0,0,$H$4,1))
となります。

G5,H5セルをコピーし、G6以下のセルにペーストすればArnaud Legoux Moving Averageが計算できます。

Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。


岡安盛男のFXで稼ぐ47の法則
税込 1620円

タートルズの秘密
税込 21384円

デイトレードのネタ 2009秋
税込 2052円

日本人が知らなかった海外口座資産運用術
税込 1728円

合理的市場という神話 リスク、報酬、幻想をめぐるウォール街の歴史
税込 3456円

田丸流奥義解説書 書籍版 第2巻
税込 16200円

デリバティブ用語辞典
税込 5184円

新難儀 ニコニコ相場様
税込 2571円


inserted by FC2 system