2011/2/3
エンドポイント移動平均(End Point Moving Average)
エンドポイント移動平均は線形回帰インディケーター(Linear Regression Indicator)とも呼ばれます。
直近N日のデータ使って回帰直線を求め、その直近の値をプロットしていきます。
普通の移動平均よりも応答が早いことが特徴です。
本来ならば、データポイント毎に回帰直線を求めて計算するのですが、計算式を変形すると
(この変形はかなり面倒なのでここでは解説しません)
加重移動平均の計算式に変形できるので、加重移動平均の一種とも言えます。
使用する関数
引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
エンドポイント移動平均は加重移動平均の一種なのでSUMPRODUCT関数を使うと簡単に計算できます。
ここでは任意の日数のエンドポイント移動平均が計算できるようにOFFSET関数を使います。
G4セルはエンドポイント移動平均の計算日数を指定するセルとします。
F列は各終値にかける係数を保持しておく列です。
係数は2-移動平均の計算日数から始まり1行下がるごとに3ずつ増えるので
F5セルに
G列でエンドポイント移動平均を計算します。
計算式は加重移動平均と同じなので式の説明は加重移動平均を参照してください。
G5セルをG6以下のセルにコピー&ペーストすればエンドポイント移動平均線が計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
エクセルでは回帰直線の傾きと、Y切片を計算する関数が用意されており、それを使うと簡単にエンドポイント移動平均が計算できるので
そちらも紹介します。
使用する関数
または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
ここでは回帰直線のY切片を計算するINTERCEPTという関数を使ってエンドポイント移動平均を計算します。
INTERCEPT関数は回帰直線を計算する座標点のX座標、Y座標をそれぞれ配列で入力すると、回帰直線のY切片を計算するという関数です。
ここで、Y座標は株価の終値になります。X座標は1〜Nの数列とします。
エンドポイント移動平均の値は回帰直線の右端の値なので
本来ならばY切片と回帰直線の傾きの値がなければエンドポイント移動平均の値は計算できません。
そこで、直近の終値のX座標が0になるようにX座標をずらしX座標の数列を-N+1〜0とします。
これをINTERCEPT関数に入力すればY切片が回帰直線の右端になるので傾きの値を計算せずに、
回帰直線の右端の値、つまりエンドポイント移動平均を計算することができます。
計算式の説明に入ります。
G4セルはエンドポイント移動平均の計算日数を指定するセルとします。
F列でX座標の数列を作ります。座標の数列は直近が0で前日が-1,前々日が-2となるような数列なので、
F5セルに
G列でエンドポイント移動平均の計算をします。
エンドポイント移動平均を計算している部分は赤枠内赤字部分
G5セルをG6以下のセルにコピー&ペーストすればエンドポイント移動平均線が計算できます。
直近N日のデータ使って回帰直線を求め、その直近の値をプロットしていきます。
普通の移動平均よりも応答が早いことが特徴です。
本来ならば、データポイント毎に回帰直線を求めて計算するのですが、計算式を変形すると
(この変形はかなり面倒なのでここでは解説しません)
加重移動平均の計算式に変形できるので、加重移動平均の一種とも言えます。
計算式
N日エンドポイント移動平均 = {(-N+2)×C1 + (-N+5)×C2 + … + (2×N-1)×Cn } ÷ {(-N+2) + (-N+5) + … + (2×N-1)}
C1,C2…Cnは終値でCnが直近終値
C1,C2…Cnは終値でCnが直近終値
![]() |
日経平均終値とエンドポイント移動平均の図
Excelを使ってエンドポイント移動平均線を計算する
Excelを使ってエンドポイント移動平均線を計算する手順を説明します。使用する関数
SUMPRODUCT(配列 1,配列 2,配列 3,…)
引数として指定した配列の対応する要素間の積をまず計算し、さらにその和を返します。引数となる配列は行数と列数が等しい配列である必要があります。行数と列数が等しくない場合、エラー値 #VALUE! が返されます。
SUM(数値1,数値2,…)
引数の合計を計算します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。![]() |
ここでは任意の日数のエンドポイント移動平均が計算できるようにOFFSET関数を使います。
G4セルはエンドポイント移動平均の計算日数を指定するセルとします。
F列は各終値にかける係数を保持しておく列です。
係数は2-移動平均の計算日数から始まり1行下がるごとに3ずつ増えるので
F5セルに
=2-G4
と入力し、F6セルに
=F5+3
と入力します。あとはF6セルをコピーし、F7以下のセルにペーストすれば係数の数列を作ることができます。G列でエンドポイント移動平均を計算します。
計算式は加重移動平均と同じなので式の説明は加重移動平均を参照してください。
G5セルをG6以下のセルにコピー&ペーストすればエンドポイント移動平均線が計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
エクセルでは回帰直線の傾きと、Y切片を計算する関数が用意されており、それを使うと簡単にエンドポイント移動平均が計算できるので
そちらも紹介します。
使用する関数
INTERCEPT(Y座標の配列,X座標の配列)
与えられた配列から回帰直線のY切片の値を計算して返します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。![]() |
INTERCEPT関数は回帰直線を計算する座標点のX座標、Y座標をそれぞれ配列で入力すると、回帰直線のY切片を計算するという関数です。
ここで、Y座標は株価の終値になります。X座標は1〜Nの数列とします。
エンドポイント移動平均の値は回帰直線の右端の値なので
本来ならばY切片と回帰直線の傾きの値がなければエンドポイント移動平均の値は計算できません。
そこで、直近の終値のX座標が0になるようにX座標をずらしX座標の数列を-N+1〜0とします。
これをINTERCEPT関数に入力すればY切片が回帰直線の右端になるので傾きの値を計算せずに、
回帰直線の右端の値、つまりエンドポイント移動平均を計算することができます。
計算式の説明に入ります。
G4セルはエンドポイント移動平均の計算日数を指定するセルとします。
F列でX座標の数列を作ります。座標の数列は直近が0で前日が-1,前々日が-2となるような数列なので、
F5セルに
=1-G4
と入力し、F6セルに
=F5+1
と入力します。あとはF6セルをコピーし、F7以下のセルにペーストすればX座標の数列を作ることができます。G列でエンドポイント移動平均の計算をします。
エンドポイント移動平均を計算している部分は赤枠内赤字部分
INTERCEPT(OFFSET(E6,0,0,-$G$4,1),OFFSET($F$5,0,0,$G$4,1))
です。OFFSET関数を使って、Y座標の配列(終値の配列)、X座標の配列を指定しています。G5セルをG6以下のセルにコピー&ペーストすればエンドポイント移動平均線が計算できます。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
↑ TOP PAGE