見出し画像

Quoinex(Liquid)向けのmmbotを作ったよ!pythonのソースコード

かぴぱら(@kapipara180)です。

今回はQuoinex向けのmmbotを作成しました!
皆さんQuoinexはご存知ですか?簡単にスペックを説明すると、

・最大レバレッジ25倍
・追証あり
ユーザーサポート悪い(QAの回答がすごくいい加減)
・APIレスポンス悪い(ordersendしてから1.0秒ぐらい待たないと戻りが来ない)
・レバレッジ取引手数料(何気に珍しい!他にはbitflyerぐらい)

こんな感じです。はっきり言っていまいちです。
QuoinexのAPIと戯れてからbitflyerのAPIを使うとチャリからF1カーに乗り換えたような爽快感があります。笑

しかし、そんなQuoinexに今、注目が集まっています。

そう!2018/9/4に待望の新プラットフォームをリリースするんです!
詳しくは上記の記事をご覧いただきたいのですが、世界中の取引所を一つに束ねて最強の流動性確保してやるぜって感じだと思われます。
(例として、BTC/SPD(シンガポールドル?)にBTC/JPYの流動性を加えてスプレッドを小さくしていました。JPYが一番流量が多そうなので、JPYにはあまり影響ないかもしれませんね。)

前述の通り、今はひどい有様なのですが、これから流動性が増え、ついでにAPIの性能も改善され、ユーザサポートも増員されて取引所として成熟していくという淡い期待を持っています。

では、そんな期待のQuoineのmmbotのソースコードをご紹介しましょう。

今回作成したmmbotの仕様は以下の通り。
先に言っておくと、QuoinexからLiquidになっても今のAPIから仕様は変更しないそうです。(サポートQA済。...責任はとれません。)

・流動性を監視して流動性があるときにのみ売買
・流動性をもとに、刺さるであろうamount分MIDから離れた場所のask,bidを選択 → より値幅が取れるように調整
・買いと売りの量を比較して約定しにくい方をMIDに近づける処理有
・価格の乖離が一定且つ流動性があるときに取引を開始して、売買両方が成立したら1サイクル完了とする
・ライブラリとして自作のpyquoineを使用

動かすと↓のような感じで、状態監視ができます。この画像をもとに仕様をより詳細に説明すると、
①条件を満たしたところでStart tradeが表示されます。(この少し上を見ていただくと、distanceが0.03%となっています。200円ぐらいですね。bitflyerではありえない乖離になることがよくあります。MAX600円ぐらいまで見たことがあります。)
②best ask と best bidが表示されていますね。
③このサイクルではsellが通り安く、buyが通りにくい状態のため、sellはbest askギリギリ(-6)の場所に、buyはbidからそれなりに離れた場所(+26)に置いています。
④通りにくいbuyを先に発注し、通りやすいsellを後で発注しています。
⑤ですが、やはり通りやすいsellが先に約定し、positionがマイナスになっています。
⑥buyが約定することなく価格が変動してしまったので、buy orderを出しなおしています。残念ながら、この時点でsellよりもbuyが高くなっていますね。。この状態になったら傷口が深くならないようにクローズしてサイクルを終了します。
⑦終了時点の残高を表示し、1サイクル完了です。

次のサイクルではちゃんと値幅が取れて残高がふえていますね。

だいたいの動きは上記の通りです。mmboterの方はもう中身が透けて見えているかもしれませんね。

さて!意外としっかり作った今回のBOTですが、なんと、、現状利益が出たりでなかったりして長時間動かすとじりじりマイナスになります!(驚)

ということで、買ってチューニングしてやるぜ!という人、素材としてmmbotのソースが欲しい!という人、discordに入って一緒にmmbotを改良して開発力つけたいぞ!という人、kapiparaと一緒に飯でも行ってみたい(誘ってくれたら行きます!BOTトークしましょう!(笑))なーという人!そんな人がいたらぜひ購入してソースコードをご覧ください。笑

mmbotは作成者の意図が伝わりにくい性質があるため、いつもより詳細に解説しました。さらに伝わらない箇所があったらdiscordでサポートします。一緒にmmbotの研究したい人とか是非discordに来てください!待ってます!

ちなみに、一般口座へは公開されていませんが、地味にwebsocketを使ったAPIもあります。詳しくはこちら

以下有料コンテンツ


ここから先は

17,292字

¥ 5,000

この記事が気に入ったらサポートをしてみませんか?