以前、一年ほど前、副業遍歴(黒歴史)という連載記事を書いていました。この記事はその続編です。(まとめ記事はこちら)
……つまり、この一年に取り組んだもののお話です。
この一年、ひたすらトレーディングBOTの製作に取り組んできました。僕の開発した7つのBOTについて書いてみようと思います。
……この記事、文字ばかりです。本当に興味のある人以外は読むのがしんどいこと間違いなしです。BOT制作をしている人、してみたいと思っている人にとっては、なんかしらかのアイデアのもとになるかもしれません。
ちなみに僕の開発言語はVBAかpythonです。VBAと言えば、MicrosoftOfficeにくっついているプログラミング言語で、本来はOffice製品をいじるための言語で、トレーディングBOTを作るのにはあまり適さないものですが、やりようによっては全然できます。
これについては以前の記事で取り上げたことがあるので、VBAしか使ったことないってような方でもチャレンジしてみてはどうかと思います。僕自身、日常業務で使うのはほとんどVBAというアマチュアプログラマーなので(^^;
(記事はこちら ⇒ VBAで仮想通貨トレーディングBOTを作る方法)
pythonはTelegramをいじりたかったのと、BOTをVPSに移したかったのとで、最近初めて使いましたw
さて、本題に入ります。
その名も「アービトラージ・バージョン1」です。アービトラージをご存じない方のためにざっくりと説明しておくと、「取引所ごとに価格差がある場合に、価格差を利用して儲けよう」ってやつです。
複数の取引所ごとの価格を常に調査しておいて、ここぞというタイミングで「zaifで800,000円で買って、coincheckで805,000で売る」みたいなことをやるワケです。
ただし、このやり方には重要な穴が……
送金している間に値段が変わってしまうことがあり、確実に稼げるというワケではありません。BOTに売買させるのであれば、確実性を上げたいところですね。
そうすると、売りと買いを同時に行うためには利用する取引所ごとにBTCとJPYをそれぞれ持っておく方法を思いつきます。
しかしこの方法にも穴が……
BTCの送金はBOTで出来るのですが、JPYの送金はできないんですね(^^;
間に銀行を入れる必要があります。で、振り込みを自動化できるAPIを公開している銀行なんてないワケで……。セキュリティ上、まず無理でしょうね……。
そうすると、JPYを排除する必要があるワケですね。
で、完成したのが、XEM/BTCをZaifとBittrexでアービトラージするBOTです。ZaifとBittrexそれぞれにXEMとBTCの残高を残しておき、理論値としてプラスになる瞬間にだけ取引と送金を同時に行います。
XEM・BTCの価格が下落した場合には価値は下がりますが、それぞれの通貨の枚数は確実に増えていく完璧なロジックです。
結果……
Bittrexが僕のXEMを紛失するという事件発生。送金も含めたBOTの製作は危険度が高いようです。アービトラージのBOTは断念する運びとなりました。
※アービトラージ系のBOTは作るよりも外部のサービスを利用する方が効率がよいのかもしれません。(ARBITRAGING・NovaChainなど、ご利用は自己責任でw)
RippleとLumenは似たような値動きをするらしいとの情報を得た僕は、XRP/XLMの移動平均を追い、解離したところで売買することを思いつきました。
検証し、せっせとデータを集めたが、明らかに儲からないことが分かる。
ほぼほぼ完成したのに、企画倒れとなった。しかし、このロジックは次のBOTで花開くこととなる。
価格連動性のある2通貨間の売買で儲けることが可能なのであれば、そもそもドルと連動させる仕様となっているドルペッグコインを利用すれば、確実に儲かるじゃないか!
Bittrexで、BTC/USDTの売買とNBT/BTCの売買を繰り返すスキャルピングBOTを開発する。
BOT制作で初めての成功をおさめ、月に3%~16%もの利益を出す。
しかし、数か月後、ドルペッグコインであるはずのNBTが大暴落するという事態に(T-T)
稼働はしていても完全に塩漬け状態です(T-T)
いわゆる3点アビトラBOTです。作った当時3点アビトラという言葉は知らなかったんですけどねw
3点アビトラについて簡単に説明しておくと、同一取引所内で価格差を利用した取引をする方法です。価格を短時間で追っていくと……BTC/USDT買い、ETH/BTC買い、ETH/USDT売り……というトレードを瞬時に行うと利益が出る瞬間というのがあります。
これを実際にやって利益を出す方法を3点アービトラージといいます。
しかし、実際にBOTを稼働させると、わずか10秒以内にすべて完結させても間に合わないという……(^^;
アマチュアプログラマーでは太刀打ちできないレベルの方たちがやっているということでしょうか???
NBTの代わりに塩漬けになったversion1.0に代わり、TUSDとUSDTを使う方法に切り替えました。
ただし、NBTに比べ、TUSDは価格の上下が少なく……つまり、それだけ信頼がおけるということでもありますが、利益率が物凄く悪い(^^;
利益の平均は月0.8%です。このペースでいくと、年利9.6%なので、優秀だと言えますが、ちょっと物足りないところです。
アービトラージと同じように価格差を利用したBOTです。
1つの取引所で他の取引所よりも安くなった際に買って、価格差が縮まった際に売れば儲かるのでは?という安易な思い付きで開発しました。
1分間に2~3回の価格調査を行う、初めてのスキャルピングBOTの製作となりました。処理回数の多さから、普段とは違う準備が必要になりまして……これについては別途記事を書いてみました。(ビットコインスキャルピングBOTを作った時に使ったもの)
実際の売買はzaifで行いました。以前、zaifでは手数料マイナスのキャンペーンをやっていたことがあり、その利益も取れるというコンセプトで作りましたが……。
思惑通りにはいきませんでした。価格差が縮まると同時に下がるってことも結構あるワケですね(^^;
これは僕のアイデアではないのですが、外部のトレードシグナルを鵜呑みにして売買すれば、素人考えでトレードするよりよっぽど儲かるのでは?というアイデアをいただき、開発しました。
結果、意外に儲からない。シグナルが悪いのか、BOTのロジックが悪いのか、切り分けも難しい。そうこうしているうちにシグナルが出なくなる。
……と、苦労だらけでした。シグナルはTelegramのChannelから取りました。(余談ですが、Telegramへの情報発信は簡単なのですが、情報の取得はかなり難しくなっており、VBAでは実現困難でした。僕の知識ではまず不可能です。パッケージの公開されている言語を利用するべきです。pythonだとtelethonってのがあります。)
売買Volumeが上昇したタイミングで買えば、後から価格が追い付いてくるケースもあるのでは?という発想で製作中です。
が、単純にアラートだけを受け取り、自分で売買の判断をした方が無難では???と思い始めています。
そんなワケでアラートを確認するためのTelegramのChannelを作りました。
あくまで自分用のChannelなので、時々勝手にアラートを発生させるレートを変えます。(現在は24時間ボリュームが30分前と比較して、50%上昇した場合に設定してあります。2018/09/28段階)
一応、Publicの扱いにしてあるので、……まぁ、興味のある人は登録してみてくださいw(⇒ binance_v)
そして、良いアイデアがあれば、教えてくださいw(^^b
やってみるとBOT制作ってのはなかなか楽しいものですよw
そして、大してスキルはいらないw本職のプログラマーの方は簡単なものでしょう。儲かるかどうかは知りませんがw
挑戦してみようという方は是非チャレンジしてみてください。