2010/10/17
ハル移動平均(Hull Moving Average)
ハル移動平均はアラン・ハル(Alan Hull)によって開発された移動平均線です。2本の線形加重移動平均を使って計算します。他の移動平均線と比べて価格変動への反応が早いことが特徴です。
使用する関数
引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
ハル移動平均は2本の線形加重移動平均を使って計算します。
一気に計算することも可能ですが、式がかなり複雑になるのでそれぞれの線形加重移動平均を計算してからハル移動平均を計算することにします。
I列は線形加重移動平均の係数を保持しています。
J列、K列はそれぞれ短期、長期の線形加重移動平均を計算しています。計算式については線形加重移動平均を参照してください。
J4セルは短期の線形加重移動平均の計算日数を指定するセルです。
ハル移動平均の計算式を見ればわかりますが、計算式の中で使われる短期の線形加重移動平均の計算日数はハル移動平均の計算日数の半分の日数(端数切捨て)なので、J4セルには
TRUNC関数は小数点以下を切り捨てる関数です。
長期の線形加重移動平均はハル移動平均の計算日数と同じ日数なので
K4セルには
L列はハル移動平均を計算します。
計算部分は
J5〜L5セルをJ6以下のセルにコピー&ペーストすればハル移動平均線が計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
計算式
ハル移動平均(N日) = 線形加重移動平均(N/2日) × 2 - 線形加重移動平均(N日)
![]() |
日経平均終値とハル移動平均の図
Excelを使ってハル移動平均線を計算する
Excelを使ってハル移動平均線を計算する手順を説明します。使用する関数
SUMPRODUCT(配列 1,配列 2,配列 3,…)
引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
SUM(数値1,数値2,…)
引数の合計を計算します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。TRUNC(数値)
数値の小数点以下を切り捨てます。IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。![]() |
一気に計算することも可能ですが、式がかなり複雑になるのでそれぞれの線形加重移動平均を計算してからハル移動平均を計算することにします。
I列は線形加重移動平均の係数を保持しています。
J列、K列はそれぞれ短期、長期の線形加重移動平均を計算しています。計算式については線形加重移動平均を参照してください。
J4セルは短期の線形加重移動平均の計算日数を指定するセルです。
ハル移動平均の計算式を見ればわかりますが、計算式の中で使われる短期の線形加重移動平均の計算日数はハル移動平均の計算日数の半分の日数(端数切捨て)なので、J4セルには
=TRUNC(L4/2)
と入力します。TRUNC関数は小数点以下を切り捨てる関数です。
長期の線形加重移動平均はハル移動平均の計算日数と同じ日数なので
K4セルには
=L4
と入力します。L列はハル移動平均を計算します。
計算部分は
J5*2-K5
です。J5〜L5セルをJ6以下のセルにコピー&ペーストすればハル移動平均線が計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
↑ TOP PAGE