レイテンシー・アービトラージの仕組みと, 儲ける秘訣を解説! では、レイテンシー・アービトラージの
- 基本的な考え方
- 最重要である「FXブローカー選び」の方法
- 利益をあげるための具体的な施策
に関して、公開できる範囲でできる限りの内容を詰め込み解説しました。
その際にエントリーとエグジットの基準となる「計算式」を説明しようと考えておりましたが、専門的で読みにくい内容の記事になってしまったため、こちらの記事に移動しました。
この記事では、レイテンシー・アービトラージにおいて、理解が必要な計算式をすべて解説します。
具体的には、
- “サヤ” がどのように計算されるのか
- “サヤ” の式をベースにして、エントリー基準をどう決めればいいのか
- エグジット基準はどのように設定すればいいのか
を全て徹底的に公開していくつもりです。
Contents
1. レイテンシー・アービトラージとは?
「レイテンシー・アービトラージ」とはそもそも何でしょうか?
簡単に説明します。
レイテンシー・アービトラージとは、上記の画像のように、
「価格更新に遅延が生じているFXブローカー」を見つけ出し、
(更新が早いFXブローカーの価格を参考にして)
価格更新が十分に遅れた際にエントリーを行い、本来の価格に達したらエグジットすることで利益を得る
方法です。
つまり、
「取引システムに欠陥のあるFXブローカー」を見つけ出し、そのFXブローカーの「取引システムの穴をつく方法」であるともいえます。
レイテンシー・アービトラージのプログラムを作る上で重要になるのは、何を基準に
「価格更新に十分な遅延が生じており、(スプレッドを考慮しても利益が残るくらいの)大きな価格の値動きが発生した」
と判断するかです。
基本的には「価格更新の早いFXブローカーの価格」を参考にエントリーを決めるので、
「早いFXブローカー・遅いFXブローカー」間の “サヤ” を明確に「定義」する必要があります。
以下では、順序立ててわかりやすく説明します。
2. 「サヤ」はどのように計算されるのか?
「サヤ(=2つのFXブローカーの価格差)」はどのように計算すればよいのでしょうか?
一見すると、
2つのブローカーの価格の差をそのまま計算するだけのように思えますが、そこまで単純ではありません。
実際には両方のFXブローカーともに、価格が Ask と Bid に分かれており、そのままエントリーしてすぐエグジットしても、スプレッド分だけ負けることになるからです。
適切かつ合理的な「サヤ」を評価するモデルを作るには、
「アービトラージ」の仕組みと概念をしっかりと理解した上でモデル化していく
必要があります。この部分が適切でないと、十分な「サヤ」が開いていないのにエントリーをしてしまったり、また逆にチャンスを取りこぼしてしまう可能性もあります。
以下、”サヤ” を数式にて表現したものを「スプレッドの評価モデル」と呼ぶことにします。
3. 「スプレッドを評価するモデル」を紹介&解説
以下に、一般的に合理的であると言われているスプレッドの評価モデルを解説します。
結論から述べると、2ブローカー間のスプレッド評価モデルは
①( 遅いブローカー_Bid - 早いブローカー_Ask )
および
②( 早いブローカー_Bid - 遅いブローカー_Ask )
が適切です。
これだけでは理解できないと思うので、以下に「なぜそうなるか」をわかりやすく説明します。
① まずは “一般的なアービトラージ” を起点に考えよう
まず、視点を「アービトラージ全般」に向けてみましょう。
その上で、レイテンシー・アービトラージを「一般的なアービトラージの派生」として考えます。
そもそもですが、「アービトラージ」とは
「相関性のある2つの価格」が「相関から外れた瞬間」をうまく利用して利益に変える取引手法
と説明できます。
通常「2つの価格」にはどちらが正解の価格で、どちらが間違った価格なのかという区別は存在しないので、
両建てによって「ヘッジ」をする必要がありますが、
レイテンシー・アービトラージでは「価格更新の早いFXブローカーの価格」が「正解の価格」であると言えます。
したがって、レイテンシー・アービトラージは
(ヘッジを行うタイプの)アービトラージの「正解の価格が存在する版」
と捉えると非常にわかりやすいです。
上記の説明のように、(ヘッジを行うタイプの)アービトラージの考え方をベースにして
レイテンシー・アービトラージの「スプレッド評価モデル」を考察していきましょう。
② “ヘッジを行うアービトラージ” の「スプレッド評価モデル」とは?
したがってまずは「ヘッジを行うタイプのアービトラージ」におけるスプレッド評価モデルを考察します。
2つのFXブローカー、ブローカー1とブローカー2を想定し、
それぞれの Ask, Bid を Ask_1, Bid_1, Ask_2, Bid_2 とします。
エントリーの価格
ブローカー1とブローカー2で、両建てによるヘッジを行う際には
「ブローカー1で買い、ブローカー2で売る」または「ブローカー1で売り、ブローカー2で買う」必要があります。
したがって「エントリー時」の価格の組み合わせは
(Ask_1 と Bid_2) または (Ask_2 と Bid_1)
となります。
エグジットの価格
次に、エグジット時の価格の組み合わせを考えてみましょう。
ブローカー1 で買った場合には、エグジットする際にはブローカー1で売る必要がある(異なる取引所での送金は不可能)ので
「エグジット時」の価格は
- (Ask_1, Bid_2)でエントリーした場合は エグジット価格は(Bid_1, Ask_2)
- (Bid_1, Ask_2)でエントリーした場合は エグジット価格は(Ask_1, Bid_2)
となることがわかります。
損益額
「エントリー時」と「エグジット時」の価格が把握できたので、次は損益額を計算します。
損益額に相当する価格差は、(売値 – 買値 を計算すればよいので)
- (エントリー時の Bid_2 – Ask_1) – (エグジット時の Bid_1 – Ask_2)
- (エントリー時の Bid_1 – Ask_2) – (エグジット時の Bid_2 – Ask_1)
のいずれかになります。
ただし、ここで注意するべきなのはエントリー時とエグジット時でそもそもの時間が変わっていることです(価格は時間tに依存します)。
ヘッジする場合のスプレッド評価モデル
上記の「損益に相当する価格差の式」を見てみましょう。
Ask と Bid に関してですが、同じブローカー内では常に Bid < Ask です。
この条件は異なるブローカー間でも基本的には成立します。
すなわち、ほとんどの時間帯で( Bid_1 < Ask_2 かつ Bid_2 < Ask_1 )であり、「価格差の式」は負の値です。
ごくまれに Bid_1 ≥ Ask_2 (あるいは Bid_2 ≥ Ask_1)となり、「価格差の式」は正の値を取ります。
この場合には ”安く買って、高く売る“ ことが可能で、「儲けることができる」のです。
ゆえにエントリー基準は
- Bid_1 — Ask_2 > 0
- Bid_2 — Ask_1 > 0
であり、上記の2式の左辺をスプレッド評価モデルとするのが適切でしょう。
③ ヘッジの考え方をベースに、「遅延」の考え方を適用してみよう
② ではヘッジを行う場合のスプレッド評価モデル(およびエントリー基準)がわかりました。
以下では、脳を「ヘッジ」から、「遅延」の考え方に移していきます。
「遅延」の考え方とは?
遅延の考え方とは、要は「遅い方の価格は早い方の価格に追いつく」という考え方です。
「ヘッジ」する場合と何が違うのか?
「遅延」を考慮する場合、「遅い方の価格は早い方の価格に追いつく」という考え方を行うことは先ほど述べました。
では、具体的に「ヘッジ」と「遅延」で何が異なるのでしょうか?
まずエントリーとエグジットする際を個別に考えましょう。
エントリーについて
エントリー基準に関してはヘッジのときの考え方をキープしておいて良いでしょう。
エグジットについて
エグジット基準に関しては、スプレッド評価式を をベースに考えるよりかは
「本来あるべき価格に追いついたら決済する」という方法が合理的なのではないでしょうか?
つまり「遅いFXブローカー」の価格が本来あるべき価格に追いつくことをエグジット条件とします。
4. エントリー基準
前節の考察をもとに、以下では
レイテンシー・アービトラージにおけるエントリー基準を具体的な数式で表現していきます。
試しに ブローカー 1 を早いブローカー、ブローカー2 を遅いブローカーと仮定します。
するとエントリー基準は
- Bid_1 — Ask_2 > 0
- Bid_2 — Ask_1 > 0
となります(左辺が “スプレッド評価モデル” です)。
5. エグジット基準
エグジットは以下です。
仮に Bid_2 ― Ask_1 > 0 の条件でエントリーした場合を考えると、(1が早いブローカー、2が遅いブローカーなので)
「Ask_2 が、 エントリー時のAsk_1 に追いついたら」 となるでしょう。
レイテンシー・アービトラージでは「遅いブローカー」のみでエントリーとエグジットを行うので、
この場合には
- エントリー価格は「エントリー時の Bid_2」
- エグジット価格は「エグジット時の Ask_2 = エントリー時の Ask_1」
となるでしょう。
繰り返しにはなりますが、エントリー時とエグジット時で時間 t が変化していることに注意してください。
6. 【注意】デフォルトの価格差の調整は必須
述べている人は少ないですが、ブローカー間ではデフォルトで価格の差がある場合も多いです。
(A社の方が若干B社より価格が高めなど)
このような「デフォルトの価格差」には常に注意すべきです。
考慮できていない場合には、実際にはサヤが生じていないのに大量の誤エントリーをしてしまったり、エグジット時に「価格が追いつく」という動作が起きずに取引が損失で終わってしまう可能性が高いです。
具体例
わかりにくいと思うので具体例を挙げましょう。
スプレッドは Bid_2 ― Ask_1 , Bid_1 ― Ask_2 の2式で表されます。
これらは共に通常時は マイナスの値ですが、例えば
- Bid_2 ― Ask_1 = ―30
- Bid_1 ― Ask_2 = -50
という状態は望ましくありません。
したがってこの状態を解消するために Offset値 を設定する必要があります。
Offset 値の設定による対処
「Offset 値を設定する」とは、どういうことでしょうか?
上記の例で言うと、
Ask_1 と Bid_1 をともに 10 大きくして、
- Bid_2 ― Ask_1 = -40
- Bid_1 ― Ask_2 = -40
という状態を作り、均衡を取ること
です。
非常に簡単ですが、
適切な Offset 値は時間帯によって大きく異なることも多いので注意が必要です。
7.応用編
上記の例では、「”サヤ” が開いたらエントリー、本来の価格に戻ったらエグジット」する方法を紹介していますが、実際には数多くのバリエーションがあり得ます。
- 開いた “サヤ” がすべて閉じるまでまってからエグジットせずに、7割閉じてからエグジットを行う
- 利益目標(TP)を設定する
なども良いエグジット方法です。
使用するFXブローカーによって適切なエントリー基準・エグジット基準は異なるので、いろいろ研究してみましょう。
まとめ
今回は自らの経験をもとに、
レイテンシー・アービトラージの具体的な「スプレッド評価モデル」や、エントリー・エグジットの基準を細かく解説しました。
レイテンシー・アービトラージの仕組みや、うまくいくFXブローカーを見つける方法、利益をあげるための具体的な施策などは
元の記事(レイテンシー・アービトラージの仕組みと, 儲ける秘訣を解説!)に細かく記載しております。
是非そちらも合わせてご覧ください。