見出し画像

【全銘柄】Binanceでの取引所内アービトラージ(三角裁定取引)

このプログラムでは理論上は100%儲けがでる裁定取引機会の抽出を行います。裁定取引は通常、同一商品が、異なる取引所間において、異なる価格で取引されている場合、その価格差を利用して、利益を上げる手法です。(要するにさやどりです。)

ただし今回紹介するのは、Binance内での裁定取引です。
通常の裁定取引と比較して、取引所を跨がなくてよいため
1.送金手数料が不要
2.送金にかかる時間がないため、さやが逆転して損をする心配がない
3.送金にかかる時間がないため、連続で取引できる
といったメリットが挙げられます。

Binanceには大量の通貨がリストされており、裁定取引の可能性のあるルートは2019年2月現在1812種類もあります。
これを人の目で見て裁定機会をとらえるのは現実的には不可能です。そこでBinanceのAPIからリストされているすべての通貨から裁定可能なルートを探索し、裁定取引機会を検出するのがこのプログラムです。

前々回、https://note.mu/enjoycc/n/n313a1d6b976b
前回https://note.mu/enjoycc/n/ncca2799bb6b1
の記事を見てもらえればイメージがつくかと思いますので参照をお願いします。

今回はBinanceで裁定可能なルートを総なめし、最後に裁定可能性(利益の出る可能性があるルート)のあるルートのみをまとめ、利益率順に並べ替えてログに吐き出しています。

またLotの表示もしているため、その取引がどれくらいのロットで実行できるかの検証も行うことが出来ます。

ログは以下のフォーマットで出力され、Excel等で集計されることを想定しています。
[取引ルートID,日付,通貨1,通貨2,通貨3,通貨1→通貨2へのレート,通貨2→通貨3へのレート,通貨3→通貨1へのレート-1★,取引可能数量(BTC換算)]

実際のログはこのような形で出力されます
2019-02-16 13:18:46,591:196:INFO:[89, '2019-02-16 13:15:28', 'BNB', 'BTC', 'REN', 0.0025463, 568.3705357142857, 0.0003321428571427809, 0.00723072]
★部分が0以上になっていれば利益が出るということなので★部分が0以上のものをログに書き出しています。

このような形でログ出力されます。

またプログラム実行中はこのような画面が表示されます


【2019年1月の検証の結果】
実際2019年1月に検証したときには最大0.6%程度のさやが発生していました。0.3%程度は頻繁に発生しています。(手数料は考慮していません)

動作環境はWindows10 pythonは3.7.0です。(python3.xだと動くと思います)
動作にはccxt(https://github.com/ccxt/ccxt)が必要です。

どのペアでどれくらいの頻度で、どれくらいのロットで発生しているか確認されたい方はご購入をお願いいたします。

※Binanceの仕様が変更され、動作しなくなった場合でもメンテは実施できません。

以下プログラムです。

ここから先は

7,748字 / 1ファイル

¥ 1,000

この記事が気に入ったらチップで応援してみませんか?