こちらは、三角アービトラージ(Triangular Arbitrage)の概念・やり方についてわかりやすく解説した記事です。
三角アービトラージとは、3つの通貨ペアによって生じたわずかな「価格のサヤ」(= price discrepancy)を利益に変える取引手法で、
「3通貨アービトラージ」や「三角裁定取引」「トライアングルアービトラージ」などとも呼ばれます。
この取引手法は古くからFXトレーダーの間で使われてきた手法です。ですが、近年では仮想通貨市場でもよく見かけます。
この記事では実際の金融市場において、三角アービトラージによって利益を上げている当サイト運営者が、
- 概念
- エントリーの基準となる「計算式」の詳細な説明
- 応用方法
- 利益を上げる際に重要な点
まで詳しく解説します。
Contents
1.三角アービトラージの「仕組み」を解説
まずは簡単に「三角アービトラージの仕組み」を解説します。
そもそもアービトラージとは?
そもそもの話ですが、「アービトラージ」とは、
「相関から外れた」瞬間には “サヤ” が生じます。基本的には、この “サヤ” が大きいほど利益は高くなります。
英語では discrepancy と呼ばれるものです。
また 相関性と2つの商品 に関しては様々なバリエーションが考えられます。
- 相関性には様々な時間軸が考えられます。日足レベルでの相関なのか、分足レベルなのか、ティックレベルなのか。
- 2つの商品はいくらでもあります。「トヨタの株と日産の株」「異なる取引所における “GBPUSD” の価格」「同じ取引所の GBPUSD と GBPJPY の価格」「WTI 原油と BRENT 原油」など。
三角アビトラは「市場価格」と「理論価格」の “サヤ” を取る手法
三角アービトラージとは、
上記の「アービトラージ」の説明 の中の 2つの商品 が
であるタイプのアービトラージであるといえます。
三角アービトラージにおいては、「市場価格」と「理論価格」の差が「サヤ」になります。
わかりにくいので簡単に説明します。
「理論価格」とは?
「三角アービトラージは」 3つの通貨ペア によって行われる、と述べました。
例えば、USDJPY・GBPUSD・GBPJPY の3通貨ペアで三角アービトラージすると仮定します。
すると “USDJPY” の価格は、「USDJPY の市場価格」だけでなく、「他の2つの通貨ペアを組み合わせた値」からも計算でき、USDJPY の場合は
となります。
これが「理論価格」です。
わかりやすい例
これはよく出てくる例ですね。
USDJPY: 134、GBPUSD:1.196、GBPJPY : 160 という価格で市場で取引されているとき、
- はじめに 10万ドル が手元にあるとする
- これを市場で 1340万円 に変える
- 次に 1340万円 を 8.375万ポンド に変える
- 最後に 8.375万ポンド を 100165 ドル に変える
によって手元に「165ドル」が利益として残ります。
具体的な数字を追うのは面倒でも、このようにして利益が出るという大枠はわかってもらえると思います。
2.計算式
三角アービトラージにおいて、理解が必要な計算式をすべて解説します。
具体的には
- “サヤ” がどのように計算されるのか
- エントリー基準とエグジット基準はどのように設定すればいいのか
- 各 3つの通貨ペアのロット数はどのように計算するべきなのか
という内容です。
もともとはこの内容について詳細に解説していましたが、(詳しすぎて)長くなりすぎてしまったため、別記事にまとめました。
是非ご覧ください。
3.三角アービトラージに最適な通貨ペアの組み合わせは?
三角アービトラージに最適な通貨は、どういったものでしょうか?
基本的には USDJPY ・EURUSD・EURJPY などの為替ペアが思いつくと思いますが、「理論価格」と「市場価格」間の “ズレやすさ” を考えるとマイナー通貨ペアとメジャー通貨ペアの組み合わせが結構良いと思います。
私が過去にやっていたのは
- XAUUSD(比較的メジャー通貨ペア)
- XAUEUR(マイナー通貨ペア)
- EURUSD(メジャー通貨ペア)
の三角アービトラージです。かなり儲かりましたが、おそらくバレてしまい、ある時を境にスリッページが広大になったので止めました。
4.どちらの価格が「正しい」かわかる場合にはヘッジは不要
アービトラージとは「2つの価格のサヤを取る」取引戦略ですが、多くの場合は「ヘッジ」をします。
今回紹介している方法でも(市場価格と理論価格の)両建てによって「ヘッジ」をしています。
「ヘッジ」をするのは、“2つの価格のうち、どちらの価格が正しいとは断言できない” ためです。
では、2つの価格のうち「正しい価格」「間違っている価格」があった場合はどうでしょうか?
簡単に言うと、「間違っている価格」が「正しい価格」に追いつくので、ヘッジをする必要がなくなります。
今回の三角アービトラージでも、
何らかの方法で「正しい価格」「間違っている価格」がわかる場合には、両建てを行わずに儲けることが可能になります。
実際、私が現在も利用している “あるブローカー” では、
XAUJPYの価格更新が非常に遅いので、XAUJPY・XAUUSD・USDJPYの三角アービトラージにて「ヘッジなし」でトレードしています。
5.三角アービトラージは儲かるのか?
三角アービトラージで確実に儲ける上で、絶対に注意しないといけないポイントがあります。
以下に挙げているポイントをしっかりと満たすようにしましょう。
現実と理想の乖離
アービトラージは “理論上は” リスク0で儲かる手法ですが、現実は全くそうではありません。
特に短期の時間軸においては、狙う “サヤ” が小さいので
「スリッページ」が大きな壁となってほとんどの FXブローカーでは利益を上げられません。
例えば 「5pips レベルのサヤ」取るような戦略において、 “2pips のスリッページ” は収益性に多大なる影響を及ぼします。
したがって
「いかにスリッページを小さくするか」が短期のアービトラージにおいては最も重要です。
スリッページを小さくするには「FXブローカー選び」「実行速度」「約定速度」が極めて重要になってきます。
以下に詳細を述べます。
約定速度を上げるには VPS が必須
アービトラージに限らず、スキャルピングなど短期のトレード戦略には VPS は必須です。
FXブローカーの取引サーバーに近い場所に、 VPSを借りることによって
MT5 ターミナルとFXサーバーの「通信にかかる時間」を極限まで減らすことができるためです。
ただしこれはあくまで「必要条件」であり、取引サーバの近くにVPSを借りたからと言って必ずしもスリッページが小さくなるというわけではありません。
FXブローカー選びが肝心
「通信にかかる時間」を極限まで減らした上で、注目するべきなのは「約定時間」です。これは MT5 のログにて確認できるので常に注目しておきましょう。
約定時間とは、「① 通信にかかった時間」と「② FXブローカーの取引サーバー内で注文を処理するのにかかった時間」を全て合計した値です。
「② 処理するのにかかる時間」はブローカーの取引システムのスペックや、オーダーの混み具合に大きく左右されます。
またブローカーによっては、アービトラージを “検知” すると “意図的にスリッページを付与する” ブローカーや、”約定時間を意図的に遅らせる” ブローカーもあり、注意が必要です。
私は過去にアービトラージをやってきて、何度もそのようなブローカーに当たったことがあります。ここでは具体名は言及できませんが、ログに出力される実行時間が急に遅くならないか・スリッページが急に大きくならないかチェックしておくとよいと思います。
三角アービトラージで利益の出るFXブローカーに関しては、個別に問い合わせフォームから送ってもらえれば一部教えることが可能です。(このページに載せることはできないません)
実行速度を上げるには
約定時間ほどではないですが、EA の処理を実行するのにかかる時間 も大切です。
このためにはスペックの高いCPUと、処理時間を短縮するためのコーディングが大切になります。
負荷のかかる処理をできるだけ回避して、計算速度を上げる工夫が必要です。
口座タイプはECNとSTPどちらがいいのか?
ECNがよいでしょう。
ただ、ECN でもスリッページは 0 ではないので注意が必要です。
FXブローカ-によっては「完全な “ノミ口座”」を用意している場合もあるので、そういう場合はスリッページが 0 になります。
いろいろ実験してみて調査してみるのも良いと思います。
6.EAを作って実際の金融市場で自動化してみた
三角アービトラージの EA については、私自身、何度も実験と改良を繰り返しています。
通貨ペアとブローカー選びに関しては、まずは少額で実験してから運用するのがよいでしょう。
以下にうまくいった実験をお見せします。
ブローカーさえちゃんと選べばかなり儲かる
いろんなブローカーでやってみました。
最適なブローカーと通貨ペアの組み合わせさえ選べばかなり儲かります。「三角アービトラージを実験する用」に新たに開いた口座があるのでその履歴を載せておきます。
(本格運用している他の口座もいくつかあるんですが、三角アービトラージ以外の履歴がたくさんあるのでさすがにここには載せられません。。)
これは実験として、「EURAUD/AUDUSD/EURUSD」などの組み合わせでやってみた結果です(画像を見てもらえばわかりますが、他の組み合わせもやってます)。やる前はあまりうまくいくとは思ってなかったのですが、意外といろんな通貨ペアで利益が出てびっくりしました。
勝率は74%です。この例は実験なので 最小ロット数でしかトレードしてませんが、6万円を入金して1か月で12700円くらいの利益でした。
この通貨ペア・FXブローカー組み合わせでも(もっと大きなロット数で)これから本格的に運用していけそうな気がします。
なお「間違った価格」を見つけると、ヘッジせずに儲かるのでよいですね。
「レートが止まる瞬間」をうまく利用すると確実に儲かる
EAを作ってやってみるとわかりますが、
ブローカーによっては「数十秒がレートが止まる」ブローカーがあります。
その際には、エントリーシグナルが何度も発生していて(本来 “サヤ”が開いた状態は一瞬のみで長く続かない)、スリッページが 0 になっています。
FXブローカーによるので何とも言えませんが、レートが止まることを逆手にとって、これを検知してアービトラージするEAを作るのもアリです。
作成したEAについて
時間があったら私の作成した EA を(もちろん無料で)公開しようと思います。現在はやるべきことが立て込んでいるのでいつになるかわかりませんが、、、
7.仮想通貨でも可能なのか?
もちろん可能です。
仮想通貨での三角アービトラージはここ数年かなりよく見つけます。
取引所の公開している API でトレードしている人が多いイメージですが、近年ではほとんどの海外FXブローカーで仮想通貨を取り扱っていて、MT4・MT5 を採用しているブローカーもかなり多いので MT5 でも十分可能です。
実際私も、とある仮想通貨に特化したブローカーにて MT5 で三角アービトラージのEAを動かしています。
ただ注意点としてはブローカーによっては、ある銘柄の価格がデフォルトで値がオフセットされている(=Ask・Bidがデフォルトで一定の値だけ高かったり、低い)場合もあるので、そこを一旦「調整」してからアービトラージを実行する必要があります。
気が向いたら仮想通貨向けの三角アービトラージEAに関する情報もまとめようと思います。
まとめ
今回は三角アービトラージの仕組みをまず説明した上で、具体的な「計算式」や、エントリー・エグジットの基準にも触れました。
(追記:「計算式」に関しては専門的なので、こちらの記事に移動しました。)
そのうえで、現実の金融市場で三角アービトラージで利益を上げる際に重要な3点、「約定速度」「実行速度」「ブローカー選び」を経験談をもとに説明し、その他の細かいコツにも触れました。
もしわかりにくい箇所がありましたら、すべて返信しますので、コメント欄にてお願いします。
ルイスさん、こんにちは。
私も、父の仕事の関係でセカンダリースクールまでロンドンで過ごしていましたので、以前から親近感を感じながらルイスさんのブログを拝見しています。
日本に居住し始めてから約10年になります。
今、mql5の勉強をしており、奮闘しながらトライアングルアービトラージEAを作成中です。
完成次第、デモトレード → 少額リアルトレード → 本格運用の順で考えているのですが、ルイスさんがお薦めできるFX業者とはどこなのでしょうか?
また、ルイスさんは何をもって「正しい価格」と「間違った価格」を判断されているのでしょうか?
ありがとうございます。近いバックグラウンドを持つ方からのコメント、非常にうれしく思います。
MQL5プログラムの作成、応援しております。
では、回答させていただきます。
まず、「おススメのブローカー」に関してはコメント欄にて具体名を述べることはできませんが、条件としては ①スリッページが安定して少ない ②手数料が低い ③約定時間が比較的短い ④価格の精度が比較的高い などかと思われます。
次に「誤った価格」の判断方法ですが、こちらはブローカーの取引システムに大きく依存しますので一概には言えないと思います。例えば、特定の銘柄のみ価格の精度が低いブローカーなどもあり、”XAUUSD と USDJPY に比べて XAUJPY の価格が圧倒的に精度が低いブローカー” なども存在します。この場合には XAUJPY のみに絞ってトレードを行うことで優位性を得ることができます。他にもブローカー内部⇔MT5ターミナル側でのティックの到達や約定が行われるまでの仕組みをモデル化することで、誤った価格を判断する手がかりが得られると思います。