フィッシャートランスフォームのワークド例とは?
フィッシャートランスフォームの定義(それは何か)
フィッシャートランスフォームは、テクニカル分析で用いられる数学的な変換で、入力系列(多くの場合、価格から導出されます)を、転換点を強調しやすい出力系列へ変換します。平たく言うと、「直近のレンジのどこにいるか?」という有界な値を、極端付近でより強い分離が得られるスケールへと再マッピングするものです。
これは変換であるため、出力が自動的に単独の売買シグナルになるわけではありません。入力の定義、ウィンドウ、スケーリングの仕方によって挙動が決まる「計算された数値」として理解するのが最適です。
仕組み(ワークド例を構築する方法)
ワークド例には、「市場の現実」だけでは保証されない前提が必要です。ここでは、数値的に計算するための自己完結型の一例を示します。
この例の前提
- 5つの終値からなる短い系列がある:100、102、101、103、104。
- ウィンドウ長は5とする(つまり、各ステップはサンプル全体で同じ最小値と最大値を参照する)。検証を容易にするための簡略化の前提です。
- 各時点 t について、ウィンドウ範囲内の正規化された位置 x を次のように定義します:
- min = 100、max = 104 とする。
- Range = max − min = 4。
- x = (price − min) / range とするので、x は [0, 1] に入ります。
- 次に、x を (−1, 1) の対称な有界値へ次で写像します:
- p = 2x − 1。
- つまり、価格が min のとき p は −1、max のとき +1 になります。
- ±1 で未定義の値が出ないように、p を (−0.999, 0.999) にクランプします。これは実装上の選択であり、異なるソフトウェアでは扱いが異なる場合があります。
- 基本式として、簡略化したフィッシャー型のマッピングを使います:
- f = 0.5 * ln((1 + p) / (1 − p)) ここで ln は自然対数です。
これらの明示的な前提があれば、どの読者でも計算を再現できます。
最終点の計算(ステップごと)
最後の価格 104 の場合:
- x = (104 − 100) / 4 = 1
- p = 2(1) − 1 = 1
- p を 0.999 にクランプ
- f = 0.5 * ln((1 + 0.999) / (1 − 0.999)) = 0.5 * ln(1.999 / 0.001) = 0.5 * ln(1999)
ln(1999) ≈ 7.6009 なので、f ≈ 3.8004 です。
それ以前の系列で何が変わるか
価格 100 の場合:
- x = 0、p = −1 → −0.999 にクランプ
- f ≈ −3.8004
中間の価格では、p は −0.999 から 0.999 の間に収まり、それらの極端の間の値になります。これは数値的な意味での「強調」効果です。つまり、p が ±1(ウィンドウの最小値または最大値の近く)に近づくほど、対数が急速に大きくなるためです。
制限とリスク(重大な失敗パターン)
- パラメータ感度。 出力はウィンドウ長と、使用する正確な min/max に強く依存します。ウィンドウを変えると、正規化された入力 p が変わり、それにより f も変わります。
- 実装の詳細。 異なる実装では、異なる中間変数(たとえば、移動する高値/安値、異なる平滑化、または異なるクランプ規則)を使うことがあります。同じ価格であっても、f は異なる可能性があります。
- 境界の問題。 p がちょうど ±1 に到達し、クランプやオフセットで扱われない場合、対数マッピングが未定義になったり、数値的に不安定になったりします。
- 単独の予測ではない。 フィッシャートランスフォームの出力は変換された値であり、因果関係が保証されるわけではありません。ある期間の過去パターンは、将来の結果を確立しません。
確認と、次にあなたが答えられる質問
例を独立に検証するには、同じ仮定された数式から各ステップを再計算してください:min/max、x への正規化、p へのマッピング、クランプ、そして対数変換です。計算した値が異なる場合、最初に確認すべきはクランプと境界の扱いです。
役立つ次の質問は次のとおりです:あなたが選んだソフトウェアは、入力系列とウィンドウをどのように定義していますか? フィッシャートランスフォームは、入力定義と数式の詳細が一致しているときだけ再現可能です。
DOCUMENT END