2011/11/2
Fisher Transform
John F Ehlersによって開発されたテクニカル指標です。概要はストキャスティクス%Kの指数移動平均に統計学のフィッシャーのZ変換を施し、
トレンドの転換点をわかりやすくしたものです。
数値が上昇している間は上昇トレンド、下落している間は下落トレンドと判断し、上昇から下落、もしくは下落から上昇に転じたところで
トレンド転換とみなします。
使用する関数
または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
Fisher Transform(以下FT)はいくつかの工程を経て計算されます。
ここではOFFSET関数を使って任意のパラメータのFTを計算できるようにしています。
H4セルは期間内高値、期間内安値の期間を指定するセルとします。(計算式内ではNの値)
J4セルはValueの平滑化定数を指定するセルとします。(計算式内ではαの値)
L4セルはFTの平滑化定数を指定するセルとします。(計算式内ではβの値)
G列で中値(高値と安値の平均)を計算します。計算式の説明は中値を参照してください。
H列,I列でそれぞれG列の期間内高値、期間内安値を計算します。
それぞれMAX関数、MIN関数を使って計算するだけなので式の説明は省略します。
J列でストキャスティックスを計算し-1〜1に変換、平滑化を行います。
計算式は
前半の項の
0.5を引いて2倍して-1〜1の間になるようにしたのが
それで、これを指数移動平均の要領で平滑した式が最初に示した式になります。
K列でJ列の異常値のチェックをします。
FTの式では-1以下の値、1以上の値は計算できないので、J列でこれらの値が出たときの対処をK列で行っています。
具体的にはJ列で0.999以上の値は0.999にし、-0.999以下の値は-0.999にします。
式にすると
L列でFTを計算します。
計算式は
フィッシャーのZ変換は前半の項です。後半部分は前日のFTを繰り込んでいます。
フィッシャーのZ変換式は
また、ExcelにはFisher変換の関数が用意されており、L列の計算式は
G5セルをG6セルにコピー&ペーストし、G6〜L6セルをコピーして、G7セル以下にペーストすればFisher Transformが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
トレンドの転換点をわかりやすくしたものです。
数値が上昇している間は上昇トレンド、下落している間は下落トレンドと判断し、上昇から下落、もしくは下落から上昇に転じたところで
トレンド転換とみなします。
計算式
中値(高値と安値の平均値)のN日ストキャスティックスを計算し、それを-1〜1の間の値に変換する。
さらに計算した値を平滑化定数αで平滑化する。これをValueとする。
FT = 0.5 × ln((1 + Value) ÷ (1 - Value)) + β × 前日FT
Nは任意だが10位が適当,α=0.33,β=0.5とする
さらに計算した値を平滑化定数αで平滑化する。これをValueとする。
FT = 0.5 × ln((1 + Value) ÷ (1 - Value)) + β × 前日FT
Nは任意だが10位が適当,α=0.33,β=0.5とする
日経平均終値とFisher Transform
ExcelでFisher Transformを計算する
Excelを使ってFisher Transformを計算する手順を説明します。使用する関数
MIN(数値1,数値2,…)
指定した数値や範囲内の数値の最小値を返します。MAX(数値1,数値2,…)
指定した数値や範囲内の数値の最大値を返します。AVERAGE(数値1,数値2,…)
指定した数値や範囲内の数値の平均値を計算します。空白セルや文字列は無視して計算します。OFFSET(基準セル,行数,列数,高さ,幅)
基準セルから指定した行数、列数だけ移動したセルを参照します。または高さ、幅を設定して基準セルから指定した高さ、幅のセル範囲を指定します。
LN(数値)
数値の自然対数を返します。IF(条件式,真の場合,偽の場合)
条件式を満たす場合は真の場合の値、満たさない場合は偽の場合の値を返します。ROW(セル)
セルの行番号を返します。何も指定しない場合はROWが書かれたセルの行番号を返します。ここではOFFSET関数を使って任意のパラメータのFTを計算できるようにしています。
H4セルは期間内高値、期間内安値の期間を指定するセルとします。(計算式内ではNの値)
J4セルはValueの平滑化定数を指定するセルとします。(計算式内ではαの値)
L4セルはFTの平滑化定数を指定するセルとします。(計算式内ではβの値)
G列で中値(高値と安値の平均)を計算します。計算式の説明は中値を参照してください。
H列,I列でそれぞれG列の期間内高値、期間内安値を計算します。
それぞれMAX関数、MIN関数を使って計算するだけなので式の説明は省略します。
J列でストキャスティックスを計算し-1〜1に変換、平滑化を行います。
計算式は
$J$4*2*((G6-I6)/(H6-I6)-0.5)+(1-$J$4)*J5
です。前半の項の
(G6-I6)/(H6-I6)
がストキャスティックスを計算している部分です。これだと0〜1の間の値になるので、0.5を引いて2倍して-1〜1の間になるようにしたのが
2*((G6-I6)/(H6-I6)-0.5)
の部分です。それで、これを指数移動平均の要領で平滑した式が最初に示した式になります。
K列でJ列の異常値のチェックをします。
FTの式では-1以下の値、1以上の値は計算できないので、J列でこれらの値が出たときの対処をK列で行っています。
具体的にはJ列で0.999以上の値は0.999にし、-0.999以下の値は-0.999にします。
式にすると
=IF(J6>0.999,0.999,IF(J6<-0.999,-0.999,J6))
となります。L列でFTを計算します。
計算式は
0.5*LN((1+K6)/(1-K6))+$L$4*L5
です。フィッシャーのZ変換は前半の項です。後半部分は前日のFTを繰り込んでいます。
フィッシャーのZ変換式は
FT = 0.5 × ln((1 + Value) ÷ (1 - Value))
なので、上記の計算式の頭の0.5は平滑化定数ではないことに注意してください。また、ExcelにはFisher変換の関数が用意されており、L列の計算式は
FISHER(K6)+$L$4*L5
としても同じ値が得られます。G5セルをG6セルにコピー&ペーストし、G6〜L6セルをコピーして、G7セル以下にペーストすればFisher Transformが計算できます。
Excelファイルがダウンロードできない場合はリンクを右クリックして「対象をファイルに保存」を選択して保存すればダウンロードできます。
↑ TOP PAGE