仮想通貨アービトラージに強いPythonエンジニアに俺はなる

仮想通貨アービトラージに強いPythonエンジニアに俺はなる

プロのエンジニアが挑戦する、仮想通貨アービトラージ。市場データ・テクニック・マインドセットをシェアします

アービトラージのアルゴリズム

アルゴリズムは一つだけじゃない。思いつくだけでも、3つほど。

  1. 送金調整ありの反対売買
  2. 送金調整なしの反対売買 <= まずはコレを実装
  3. 3通貨間アービトラージ

どれも、チャリンチャリンいけるサイクルだ。理論上は、ね。

送金待ち時間の価格変動でソワソワしなくて良い、送金手数料がかからない、GOXリスク無し、という "負けない精神" を優先して、2番目のアルゴリズムを実装した。私の手元で、安定的に、利益を出してくれているデーモンだ。最終的には、何らかの形で皆さんに、このプログラムをシェアしたいと思う。

まずはアルゴリズム解説

概要

  • 取引所1に、0.1BTC
  • 取引所2に、法定通貨(JPY, USDT等を10万円相当)

をおいておく(ここからはリアリティを持たせるために、取引所1=BitFlyerと、取引所2=Binanceを実例としてあげる)。

なお、ビットコイン価格が100万円付近をフラフラしており、価格差が最大で1万円開くところを狙う想定で話をする。ここ数ヶ月実際に運用してみた実績から、かなり現実的な数字をチョイスしたつもりだ。

手続き

  1. BitFlyer、Binanceのそれぞれで、Ticker(現在の売値・買値)を取得する
  2. 条件が整えば、反対売買する
    1. BTCがBitFlyer側にある場合
      • BitFlyerがBinanceよりも1万円以上高額になったとき(例:101万円 > 100万円)
        • BitFlyerでBTCを売却。BinanceでBTCを購入
    2. BTCがBinance側にある場合
      • BitFlyerがBinanceよりも1万円以上低額になったとき(例:99万円 > 100万円)
        • BitFlyerでBTCを購入。BinanceでBTCを売却
  3. 価格が逆転するのを待ちつつ、1に戻る

コツ

あえて国をまたがる取引所、すなわちBitFlyer=日本、Binance=中国(香港)を例として挙げたのには、理由があるのだ。

なぜかって?

取引所間の価格差が大きい組み合わせを見つけ出すことが勝利のコツ。

アービトラージのし易いパターンは皆が同じことを考えて、すぐに価格差が収束してしまう。その逆を張りましょうって話。計算パラメータが一つでも多く、参入障壁が少しでも高いであろう法定通貨同士で為替変動が生じるようなパターンで勝負をしかけてみている、という話。

この根拠を示すデータを一つ。

まずはBitFlyer-Coincheckの価格差。

f:id:daryl-19690720:20180617153917p:plain

こっちはBitFlyer-Binanceの価格差

Binanceのほうは、リアルタイムな為替データでドル=>円換算済 f:id:daryl-19690720:20180617153930p:plain

んで、実績はどうなのよ

4月から運用した実績として、一か月分の反対取引履歴とその利率を、以下に公開する。少額でのテスト運用ではあれど、20万円程度の預け金に対して3%近い利益率が自動トレードにより実現できている様子が伺える。 f:id:daryl-19690720:20180617155113p:plain

次回は、実際にプログラムの一部を公開しようと思う。

これからアービトラージをチャレンジされる方、とりあえず海外取引所の口座開設だけでもしておいて損はないかと。

www.binance.com