裁定取引オーダー順番を調整

最近、8/23にBitbankとBinance間、こな裁定取引のシナリオを見ました。シナリオは次のとおりです。

BitbankでAPIから返された買いの入札価格は0.00708xxがあって、BinanceやBittrexなどの他の取引所の平均価格は0.00721xxxでしたが、2つのスプレッドの差が1.8%利益取れるの意味です。

裁定戦略の観点からみると、利益を獲得する良い機会のようですね。したがって、ボットエンジンが次の通りを実行します。

1.売り注文をBinanceに発注する
2.売り側は完了してから、買いをBitbankに発注して、利益を獲得つもりです。

しかし、今回の裁定取引は売り買いはすべて完了しませんでした。 Bitbankでの買いは約定しなかったため、リープオーダーになった。

実際に調べたら、Bitbankの歩み値を見て、0.00708xxの価格で約定してたの取引がなかった。Bitbankのチャートに表示された画面にも、0.00708xxという約定の価格はどこでも表示されませんでした。

何で0.00708xx板をAPIから返されたと不思議でした。可能性としては、他の取引ボットで、ミリ秒単位で0.00708xxという低い指値を出したり、キャンセルしたりと繰り返ししてました。ちょどその時に、システムがこの板を取れましてスプレッドを計算しました。裁定取引機会が存在するかどうかを判断して発注出しました。

このシナリオを回避する最良の方法とは?
ーーーーーーーーーーーーーーーーーーーー

取引所からの価格板を確認する方法はないので、裁定ロジックを少し調整が必要と思います。

「各取引所でのスプレッドを確認しながら、どちらが先に発注するかと判断するのことです。スプレッドが大きや取引量が少ないの取引所は先にオーダーをだして、約定すれば、次の取引所にも約定の可能性が高くなる。」

先ほどのシナリオの場合は、Bitbankのスプレッドの方が大きい:

1.買い注文をBitbankに発注する
2.買い側は完了してから、売りをBinanceに発注して、利益を獲得。
3.買い側は完了しなかったら、Bitbankのオーダーをキャンセルして、それでおわり。

 

強気と弱気市場での設定

前回のブログで、アービトラージを実行する際に初期のコイン数がずれるの理由について述べました。リープオーダーが多いほど、元々の残高から外れるすることが多くなります。リープオーダーとは、片方の取引が完了したことを意味し、反対側のオーダーは約定待ちの状況です。

強気市場では、流動性が高い場合、買いと売りオーダーを約定する可能性が高くなります。したがって、利益を獲得することができます。しかし、弱気相場では、投資家は売りと買いすることに慎重であるため、買いまたは売りのどちらかで約定される可能性は比較的低くなります。この期間では、リープオーダー数も多い場合がなります。

それを避けるための最善の方法とは?

下記の例で説明しましょう
総資産:1 BTCと20 ETH

強気市場では、次のように設定します。
=> 最大サイズ= 2 ETH(ETHポジションの10%)
=> スプレッド= 0.80%

最大サイズを大きく設定する主な目的は、買いと売りを約定するのが比較的約定しやすく、大きな利益を獲得することができるでしょう。また、強気相場では、スプレッドは弱気相場よりも広くなる傾向があります。高いスプレッドを設定すると、各裁定取引の利益を最大にすることを可能にするでしょう。

弱気市場では、次のように設定します。
⇒ 最大サイズ= 0.5 ETH(ETHポジションの2.5%)
⇒ スプレッド= 0.40%

リープオーダーが多いためにスタートポジションから外れるリスクを減らすため、最大サイズを小さく設定しました。また、弱気相場ではスプレッドが狭くなる傾向があるため、スプレッドを低く設定します。可能であれば0.40%より低く設定しません。何でならば、裁定取引で得られるの小さい利益よりも、高いのマーケットリスクを回避するためです。

最後、あんまりも最初ポジションと外れたの場合、週に2回くらいの買い戻すたや売るすることが大事です。

注:これは個人的な経験です。あくまで参考用です。

7月の裁定取引のパフォーマンス – 第二弾

前回のブログで述べたように、7月の第1週は静かで市場は横ばいでした。 

https://arbitragewin.com/wp/2019/07/09/7%e6%9c%88%e3%81%ae%e8%a3%81%e5%ae%9a%e5%8f%96%e5%bc%95%e3%81%ae%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9/

しかしそれ以来、BTCマーケットはいろなな要因で、特にFacebookのLibraコインに関する規制上の不明な方向やトランプ大統領から変なコメント「ビットコインはお金ではなく、その価値は非常に不安定」の影響を受けました。

裁定取引戦略は最近の弱気市場にどのように反応しますか?

LTCBTC、MONABTC、BCHBTCおよびETHBTCのスプレッドは0.50%から1.00%の間で変動しますが、それでも簡単に利益を獲得できるという意味ではありません。主な理由は市場の流動性です。 BTCJPYは極端に価格が動いたが、投資家はBTCを売っても、アルコインを買うのではないの状況ですね。

仮に

  1. 90%の投資家がBTCを売却して、現金で保管すると。残りの10%がそれをアルコインに買う。それ状況で、BTC価格の急激な下落を引き起こしても、アルコールを買うバイヤーも少ないの状況です。裁定取引の売買約定のチャンス少なくなる。
  2. 90%の投資家がBTCを売却して、現金で保管ではなく、アルコインを買う。それ状況だと、BTC価格の急激な下落を引き起こし、アルコールを買うバイヤーも多くなるため、裁定取引の売買約定のチャンス割と多くなる。

6月のような強気市場では、投資家は売買に熱心です。これは市場で十分な流動性を生み出した。弱気市場と違うのは、投資家は売買取引に慎重になる傾向があります。アービトラージ戦略の重要な要素は、スプレッドと流動性です。利益を確保するために買いと売りを約定することが必要です。

もともと運用に充てていたBTCの数量が減っているの理由とは?

1.片方の約定:

裁定取引とは売り買い両方とも約定することで、利益を確保するとの仕組みです。但し、片方の約定はどういう意味ですか?

例: 総資産 BTC = 1.0 BTC ETH = 20

  • ⇒ 下記例として、もし片方、買いの方のみ約定して、売りの方は残ってまま【リーブオーダーという】だっとしたら、この時点でETHの数は2個増えて、BTCの数は減らしたの状況です。そのまま続きだと、BTCの数減らして、ETH数を増やした。
  • ⇒ リーブオーダー自体は元々のバランスをズレる。先の例として、ETH 2個増やした同時に、BTC減らしたです。もしリーブオーダーの場合は、この時点で、BTC数減って、ETH2個増えた。
  • ⇒ リーブオーダーが約定次第に、先の増えたの2ETHとBTCバランスを戻します。

裁定取引を行いたいとき、未確定の場合:
① 2ETH ⇒ 0.030 BTC 買、 確定 ➡ BTC = 0.97 へ減って ETH = 22 へ増えた
② 2ETH ⇒ 0.032 BTC 売りできず 未確定➡ BTC = 0.97 変わらず ETH = 22 変わらず

この時点で、BTCのバランスをズレます。時間たって、上記(2)約定する場合は:

2ETH ⇒ 0.032 BTC 確定➡ BTC = 1.002 、ETH = 20 に戻す。この時点は、バランスを戻りました。

2.端数実行リスク

取引所で取扱い出来る最小数設定してるので、それ以下の数を約定の場合は、反対側の取引を発注しません。

先ほど(1)の例と説明しましょう。

最初は、2ETH(買)を発注するときに、もしただの0.01ETHしか約定してないの場合は、システムは1.99のETHオーダーををキャンセルして、0.01ETHの売側は、発注はしません。

理由は下記の通りです:
0.01 ETHで、BTC換算にすると【0.01 * 0.03BTC = 0.0003BTC】しかないので、ほとんどの取引所は最小発注は0.0005BTC以上しないといけないので、この時点で、20 ETHから20.01になって、BTC数も0.0003BTCの分を減ります。

3.システムと取引所との通信タイミング

どういう意味でしょうか?また、(1)の例と説明しましょう。

2 ETH(買)を発注した後、約定したかどうかを確認の上、売りの方にオーダーを出すの仕組みにです。ですが、取引所とシステムとの間の通信にはタイムラグがあるのケースもあります。
「約定してない」なメッセージを取引所からシステムに返しての一瞬、取引所のどころで約定しまった。システム側は約定してないの認識のため、売りの発注はしないの状況です。

その時の数はずれます。
2ETH ⇒ 0.030 BTC 買、 確定 ➡ BTC = 0.97 へ減って ETH = 22 へ増えた。

どうするの?

色々な理由で、元々の数をずれるのは現実です。常に自分の数を調整して、減ってた時に買い戻す。増えた時に売りだすのは一番大事と思います。それはマーケットリスクを最小限にするのことです。