レイテンシーアービトラージ 2022年02月14日 – Posted in: Arbitrage Software
世界には非常に多くの市場が存在するため、同じコモディティ/通貨/金属/暗号通貨が多くの場所で同時に取引されるようになっています。分散して入札されるのは、例えば、地理的な位置や時間帯の違い、生産/製造/製造場所の違いなどによるものです。多くの場合、このような取引のばらつきにより、同じ商品の価格が異なる取引プラットフォーム間で変動します。ある取引所である価格で商品を購入し、別の取引所で少し高い価格で販売する場合、この取引はレイテンシーアービトラージと呼ばれます。理想は、売買が非常に迅速に行われることです。他の名称は、アービトラージ遅延と高頻度取引です。
高頻度取引は、1998年にSECが電子取引プラットフォームの運用を許可したことから始まったとされています。当初は数秒単位で行われていた高頻度取引も、2010年にはミリ秒単位、時には数百、数十マイクロ秒単位にまで短縮されました。2000年代前半には、高頻度取引は市場取引の10%未満でありましたが、時間とともにその割合は増加しています。NYSEによると、2005年から2009年の間に取引量は2.6倍に増加し、その一部は高周波トレーダーによってもたらされたものです。現在、レイテンシーアービトラージは金融市場の全取引の80%以上を占めています。大手銀行やその他の金融会社も、従来の取引に加え、高頻度取引を行っていると思われます。高頻度取引戦略が広く採用されるようになると、そこから利益を得ることが難しくなります。フレデリ・ヴィエンス(パデュー大学)は、米国における全高頻度取引による利益は、2009年の50億ドルから2012年には12億5000万ドルに減少したと推定しています。しかし、競争が激化しているにもかかわらず、レイテンシーの裁定取引は依然として金融市場で最も有利な収益形態の1つとなっています。この分野の取引アルゴリズムが、何年にもわたって一度も負けたことがないケースもあるのです。
定義
レイテンシーアービトラージとは、あるプレーヤーが相場情報源により迅速に接続することで、他のプレーヤーより優位に立つ取引形態です。。つまり、そのプレイヤーの注文送信ポイントは、他のプレイヤーの同じポイントよりも物理的に近いのです。
指での操作方法
二人の人が果物市場にやってきて、二人の桃売りを見たとします。最初の桃の値段は20ルーブル、2番目の値段は22ルーブルだとします。桃は品質による商品の選択を排除するために絶対に同じであるとします。つまり、買い手は通常、まず20ルーブルの桃を食べ終わるまで買い、その後初めて22ルーブルの桃の値段の売り手のところに行くということです。最初の買い手は、20ルーブルの桃を買うつもりで送り込まれます。そして突然、2番目の買い手が先回りして向こうから走ってきて、素早く20ルーブルの桃を全部買い、その場ですぐに例えば21ルーブルの値段で売りに出すのです。ここで重要なのは、売値が買値より大きく、次の売り手の売値より大きくないことです。それ以上であれば、買い手は22ルーブルを買うでしょうし、それ以下であれば、どこに利益があるのでしょうか?
技術的な仕組み
仕組みは同じで、市場に良い値段があれば、できるだけ早く買って、すぐに高い値段で転売する必要があるのです。これは、様々な技術的、地理的な工夫によって実現されています。このような短期的だが実質的に100%信頼できる優位性を得るために、特別なソフトウェアと機器が使用されます。通信ネットワークにも高い要件が適用されています。ファイバーの分野では最先端の技術だけが使われています。そしてもちろん、決定的なのは取引に使用する機器の設置場所です。どんなに高性能、高技術であっても光の速さには勝てない、つまりその速さでデータはケーブルを伝わっていきます。フォーブス誌に掲載された金融機関は、利益を追求するため証券取引所と高額な契約を結び、取引所のサーバーと同じビルにサーバーを設置します。このように取引に必要な機器を配置する原理をコロケーションといいます。このようなサービスは、契約を結べば誰でも利用できるため、入居者全員の条件の平等性をめぐって衝突が起こることも少なくありません。例えば各参加者の機器から取引所のサーバーまでのケーブルの長さは、すべて同一でなければなりません。機器がサーバーから5メートル離れていても、100メートル離れていてもです。
取引アルゴリズムのための装置は、高度に専門的で非常に高価なものが使われ、オーダーメイドで作られることもまれではありません。これらのチップは、一般的にDMA(ダイレクトメモリーアクセス)や高周波チップです。アルゴリズムの記述には、アセンブリ言語のような低レベルのプログラミング言語のみが使用されます。
市場データの転送には、ケーブルで接続する方法のほかに、空中で行う方法があります。これらは通常、通信の世界では特殊な主電磁波回線を指します。この民間のマイクロ波無線ネットワークは、何百キロにもわたって張り巡らされ、コストも数千万円かかります。取引所-相場の発信源が取引の中心地からかなり離れたところにある場合に使用されます。この場合、先にケーブルを引いても費用対効果が悪く、結局は効果的ではありません。ケーブルは必然的に井戸、トンネル、橋、高速道路、鉄道などのトポロジーに沿うことになります。この場合、回線ノードを丘や建物の屋上に配置し、目的地間をほぼ一直線に無線中継回線を構築することができます。その結果、ケーブルで信号が進む距離は、景観の関係でどうしても無線中継線素地を通る距離の数倍になってしまいます。また、このケーブルの経路には無線よりも多くのルーターがあり、各ルーターに余計な遅延がかかってしまいます。
これらのマイクロ波無線ネットワークは、信号を最小限の遅延で伝送するように設計された特殊な無線中継装置を使用しています。例えば、一般的な低遅延無線ブリッジの遅延は50ns(50ナノ秒)ですが、一般的な商用無線ブリッジの遅延はその1000倍の約50μs(マイクロ秒)です。このようなネットワークのスループットは、1秒間にギガビットに達します。
証券取引所ビル内でのコロケーションの場合、同じサイトで同じクォートソースを使って取引しているプレイヤーに勝つことが目的だとすれば、遠隔地の取引所への高速接続は少し違った目的を持っていることになります。FRBやECBの予期せぬ決定、暴落、他の都市や国での異常な取引パフォーマンスなど、マーケットで予期せぬ出来事が起こることは珍しくありません。また、前述のとおり、同じ商品が異なる取引所で取引されることも珍しくありません。また、あるツールがある取引所の商品でありながら、同時に別の取引所で取引されていることも珍しくありません。例えば、ドイツで最も重要な株価指数であるDAXが、フランクフルト証券取引所で取引されているとします。ロンドン証券取引所もまた取引所です。この場合、ロンドン証券取引所にコロケーションを持ち、フランクフルト証券取引所と直接無線中継網を結ぶことで、ドイツ経済の急変にいち早く対応することができるのです。
一般人のためのレイテンシーアービトラージ
位置と、ブローカーへのping送信
どんな機器をお持ちですか?マニュアル取引であれば、平均的な性能の家庭用パソコンでも十分ですが、それ以外のタイプでは、もっと高級なものを購入する必要があります。
最初のポイントを最適化する場合、我々がアプリケーションを送るブローカーのサーバーがどこにあるのかを調べ、できるだけそれに近いサーバーを借りる必要があります。専用サーバーを借りる方が、与えられたリソースをフルに活用できるため、おすすめです。専用サーバーと仮想サーバーの違いは、最初のケースでは、ハードウェアに直接アクセスすることができ、2番目のアクセスは、いわゆる仮想マシンを介して行われることです。2番目のケースでは、ほぼすべてのサーバーの所有者は、オーバーセルを行います。つまり、50コアのプロセッサーと100GBのRAMを搭載したサーバーをインストールしたとします。仮想化ソフトウェアを使って、彼らはこれらのリソースを30台の仮想サーバーに切り分け、それぞれに2コアと4GBのRAMを持たせるのです。でも、こんなことが可能なのか、とお思いでしょうか?結局のところ、60コアと120GBのRAMになるのでしょうか?仮想化ソフトを使えば、いくらでも仮想サーバーを作ることができるのです。この種のサービスのベンダーは、原則として、彼らの顧客のほとんどは、これが少なくとも頻繁に発生するという事実を当てにして、彼らのリース容量を100%ロードしないという事実を利用しています。そして、誰かが自分のサーバーに負荷をかけなかった場合、別のサーバーはその余分な仮想サーバーを実行するためにいくつかのリソースを持つことになります。この場合ある時点であなたのソフトウェアが割り当てられたリソースの全容量を必要とする場合、現実には販売された容量が物理的に利用可能な容量よりも多いため、単に不足している可能性があります。プログラムはこのためにハングアップすることはありませんし、いずれにせよ計算を行いますが、忙しいからそれを解放した他の誰かから少し後にその電力を取得します。このように、あなたのアルゴリズムは、タイムリーな計算と意思決定のための貴重な時間を失う可能性があります。
さらに取引所間の裁定取引を行う場合には、両取引所への直接アクセス、またはAPIを有することが望ましいとされています。これは通常FIXプロトコルかPLAZA2のどちらかになります。そのような直接接続がない場合は特定の取引所の取引端末を使用するか、直接アクセスと端末の組み合わせが1つずつになります。API接続はしていないが、取引端末へのAPIは持っているブローカーも珍しくはありません。それぞれのケースは個別です。最も困難なケースは、取引所が端末もAPIも持たず取引用のWebインターフェースのみを持つ場合です。このような取引の自動化はより困難で、ウェブページのアクションを解析して自動化する必要があります。そして、これはクォート
でかなり大きな遅延がある場合にのみ意味をなします。ブローカーはどちらも接続API、その端末へのAPI、またWebインターフェイスを介して取引の任意の相互作用を持っている場合 – 最も可能性の高いそのような取引を自動化することは成功しません。そしてその場合はより適したブローカーを探し続けることをお勧めします。
レイテンシー・シングルエクスチェンジ・ステラテジー
ポイントは、自分のサーバーをできるだけ取引所サーバーに近いところに置くことです。そして、そのスピードを利用して、他よりも早く最良の価格で入札を買い、少しの利益で転売します。データを受信し、取引注文を送信するには、以下を使用します:
– 自動売買アルゴリズムに対応している場合は、取引端末。取引ソフトウェアのベンダーの多くは、スクリプトや自動化システムのための言語をサポートしています。例:
- TradeStation – EasyLanguage 言語
- Quik – QLu 言語
- Transaq – ATF 言語
- ニンジャトレーダー – NinjaScript 言語
- JForex – Java 言語
特定のプラットフォーム用のソフトウェアを見つけるか購入するか、またはプログラマーのサービスにお金を払って、特定の端末のためのタスクのソフトウェアを書いてもらうようにする必要があります。
– レイテンシーアービトラージ用に特別に設計されたサードパーティソフトウェア。ブローカーが取引所への直接接続サービスを提供する事はまれではありません。非常に人気がある場合、接続の1つまたは別の種類の下に、あるいは特別なブローカーの下に必要なソフトウェアを記述する企業も存在します。
– 自己署名されたソフトウェアは、取引戦略のための特別なアルゴリズムに書き込まれ、最適化されています。あなたがプログラマーではない場合、この仕事のために彼を雇う必要があります。
レイテンシー相互接続ストラテジー
さらに2つのパートに分けることができます:
最初の選択肢は、より高速なブローカーのクォートを使用し、取引注文をより低速なブローカーに送信することです。この場合取引サーバーもブローカーサーバーにできるだけ近いところに設置するのがよいでしょう。速いブローカーから相場を入手し、遅いブローカーからの相場と比較し、大きな差がある場合 – 商品間の差に向かって遅いブローカーに取引注文を出します。
2つの取引所で同時に取引する。この場合口座は両方のブローカーで開設され、口座には同額が補充され、取引サーバーはその中間のどこかに設置されます。価格が低くなっている取引所のいずれかの任意のトレード対象の価格に必要な差がある場合 - 値段が安ければ買い、高ければ売ります。戦略によっては、両方向での取引が可能です。価格は両方の取引所で同額になったら -戻って資産を購入/販売する必要があります。しばらくすると2つの取引所のバランスシートの間に差が生じます。入金額の合計が元の入金額を上回っていれば、ストラテジーの利益について語ることができます。より大きな入金額で、より小さな入金額の取引所に移管して、再び等しくなるようにする必要があります。
レイテンシー証券取引所アービトラージ
このブローカーカテゴリーでは、この種の取引で競争することは困難です。このニッチはかなり長い間占拠されており、莫大な投資を受けています。取引所の中には、いわゆるアグリゲーター取引所もあります。彼らは多くの取引所からクォートを取得し、入札の1つのガラスにそれらをまとめています。同時にこのような取引所は、クライアントのアプリケーションを互いに組み合わせるのではなく、クライアントと取引所の間の仲介役としてのみクライアントが購入するボリュームを提供します。そのような交換で市場に十分なボリュームを費やす場合 – 異なるブローカーの異なる株式にすることができます。それを介しての取引は避けられない遅延を含み、すべてのメリットを失うことになるように、そのような交換にレイテンシ裁定を適用することは不可能です。
レイテンシーFXアービトラージ
FX市場は分散型市場であるOTC(Over the Counter)-デリバティブです。特定の通貨を購入 – それを物理的に購入するわけではありません。技術的には、下取り無期限契約です。FXブローカーのための最も一般的なプラットフォームは Metatrader 4/5です。原則としてFXブローカーがFIXプロトコルを介して直接API接続を行うのはまれなケースに過ぎません。すべての取引は取引端末を通じて行われます。 Metatraderにはコンパイル済みの言語MQLが組み込まれており、構文はC++に限りなく近く、ターミナルの開発者が述べているようにスピードも速いです。この言語は、スクリプト、アドバイザー、インジケータ、ほとんどすべての複雑なものを書くことをサポートしています。第4版の機能はよりシンプルで、外部からデータを転送する機能はファイル、Webリクエスト、コンピュータのメモリ上のファイルの表示を通してかなり制限されています。5番目のバージョンでは、前のポイントに加えて、伝送のかなりの速度を与えるソケット接続を作成する可能性があります。さらに、にはPython言語用のAPIが組み込まれています。しかし後者はそのような迅速な計算のために比較的遅いので – それは、より高速なプログラミング言語とソケットを支持して無視する方が良いです。Metatraderエコシステムにおける取引アルゴリズムは、エキスパートまたはアドバイザーと呼ばれています。インターネット上では、レイテンシ裁定取引のためのアドバイザーを含む、この端末のためのさまざまなアドバイザーの多くを見つけることができます。
外国為替市場における流動性プロバイダーについて
FX市場は分散型であり、通常供給者から流動性を得ています。FXの流動性供給者は世界に20社ほど存在しています。同時にFXブローカーが自ら流動性供給者になることも稀にあります。つまり大規模なブローカーが小規模なブローカーにアプリケーションを販売するのです。結局、=FXブローカーは、他のブローカーのサプライヤーとある程度重なりながらも、全く異なるサプライヤー構成になっている可能性があります。あるブローカーがあるサプライヤーから流動性を受け取り、そこに顧客の流動性を混ぜて、次のブローカーに転売するとしましょう。
しかし、流動性プロバイダーがAPIを提供している場合、小規模なブローカーに対してより迅速なソースとして使用することができます。
外国為替市場で取引するブローカーの選択
現在、FXブローカーの仕事には、次の3つのモデルが知られています:
外国為替ブローカーは、いくつかのソースからクォートのトレード対象の価格を取りますが、同時にトランザクションの第二部としてあなたのために行動する、つまりマーケットメーカーです。また同時にあなたの完全な損失 – それは完全な勝利になります。そのようなブローカーはクライアントにお金を払っておらず、スリップ、プロップなどの形で、取引を妨害するのが好きという事実が有名です。そのようなブローカーが、のぞき見の禁止、フロントランニング、裁定取引、少なくとも数分の取引で見つけるための要件、などの形で非常に奇妙な才覚を持っていることはまれではありません。
ブローカーは顧客との取引において完全にカウンターパーティーではなく、すべての取引を流動性供給者にアウトプットします。ブローカーは取引の単なる仲介者であり、あなたの損失に興味がないので、このオプションは最も好ましいです。しかし彼らの主な収入は少額の取引手数料であるため、そのようなブローカーはまれです。それは価格に含まれているか、別々に請求することができ、顧客は流動性プロバイダの価格で動作するようにします。同時に、ブローカーは、カウンターエージェントとの取引を行うとき – 手数料を支払うのです。ブローカーの手数料は少し大きいので、それが彼の稼ぎとなります
ブローカーが取引の一部を相手方に持ち込み、一部を自らクローズして取引の第二当事者となる混成システム。「通常の」ブローカーのほとんどは、この方式で運営しています。おそらくそのようなブローカーは、すべての新規顧客の取引では最初に自分自身を閉じます。彼らは、顧客が主に勝つことを確認した場合 – 彼の取引は、相手方にさらに出力を開始します。したがって、ブローカーが獲得されるリスクはありませんし、詐欺に従事しクライアントの取引を傷つける必要はありません。
ブローカーの選択は、それが良い金融規制当局の管轄下にあるべきであるという事実で始まるべきです。現時点では、これらは:
- FCA – UK
- BaFin – ドイツ
- NFA – USA
- FINMA – スイス
これは取引以外のリスクを排除するために必要なことです。歴史上、FXブローカーが顧客の全財産を持って忽然と姿を消したケースは数多くあります。そしてその登録がオフショアであることが判明し、オフショアの規制当局には何の責任もないことが判明したのです。上記のようなコントロールにより、顧客は次の二つの重要なものを手に入れることができます。:
- 分離された口座。顧客のお金とブローカーのお金は別々の口座に保管されます。ブローカーには出金・充当権はないが、顧客に代わって顧客のお金で取引を行うことができます。
- 顧客の預金には、すべて一定額の保険がかけられています。ブローカーが倒産した場合、顧客は預金数、または預金額がそれを上回っていた場合は保険金額に応じて払い戻しを受けることができます。
- ブローカーは公認の流動性供給者を持つことが義務付けられており、顧客との取引の第二当事者として行動する権利はありません。
これら3つの事実はブローカーの不誠実な仕事を無意味にし、預金保険の存在は規制当局がその管理下にあるブローカーの仕事を厳密に監視することを余儀なくさせるのです。
暗号通貨取引所におけるレイテンシーアービトラージ
ほとんどの暗号通貨取引所には、ウェブ取引とAPI接続があります。通常、APIはマーケット情報のWebSocket接続と、あとはマーケット情報の取引機能です。最初の接続は高速で、2番目の接続は低速です。なぜそうなるかは不明ですが、歴史的にそうなっています。おそらく暗号通貨取引はかなり若い業界であり、暗号通貨取引所のデータセンターはまだ取引インフラにこれほど強力な注入を行っておらず、見積もりや取引アルゴリズムを証券取引所並みに高速化できていないのでしょう。プラスになるのは、一般的にAPIが複雑でなく、どんなプログラミング言語でも取引アルゴリズムを作成できることです。
トレーディング戦略:
- 一つの取引所で取引し、当社のサーバーを取引所のサーバーにできるだけ近づけます。
- いくつかの2つ以上の取引所で同時に取引を行い、それぞれの取引所に同額の保証金を作ります。
2つ目のケースでは、ある取引所をより速く、他の取引所をより遅くという使い分けは事前にできません。FXとは対照的に暗号取引所の取引はそのサーバーで行われ、取引は相手先に提出されないので、プロバイダーへの直接アクセスを速いものとして使うことはできません。この点ですべての暗号通貨取引所は平等です。しかしその数は多いので、すべてに等しくpingが上がる取引サーバーを1台置くことはできません。だからこの戦略は、2つの取引所のうち、2、3の取引所だけで使わなければならなくなるのです。必要であれば他の取引所にもスケールさせることができますが、サーバーを挟んだ2つの取引所のシステムだけを考えてください。