仮想通貨100種類以上の特徴を紹介!だけど雑記ブログw

ビットコインスキャルピングBOTを作った時に使ったもの

以前、副業遍歴記事で仮想通貨トレーディングBOTを色々作った件について書きました。(記事はこちら

その中で最後、スキャルピングBOTに挑戦してみたことについて書きました。

その時に使用したものについて少しまとめてみることにしました。

スキャルピングBOTの仕様について

スキャルピングBOTの一番基本的な形は、その瞬間のBID(売値)・ASK(買値)の価格差を見て、条件に合った時に取引をするというものだと思います。

ただし、この時僕が作成したのは6つの取引所の価格を比較し、異常な値動きを検出しようというちょっと変わったコンセプトのものでした。

実際の取引はZaifで行いました。具体的には下記の処理を行います。

  • 6つの取引所の価格を1分に1回取得し、比較する。
  • Zaifの値動きが十分な利益が取れる程度の異常値を示した場合、売りや買いの注文を入れる。
  • この時、正常値付近での決済注文も入れておく。
  • 数分後に決済できなかった場合、ロスカットする。

一般的な作りとは違いますが、異常が正常に戻るまでのわずかな時間での売買を繰り返すスキャルピングBOTです。

準備すべきものは下記の3つです。

  • 異常値を検出するための指標とする複数の取引所の価格
  • 異常値確認プログラムと売買プログラム
  • 1分に1回プログラムを起動させ続けられる環境

とりわけ重要なのは3つ目の環境でしょう。

ビットコインスキャルピングBOTを作った時に実際に使ったもの

スキャルピングBOTのために使った取引所は?

以下の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リクエストを送信するライブラリさえあれば、問題ないです。有名な言語であれば、特に問題ないでしょう。

1分に1回プログラムを起動させ続けられる環境

さて、問題はこれです。これを自宅でやろうとすると、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を作るのも難しいもんです(^^;

SNSでフォローする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です