以前、副業遍歴記事で仮想通貨トレーディングBOTを色々作った件について書きました。(記事はこちら)
その中で最後、スキャルピングBOTに挑戦してみたことについて書きました。
その時に使用したものについて少しまとめてみることにしました。
スキャルピングBOTの一番基本的な形は、その瞬間のBID(売値)・ASK(買値)の価格差を見て、条件に合った時に取引をするというものだと思います。
ただし、この時僕が作成したのは6つの取引所の価格を比較し、異常な値動きを検出しようというちょっと変わったコンセプトのものでした。
実際の取引はZaifで行いました。具体的には下記の処理を行います。
一般的な作りとは違いますが、異常が正常に戻るまでのわずかな時間での売買を繰り返すスキャルピングBOTです。
準備すべきものは下記の3つです。
とりわけ重要なのは3つ目の環境でしょう。
以下の6つの取引所を使いました。各取引所のTickerを受け取るためのリンクも記載しておきます。
今だと、もっと多くの取引所を選択することができますが、当時は下記の6つの取引所の価格を見ていました。
ちなみにTickerを取得するくらいであれば、APIキーなどの認証を必要せず、URLにアクセスするだけで簡単に取得できる取引所が多いです。
一応リンクも貼っておきますので、興味のある方は見てみてください。
BitBank(https://public.bitbank.cc/btc_jpy/ticker)
BitFinex(https://api.bitfinex.com/v1/pubticker/btcjpy)
BitFlyer(https://api.bitflyer.jp/v1/ticker?product_code=BTC_JPY)
BtcBox(https://www.btcbox.co.jp/api/v1/ticker/)
CoinCheck(https://coincheck.com/api/ticker)
Zaif(https://api.zaif.jp/api/1/ticker/btc_jpy)
今回、この項目については省略します。掲載してもあまり意味がなさそうだからです。(欲しい方には差し上げますがw)
まず、大前提として、ほとんど利益は出ませんでした。それから、結構恥ずかしい仕上がりなので(本職のプログラマではないので、そもそもあまり綺麗なコードではない。その上、自分でも反省するくらい冗長なコードが多く……しかし、利益も上がらないので、いまさら書き直す気も起きず……とにかく見せたくないw)
また、以前、エクセルやアクセスのVBAでトレーディングBOTを作るという無茶な記事を書いたことがあります。(記事はこちら)
諸事情あり、今回はその方法は使っていません。普通のトレーディングBOTであれば作れますが、さすがにスキャルピングBOTを作るのはキツイと思います。
ちなみにpythonで書きました。
取引所側のAPIの事情と自分の準備する環境の事情を確認した上で、使える言語を選べば良いと思います。
いくつかの取引所のAPIを見てみた感じでは暗号化のライブラリとhttpリクエストを送信するライブラリさえあれば、問題ないです。有名な言語であれば、特に問題ないでしょう。
さて、問題はこれです。これを自宅でやろうとすると、24時間PCは稼働させっぱなし、1分間に1回プログラムを起動……という結構負担の大きいことになります。持っているパソコン、部屋数によっては安眠できなくなりますw
(Windowsには標準で「タスクスケジューラ」というプログラムを自動実行する仕組みが搭載されています。これを使えば、簡単にできてしまいます。)
そうすると、当然のことながらレンタルサーバーを使うことになります。
もちろん、普通にWEBサイトを作るサーバーでもCronを使うことができれば、BOT自体は作ることができます。
けれど、セキュリティやらのことを考えると、VPSの方が有利です。WEBサイト用のサーバーでもパーミッションの設定を工夫して、非公開にすることができますが、VPSであれば、公開するための設定をしない限り、基本的には非公開で運用することができます。
ちなみにこの時はConoHaのVPSを利用しました。
選んだ理由は単純に値段が安かったからですw安さって重要です。あくまでトレーディングBOTを使って儲けようというコンセプトなので、ランニングコストはなるべく抑えておくべきです。
最近はさくらのVPSも安いのでこちらでも良いと思います。
Windows系のVPSの方が使いやすいと思うかもしれませんが、Linux系のVPSの方が基本的に安いので、Linuxで良いでしょう。CentOSという一般的なOSを搭載しているプランが安くてオススメです。
LinuxにはサーバーではCronというプログラムを自動実行するための仕組みが入っているので、プログラムさえ書いてしまえば、簡単に毎分プログラムを実行することができます。
実際に僕は自分の作ったスキャルピングBOTをConoHaのVPSでCronを使って毎分起動していましたが、全く動作に問題はありませんでした。
(取引内容は問題だらけでしたが!><;)
ちなみに僕はこの時に初めてVPSを使ったのですが、なんとなく使えました(^^v
VPSは何かととっつきにくい印象ですが、ConoHaもさくらも初心者向けのコンテンツがしっかりとしていて初めてでもなんとなく使えます。
これに取り組む前もトレーディングBOTにはいろいろ取り組んでいたのですが、スキャルピングBOTを作る段階になって初めて環境ということを考えました。
やっぱり一時間に一回相場をチェックするようなプログラムとはずいぶん勝手が違います。
VPSで運用してみると、快適さに驚きました。
それまで、自宅のパソコンのファンが一日中なりっぱなしでしたし。夜、布団に入っても、ファンの音が聞こえ……、それはそれで、「おお、取引しておるな……」と思ったのですがw
完全に外部で運用してみると、なんだか不思議な感じでした。世界のどこかで、自分の作ったBOTが勝手に売買してくれているという。
また、気が向いたらやってみようと思っているのですが、なかなか勝てるBOTを作るのも難しいもんです(^^;