カウフマン・エフィシェンシー・レシオとは?
カウフマン・エフィシェンシー・レシオとは?
カウフマン・エフィシェンシー・レシオ(Kaufman Efficiency Ratio。しばしばKER、または「efficiency ratio(効率レシオ)」と略されます)は、選択した時間窓の中で、価格がある地点から別の地点へどれだけ効率よく動くかを数値化した指標です。基本となる考え方はシンプルで、「窓の開始と終了の距離」を「途中で移動した距離の合計」と比較します。
価格がある方向へスムーズに動く場合、「純粋な(net)」変化は「総(total)」の往復動きに対して大きくなるため、KERは高くなりやすいです。逆に、価格が細かく上下して開始時点付近へ戻るような場合、総移動量は大きくても純粋な変化は小さくなりやすいため、KERは低くなりやすいです。
FXでは、このレシオは価格の時系列(たとえば、その銘柄の終値、または別の一貫した価格系列)を一定の間隔で取得して計算します。その後、異なる時間窓でのKER値を比較したり、さまざまな市場環境の中でKERが上がるのか下がるのかを追跡できます。
カウフマン・エフィシェンシー・レシオはどのように機能しますか?
KERは、同じ見ている期間(lookback期間)で計算される2つの量に基づきます。
- 純粋な変化(Net change):窓の終了時点の価格と開始時点の価格の絶対差。
- 総移動量(Total movement):その窓の中にある連続するバー間の価格変化の絶対値の合計。
比率を表す一般的な方法は次のとおりです。
- Efficiency Ratio = Net Change / Total Movement
どの計算にも共通する重要な前提
- 見ている長さ(lookback length)(窓に含まれるバー数)を選びます。
- 一貫した価格系列(例:終値)を使い、価格は同じ単位(例:その銘柄の気配値)である必要があります。
- 絶対値を計算し、連続する区間ごとの距離を合計します。
重要な含意(シグナルとして扱わない前提で) 分母には途中のあらゆる移動が含まれるため、KERは「方向性のきれいさ(directional cleanliness)」を数値化する方法になります。将来のリターンを約束するものとしてではなく、「価格がどのように動いたか」を示す指標として理解するのが最適です。
確認できる証拠または例
以下は、仮定を明示したうえで、作られた価格の推移パスと規則的なバーを使った実例です。連続する終値で、4つの区間にわたってKERを計算すると仮定します。
窓の中の価格が次のようだとします:100 → 102 → 101 → 103。
- 純粋な変化(Net change) = |103 − 100| = 3
- 総移動量(Total movement) = |102 − 100| + |101 − 102| + |103 − 101| = 2 + 1 + 2 = 5
- KER = 3 / 5 = 0.60
同じ窓の中で、より値動きが荒い(チャoppyな)パスを比べてみます:100 → 102 → 99 → 101。
- 純粋な変化(Net change) = |101 − 100| = 1
- 総移動量(Total movement) = |102 − 100| + |99 − 102| + |101 − 99| = 2 + 3 + 2 = 7
- KER = 1 / 7 ≈ 0.14
同じ見ている長さ(lookback length)で、同じ定義を使うと、よりスムーズで方向性のあるパスのほうが、チャoppyなパスより高いKERになりました。
同じ式を、あなたが選んだ過去データに適用し、その比率が主に窓の中での往復(back-and-forth)移動量に反応するかどうかを確認することで、独立に検証できます。
限界とリスク
KERの挙動はシンプルですが、実務上の解釈には限界があります。
- 見ている期間への感度:窓の長さを変えると、KERの値が大きく変わり得ます。短い窓では効率的に見える値動きでも、長い窓では非効率に見える可能性があります。
- 価格ソースへの感度:異なるプラットフォームでは、提供される価格フィールドが異なる場合があります(例:終値と、ビッド/アスクのミッド、またはバーの作り方が異なるなど)。KERは、使われた正確な系列に依存します。
- レジーム変化下での失敗モード:ボラティリティやミクロ構造が変わる期間では、「効率的な動き」と見なされるものが変わり得ます。そのため、KERは安定した方向性のレジームではなく、ノイズの水準が変わったことによって上がったり下がったりする可能性があります。
- エッジケース:総移動量がゼロ(連続するすべての価格が同じ)なら、分母がゼロになるため比率は未定義になります。実装では通常、このケースに対するルールが必要です。
- 将来の結果を保証しない:高い、または低いKER値は、その窓の中での過去の移動効率を表します。将来の結果との歴史的な関係が、将来の予測可能性を保証するわけではありません。
確認と、次に考えるべき質問
自分の用途でKERを検証するには、同じ見ている期間と、明確に定義された価格系列を使って、生の価格データから再計算してください。次に、以下を変えたときに結果がどう変わるかをテストします。
- 見ている期間の長さ、
- バーの時間足、
- 選択した価格フィールド。