FOREX 向けクラスターインディケータ構築の理論的基礎

Simeon Semenych | 17 2月, 2016



はじめに

市場で取引される金融商品はなんらかの通貨に対するアクティブのポジションです。FOREX が他の市場と異なるのは、他の通貨がアクティブとして使用される点です。FOREX 市場における結果として、常に通貨ペアと呼ばれる2種類の通貨の相関関係を扱います。

1年以上前に始まったプロジェクトは、ジョイント名クラスターインディケータの下でインディケータグループを開発するのに役立ちました。そのタスクは通貨ペアを個別の通貨に分けることでした。それ以来、インディケータは何回も変更されました。その上、ユーザーの興味やフォーラムでの議論によりインディケータ処理メソッドとそれを基にしたトレードシステム作成方法の開発が可能となりました。


クラスターインディケータの処理特性

クラスターインディケータの第1の際立った特徴は処理のために、同時に特定の通貨ペアグループを必要とすることです。インディケータは個別の通貨ペアを処理しますが、私の私見ではそれは実用的ではありません。インディケータのメリットは、大量の通貨ペアを個別の通貨に分けて分析する能力にほかなりません。より多くのペアを分析すれば、もたらされる情報はより正確なものとなるのです。

3 種類の通貨、たとえば EUR、USD、GPB、の変動を見るためには、3 組の通貨ペアのクオート:EURUSD、GBPUSD、 EURGBP が必要となります。そして、たとえば JPY を追加したければ、クオート GBPGPY、USDJPY、EURJPY が必要となります。合計 6種類の通貨ペアで、各通貨は別の通貨と3 とおりの関係を持ちます。グラフでは角度に通貨を持つの正方形で表示され、通貨間の関係(正方形の一辺と対角線)は通貨ペアを示します。正方形の角度からその他の角度すべてに線が引かれます。この自己完結型ネットがクラスターと呼ばれます。それは名前-クラスターインディケータを説明しています。

一般的には、トレーディングターミナルでは MetaTrader 4 インディケータは価格チャート下のサブウィンドウに表示され、その形式は検討される通貨ペアによって決まります。どのチャートに連結していても、クラスターインディケータはどこでも同じように見えます。これはクラスターインディケータの 2 番目の際立った特徴です。図 1 はインディケータ CCFp(Complex_Common_Frame percent)を示しています。チャート EURUSD に結合しているにもかかわらず、分析されるクラスターに属していなくても、このペアが他のどの通貨ペアとも同じ形式となっています。


クラスターインディケータでの処理の基本概念

図1でには、異なる色のついた8本の線があります。線はそれぞれ一定の通貨に対応しています。クラスターインディケータは通貨指数ではなく、その互いに関連する変動を反映しています。インディケータは自己完結型システムを代表しており、これは市場モデルをシンプルにしますが、そのようなシンプル化はインディケータにおけるトレーディングの成功を妨げることはありません。

通貨は相対単位で計測されます。それは各単位時間で全通貨合計がゼロになるためです。そのため、クラスターインディケータの基本エレメントの一つはゼロライン、またはバランスラインです。通貨がバランスラインを下回ると、別の通貨に比べ売りすぎと言われます。従って、通貨がゼロラインを上回ると買いすぎと言われます。通貨が買いすぎであれば、遅かれ早かれ他の通貨すべてに対して縮小し始め、通貨ラインは下がり、バランスラインに達するか、売りすぎゾーンに入ってしまいます。

通貨がバランスラインに近づくことは、その通貨が別の通貨に対してバランス状態にあることを意味します。クラスターインディケータのもう一つ重要な要素は線の交点で、トレンドの変更を指示したり、シグナルを出す点です。そのうえ、インディケータを基に、発散と収束を抽出することができますが、これについての詳細は次稿 "Practical application of cluster indicators in the FOREX market" でお話しすることとします。

クラスターインディケータを分析する間明らかでない事実にみなさんの注文を集めたいと思います。通常、インディケータは一定の通貨ペアを基に構築されるものです。しかし、クラスターインディケータは複合体の通貨ペアすべてをもとに構築されます。インディケータを見て、インディケータがアタッチされている現行通貨ペアのデリバティブのみならず、われわれが24の通貨ペアすべての価格を同時に観測するのだということを理解する必要があります。

インディケータがペア EURUSD で表示される場合、この通貨ペア以外にもそれは EURGBP、USDGBP、USDCHF、EURJPY など、すなわちUSD とEURを含むすべてのペアを計算するのです。そして、トレードシグナルが来ると、一定のペアではなく、市場全体、またはより正確には市場クラスターがトレードされることを覚えておく必要があります。これはメリットですが、同時にデメリットでもあります。このインディケータのシグナルはより安全です。なぜならそれらは全通貨ペアをもとにできているからです。ただ同時に、選択した通貨ペアが通貨の複合体全体の中で目立つというリスクは常にあります。たとえば、市場では大量のポンドが米ドルに対して売却されるということが起こりうるのです。クラスター全体に及ぼす1通貨の影響は 4% 強にすぎません(24ペア中1ペアのみ)。この場合、インディケータはトレーディングではなく情報的にもっとも価値あるものです。それでもトレーディングシステムはインディケータを基に作成されます。


クラスターインディケータ処理の要件

ターミナル MetaTrader 4 にはいくらか制約があります。そのためすべての金融商品に対してクラスターインディケータを使用することはできません。インディケータにおける最大ライン数は 8 本です。最大クラスターが 8 通貨しか持たないのはそのためです。このセットに含まれるのは以下です。:USD, EUR, GBP, CHF, JPY, CAD, AUD, NZD。そしてその処理のためにインディケータは24通貨ペアのクオートを必要とします。:EURUSD, EURGBP, EURCHF, EURJPY, EURCAD, EURAUD, EURNZD, GBPUSD, GBPCHF, GBPJPY, GBPCAD, GBPAUD, GBPNZD, USDCHF, USDJPY, USDCAD, AUDUSD, AUDJPY, AUDCAD, AUDNZD, NZDUSD, NZDCHF, NZDCAD, NZDJPY。最近まで示されるペアでのクオートの必要性は、そこのプラットフォームでインディケータが処理を行う仲介会社の数を制限していました。

今日、直近のインディケータ修正で、要件が低くなり、USD を含むすべてのクロスが必要となります。よってインディケータに処理をさせるには、次の通貨ペアで十分なのです。:EURUSD, GBPUSD, USDCHF, USDJPY, USDCAD, AUDUSD, NZDUSD。私の知る通り、MetaTrader 4 プラットフォームを手掛ける仲介会社はすべて前述の通貨ペアを提供しています。ただ、インディケータの古いバージョンは、いまだにインターネットで利用可能で、その場合は全セット、すなわち 24 通貨ペア、を要求することを覚えておく必要があります。

クラスターインディケータ、とりわけ初期バージョンは高いコンピュータ能力とインターネットチャンネルを要求することに注意が必要です。今では要件は低いものの、クラスターインディケータは他のインディケータやオシレータに比べ、まだリソースを大量に消費します。そのうえ、経験からインディケータの初期インストールで一般的に一部の通貨ペアについてクオートが十分でないことが明らかになります。それは強制ダウンロードを促します。


クラスターインディケータ タイプ

クラスターインディケータ複合体の開発中、個別のインディケータで大量のアイデアが実現されました。ただしここでは3つの主要タイプについて説明します。

第1タイプはインディケータ CCFp です。これは図1で示されています。


CCFp (Complex_Common_Frames percent) -トレンドフォローインディケータこの先行タイプ CCF はポイントで通貨の発散を推測しました。一方、CCFp は特定値を処理し、それにより個別通貨の『重さ』によってもたらされる収束を避けることができます。 ここで『重さ』とは、たとえばポンドは米ドルに比べほとんど2倍高いことを意味します。(2007年2月 記事執筆時点)結果として、各通貨に対するポイントは異なる値を持ちます。よって判断はパーセントを数えることで行われました。


第2のインディケータ CC (Complex_Common)です。

それはインパルス、またはシグナルインディケータです。ひじょうに感受性が強く価格変動に迅速に反応します。このインディケータは図2に示されています。




図では通貨ペア EURUSD が表示されています。下にある2つのウィンドウには同じインディケータがあります。上のウィンドウは全通貨を示し、米ドルとユーロの線は中太線となっています。下側のウィンドウには同じインディケータがありますが、その他の通貨はすべて非表示となっています。ここには対応ペアの通貨のみ表示されています。

第3のインディケータ Complex_Pair1

はインディケータ CC の派生です。図2で下側のウィンドウが2本:EUR および USD、だけ表示しています。これらインディケータの合計がインディケータ Complex_Pair1で、それはインパルス(シグナル)ラインを1本だけ反映します。このインディケータは図3に見ることができます。




インディケータ Complex_Pair が最初に作成されたことに注意が必要です。ただしそれはリソースの消費が高すぎました。のちに開発する中で同じインディケータを作成する別の方法が見つかりましたが、高速アルゴリズムを使っていました。それにより同じ情報を抽出することができましたが、今は1通貨の価格チャートからのみとなっています。Complex_Pair および Complex_Pair1 は異なる方法で情報を受信し、それらによる高いタイムフレームでのビジュアル特定は絶対的なものです。低いタイムフレームではいくらか相違がありましたが、Complex_Pair 1 はあらゆる金融商品-株式、先物、原料、を手掛けることができます。

クラスターインディケータの著者はインディケータ Complex_Pair1 のアルゴリズムが別の人物によって作成されたことを述べています。(サイト Onix のフォーラム、開発者- arzuma、messageへのリンク)


クラスターインディケータの処理アルゴリズムの簡潔な説明

通貨ペアの完全なクラスターを個別ペアに分けるという考えはシンプルです。小さなクラスターが通貨ペア EURUSD, GBPUSD, EURUSD に対して使われ、タスクは通貨 EUR, USD, GBP を分離することであるとします。特定の期間内でペア EURUSD が上昇すると、差が EUR に足され、 USD から引かれます。同時にペアGBPUSD が上昇すれば、価格変化は GBP に足され、USDから引かれます。そして最終的にペア EURGBP の価格変化を考慮する必要があります。このペアが下落すると仮定すると、その差は GBP に足され EURから引かれます。


時間内に安定したモデルになりえる共通の分母を決めるのは不可能な Forex でのように、個別通貨のとき、それらは正規化され変化はすべて相対単位でカウントされます。最近までポイントはそのような単位として受け入れられていました。しかしポイント値が時間内で可変であり異なる通貨に対して異なり、クラスターインディケータの直近の修正では、価格変動はパーセントで計算されました。また、経験から近代のクオートサーバーは通貨クロスの有意差を許します。それがクオートを送り出すトラフィックを削減し、インディケータの処理速度を上げるるため、全通貨ペアの計算をドルクロスのみで行う理由です。よってインディケータの一般的アルゴリズムは次のようになります。

  1. 通貨決定がクラスターに入る通貨決定はユーザー設定で設定されます。
  2. クラスターから米ドルが除外されているとしても、ドルクロスに基づくノンドルクロスの数学的計算
  3. 移動平均によるノイズフィルターパラメータはユーザによって設定されます。
  4. 価格変動においてクラスターの全通貨ペアを分析すること、通貨の行列への書き込みはクラスターにインクルードされています。
  5. 次は特定タイプのインディケータの理論的実現、すなわちトレンドフォローインディケータに対しては複数のタイムフレームが処理され(現行のものだけでなく)、インパルスインディケータに対してはシンプルな変換が使用されます。

インディケータ CCFp、CC、CFP、Complex_pairs1 のソースファイルは本稿に添付があります。


クラスターインディケータのパラメータ

設定に利用可能な次のインプットはインディケータの最終バージョンで決定されます。インプットはいくつかのグループに分けられます。

第1番目のインプットグループはフィルター方法を決定します。
MA_Method -移動平均を決定するメソッド。以下のバリアントの一つ。
0 -単純移動平均
1 -指数移動平均
2-平滑化移動平均
3 -直線加重平均
パラメータ 3 はデフォルトで設定

価格-使用価格。以下の値のうち一つを受け入れ可能。
0-終値
1 -始値
2 -高値(ハイ)
3 -安値(ロー)
4 -平均価格(ハイ+ロー)÷ 2
5 -ティピカル価格(ハイ+ロー+終値)÷ 3
6 -加重終値(ハイ+ロー+終値+終値)÷ 4
パラメータ 3 はデフォルト設定.

Fast -高速平均の期間。デフォルトでは 3

Slow-低速平均の期間。デフォルトでは 5

インプットの第2グループは異なるタイプのクラスター形成を可能にします。

このグループは論理パラメータを8個持ちます。それは値として真/偽 (1/0)を引き受けます。各パラメータにはこのまたはあの通貨をクラスターにインクルードするか、それを無効にします。
USD -クラスターにインクルード、またはクラスター米ドルから除外(デフォルトでは真します。EUR -クラスターにインクルード、またはクラスターユーロから除外(デフォルトでは真)します。
GBP -クラスターにインクルード、またはクラスターユーロ英ポンドから除外(デフォルトでは真)します。
CHF -クラスターにインクルード、またはクラスタースイスフランから除外(デフォルトでは真)します。
JPY -クラスターにインクルード、またはクラスター日本円から除外(デフォルトでは真)します。
CAD -クラスターにインクルード、またはクラスターカナダドルから除外(デフォルトでは真)します。
AUD -クラスターにインクルード、またはクラスター豪ドルから除外(デフォルトでは真) します。
NZD -クラスターにインクルード、またはクラスターNZドルから除外(デフォルトでは真)します。

第 3 のインプットグループはインディケータの表示を管理します。

線の太さと色は、すべてのインディケータにある共通タブよりもこのインプットを使って行うのがよいことに留意が必要です。線が見えない色(背景色)に設定されていると、インディケータに線が表示されませんが、通貨は計算されます。通貨は前出の第 2 のインプットでのみクラスターから除外することができます。
Color_USD -米ドルの線色
Color_EUD-ユーロの線色
Color_GBP-英ポンドの線色
Color_CHF -スイスフランの線色
Color_JPY -日本円の線色
Color_CAD -カナダドルの線色
Color_AUD -豪ドルの線色
Color_NZD -NZドルの線色
Line_Thickness -表示される通貨ペアの線幅をプリセットします。それが便利なときもあります。たとえば、チャート EURUSD を分析する場合、 EUR と USD が色だけでなく線幅も異なる方が便利なものです。

同時に、インディケータは他の通貨を非表示にし、必要な通貨のみ表示するよう設定することも可能です。そのような設定は図 3 に例があります。

インプットの第4グループにはパラメータは一つしかありませんが、このグループに別のパラメータを追加しようと思います。
All_Bars は計算済みの履歴バー数を決定します。このパラメータが0(デフォルトではそうなっています)であれば、利用可能な履歴はすべて計算されます。ただ、前述のとおり、インディケータはリソース消費がかさむものですから、低性能のコンピュータで使うと問題があります。このパラメータによりクオートの分析する履歴を制限することでコンピュータの負荷を減らすことができます。値 1000 と 500 ではインディケータの処理速度が大幅に上がることに留意します。

おわりに

クラスターインディケータのメリットは相対通貨変動の動きを1つのウィンドウに表示することで、それによりトレンド変動を経験しそうな有望な通貨ペアを発見できることです。クラスターインディケータはトレンドの開始追跡を可能とし、ポジションをオープンまたはクローズする信号を出すことができます。インディケータの操作に関するさらなる情報は記事 "Practical use of cluster indicators in FOREX market" から入手可能です。インディケータ開発史はウェブサイト Onix のセクション "Cluster indicators" で読むことができます。