裁定取引ボットの実験(2020年2月~7月)

裁定取引ボットの実験(2020年2月~7月)

100

はじめに

 ビットコインの裁定取引(アービトラージ)をご存知ですか。ビットコインが安くなっている取引所で買って、高くなっている取引所で売る、良く知られた取引の方法です。

この記事では、フリーで利用できる裁定取引ボット(プログラム)を半年くらい運用し、結果を他の取引方法と比べました(2020年2月6日~2020年7月24日)。

結果をすぐに見たい方は、このページの最後の"まとめ"を見てください。
有料部分を購入しなくても、結果は見えるように書きました。有料部分は、毎日の損益データと苦労した点をまとめています。

本記事は、興味本位の実験内容をまとめたもので、コイン売買等の投資を推奨・勧誘する記事ではありません。投資は自己判断で行ってください。

 

裁定取引ボットの説明(R2 Bitcoin Arbitrager)

取引ボットはGithubで公開されている"R2 Bitcoin Arbitrager"を使わせてもらいます。この"R2"は、2017~2018年に開発されたものです。

https://qiita.com/bitrinjani/items/3ed756da9baf7d171306
https://github.com/bitrinjani/r2

ネットオークションで"R2"が出品されていますが、開発者の方はもちろん私も関係無いです。
"R2"の説明ページプログラムを見て
「よく判らない、面倒だな」と思った方は手を出さない方が良いと思います。

"R2"のおおまかな動作について説明します。
あらかじめ、2つの取引所にビットコインと現金を同じ分量だけ用意しておきます。
API経由で取引所の板情報をチェックして、一番安い買値と一番高い売値を取得します(スプレッド逆転の判定)。
買値が売値より安い場合、売りと買いの注文を指値で2つの取引所に出します(taker注文)。
注文の約定後にスプレッドの逆転が解消したら、最初の注文と反対の売買を行い利益を確定します。利益は日本円です。
最初の2つの注文が約定しなかった場合は、反対売買を行います。この時はある程度損失が出てしまいます。

対応している取引所は、日本国内の取引所です。

  • bitFlyer
  • Quoine (Liquid)
  • Coincheck
  • bitbank
  • BTCBOX

このプログラムが開発された2017年は、Zaifも有力な取引所でしたが対応されていません。開発者の方に考えがあっての非対応のようです。

https://github.com/bitrinjani/r2/issues/113

 

裁定取引ボットの準備

インストール

古いノートパソコンにLinuxをインストールしてから"R2"をインストールしました。

  • PC: Inspiron Mini 10(CPU: Atom N270 1.6GHz、Memory: 1GB、Storage: SSD 64GB)
  • OS: Linux(Ubuntu 18.04)
  • Node.js: v11.9.0(v12以降では動作しませんでした)

"R2"は開発から時間が経っているのでAPIエンドポイント等の記述に修正が必要でした。

https://github.com/bitrinjani/r2/pull/152
https://github.com/bitrinjani/r2/issues/149

 

設定ファイルの変更(config.json)

設定ファイルは下のように設定します。

  • 取引所:Coincheck, Liquid (Quoine)
  • 1回の注文量:0.01BTC
  • ビットコインの量:0.1BTC(1/26に購入)
  • 最低限の目標収益:0.03%
  • 利益確定の閾値:80%
  • 動作間隔:1分
  • LINE通知:ボット停止時、注文未約定時
  • デモモード:無効

2つの取引所を選んだ理由は、ビットコイン現物の取引手数料が無料だからです。bitFlyerも加えた方が利益が増えるような気がしますが、今回は取引量が少なく手数料が高いままなので断念しました。
また当たり前かもしれませんが、デモモードを無効にしないとボットが取引しません。この設定を忘れて何日か無駄にしてしまいました。

 

運用の結果(2020年2月6日~2020年7月24日)

期間全体の利益は8,886円でした。0.1BTC+現金が元手なので妥当な金額だと思います。
ただしビットコインの量や1回の注文量をあまりにも大きく増やすと取引の機会が減ってしまい、今回の結果よりも利益が低下すると思います。

ここで月末毎の利益をグラフにしてみます。

3月の飛びぬけた利益は、価格の乱高下が原因でしょう。4~7月にかけては徐々に利益が下がっています。国内のビットコイン売買が衰退していると言われているので、この先も利益が下がるかもしれません。

 

他の方法と比べる1(円建て利益)

ここからは"R2"と一般的な取引方法を、円建ての利益で比べます。

  • R2 Bitcoin Arbitrager (R2 Arb.)
  • ドルコスト平均法 (DCA):1日おきに1,008円ずつ買う
  • 1/26に買ってそのまま (HODL)

ビットコインを買う日本円は"R2"と同額にします。また"R2"以外の方法はコインチェックの終値から損益を計算しました。
3つの方法の円建て利益率をグラフにします。

ドルコスト平均法が一番高く利益11%増、他の方法は利益9%増程度でした。調べた期間内では"毎日コツコツ買い増し"が正解だったようです。
なるべく少ない日本円でビットコインを手に入れる為には、ドルコスト平均法が良さそうですね。

蛇足ですが、価格変動を避けるためにビットコインと同量のShortポジションを持つと、維持手数料で利益が吹き飛びます。手数料0.04%の場合0.1BTCを180日維持すると6,700円もかかります(TaotaoZaifGMODMMLiquid)。

 

他の方法と比べる2(BTC数量)

今度はビットコイン数量に注目して比べます。

  • R2 Bitcoin Arbitrager (R2 Arb.)+月末に利益でBTCを買う
  • ドルコスト平均法 (DCA):1日おきに1,008円ずつ買う
  • 1/26に購入した0.1BTCでFunding rate受け取り (Funding)

"Funding"は、かつて日本人が利用できたBitMEXでレバレッジ1倍等でShortすると市場の状況によって手数料が受け取る方法ですね。

元の0.1BTCに対して、"R2"が11%増、他は±1%程度でした。国内レンディングサービスの利息は1年で3%なので、それほど悪く無い結果だと思います(bitbank暗号資産を貸して増やすGMOコイン貸暗号資産)。

裁定取引がメリットが見えてきましたが、ここで裁定取引や裁定取引ボットのデメリットをまとめておきます。

  • 取引所間の価格に歪みが無い場合は、利益が上げられない
  • 資金の投入量に対して利益が比例しないおそれがある
  • ビットコイン以外に売買に使う現金が必要(他の方法に比べて資金が2倍以上必要)
  • 短い時間に多数の売買が行われ、コインの損益が確定してしまう(計算方法によっては納税申告が手間)
  • コインを取引所に預け放しにしないといけない
  • ボットが止まる、ビットコインが不足・過剰等の異常状態では手動で対応が必要(けっこう起こりました)

 

まとめ

  • "R2 Bitcoin Arbitrager"を約6ヶ月間、0.1BTCで運用し8,886円の運用益でした
  • ただし、より簡単なドルコスト平均法の方が成績が良かったです
  • "R2 Bitcoin Arbitrager"の利益は日本円で残さず、利益でビットコインを買う方が良いかもしれません

さて今年はDefiが流行しているようです。Defiと言えばETHなので、1月末からETH買って放置した場合の円建て利益率のグラフをご覧ください。

ETH HODLの圧勝でしたw
ここまでお付き合いありがとうございました。
有料部分は、毎日の損益データ等です。

100