2011/7/1
2 Pole Butterworth Filter
2 Pole Butterworth FilterはJohn F. Ehlersが開発した移動平均です。
信号処理のButterworth filterを使って移動平均を計算します。
使用する関数
2 Pole Butterworth Filterは前日と2日前のの計算結果も使って計算する移動平均です。
係数の計算が少々特殊なことが特徴です。
H4セルは2 Pole Butterworth Filterの計算パラメータを指定するセルとします。
I4〜I7セルで各係数の計算をします。
I4セルでc1の計算をします。
計算式はc1=exp(-1.414×π÷N)なのでExcelの計算式は
I5セルで係数c2の計算をします。
計算式はc2=2×c1×cos(1.414×π÷N)なのでExcelの計算式は
I6セルで係数c3の計算をします。
計算式はc3=-(c1の2乗)なのでExcelの計算式は
I7セルで係数c4の計算をします。
計算式はc4=(1-c2+c1の2乗)÷4なのでExcelの計算式は
G列で中値を計算します。簡単な計算式なので式の説明は省略します。
H列で2 Pole Butterworth Filterを計算します。
1日目と2日目はG列の値、3日目から計算値となるので、
計算式は
G5,H5セルをコピーし、G6以下のセルにペーストすれば2 Pole Butterworth Filterが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
信号処理のButterworth filterを使って移動平均を計算します。
計算式
c1 = exp(-1.414 × π ÷ N)
c2 = 2 × c1 × cos(1.414 × π ÷ N)
c3 = -(c1の2乗)
c4 = (1 - c2 + c1の2乗) ÷ 4
P = (高値 + 安値) ÷ 2
2PBF = c4 × (P + 2 × 前日P + 2日前P) + c2 × 前日2PBF + c3 × 2日前2PBF
Nは任意、初日、2日目は2PBF=Pとする
c2 = 2 × c1 × cos(1.414 × π ÷ N)
c3 = -(c1の2乗)
c4 = (1 - c2 + c1の2乗) ÷ 4
P = (高値 + 安値) ÷ 2
2PBF = c4 × (P + 2 × 前日P + 2日前P) + c2 × 前日2PBF + c3 × 2日前2PBF
Nは任意、初日、2日目は2PBF=Pとする
![]() |
日経平均終値と2 Pole Butterworth Filterの図
Excelを使って2 Pole Butterworth Filterを計算する
Excelを使って2 Pole Butterworth Filterを計算する手順を説明します。使用する関数
EXP(数値)
eを底とする数値の冪乗を返します。PI()
円周率πを返します。COS(数値)
コサインの値を返します。IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。![]() |
係数の計算が少々特殊なことが特徴です。
H4セルは2 Pole Butterworth Filterの計算パラメータを指定するセルとします。
I4〜I7セルで各係数の計算をします。
I4セルでc1の計算をします。
計算式はc1=exp(-1.414×π÷N)なのでExcelの計算式は
=EXP(-1.414*PI()/H4)
となります。I5セルで係数c2の計算をします。
計算式はc2=2×c1×cos(1.414×π÷N)なのでExcelの計算式は
=2*I4*COS(1.414*PI()/H4)
となります。I6セルで係数c3の計算をします。
計算式はc3=-(c1の2乗)なのでExcelの計算式は
=-(I4^2)
となります。I7セルで係数c4の計算をします。
計算式はc4=(1-c2+c1の2乗)÷4なのでExcelの計算式は
=(1-I5+I4^2)/4
となります。G列で中値を計算します。簡単な計算式なので式の説明は省略します。
H列で2 Pole Butterworth Filterを計算します。
1日目と2日目はG列の値、3日目から計算値となるので、
計算式は
=IF(ROW()-ROW($H$4)<3,G5,$I$7*(G5+2*G4+G3)+$I$5*H4+$I$6*H3)
となります。G5,H5セルをコピーし、G6以下のセルにペーストすれば2 Pole Butterworth Filterが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
↑ TOP PAGE