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