ゼロから作る自動売買bot開発 ~ 第1回:bot開発は取引所選びから ~

2018.10.01

furusake-s

こんにちは、BCHNews編集長のfurusake-sです。
連載記事 ゼロから作る自動売買bot開発 ~ 第1回:bot開発は取引所選びから ~ をお届けします。

前回:ゼロから作る自動売買bot開発 ~ 第0回:開発を始める前に ~

前回の投稿に暗号通貨界隈ガチ勢から反響がありました。


FUDに見せかけたエールと受け取っておきます。思いは伝わりました。

まずは作戦会議ですよね

今回より実際に自動売買bot(以下bot)を開発していくわけですが、プログラマーは作りたいものがあった時にすぐにコードを書き始めるわけではなく、まずは完成像を思い浮かべます。そして、そこに至るまでの作戦を考えるといったことをよくやります。世間では企画、要件定義、設計とか言われている段階です。

今回の場合は、どうしましょうか?
ちょっと考えましょう・・・
はい。

今回はbotを作りそれを取引所で動かして『寝ているだけで朝起きたらお金が増えている』 という状況を完成像としてイメージするとしましょう。

  • 手離れが良くて(メンテナンスや監視の頻度が低くて≒寝ているだけで)
  • 勝率が高い(お金が増えている)

のが理想ですよねw
このフレーズに含まれている仕様は次回以降掘り起こしていきますので、先にタイトルにある取引所選びのポイントを書いてしまいましょう。

取引所選びのポイント

日本国内のみならず、海外にも多数存在する暗号通貨の取引所ですが、その中から自分の取引に適した取引所を選ばないといけません。(※日本国内では仮想通貨交換業者という呼称を使っているのですが、本連載では取引所で統一します。)

私の経験から導き出されるポイントを挙げてみました。

  • GOXしないこと(儲かっていること)
  • 取引所のセキュリティー強度を推し量ることも、働いているスタッフの内部犯行を予知できることも事実上不可能なので、もはや運と言っても差し支えない現状ですが、取引所に資金を預けなければならない自動取引では、カウンターパーティーリスクがあることは忘れないで下さい。代替え案として、仮にハッキング被害を受けても、自力で救済できるほどの体力がある取引所を選ぶと良いと思います。つまり、儲かっている取引所を選ぶことが大事だと考えています。

  • 国内に1つ、海外に1つ
  • マイニングプールでも運営していない限りは日本円(界隈では法定通貨をFiatと呼びます)を暗号通貨に交換するしかありませんので、国内の取引所に最低でも1つアカウントが必要になるでしょう。加えて、自由度の高い海外の取引所にも最低1つアカウントを作っておくと良いと思います。その際には、現物を扱う取引所だけでなく、デリバティブを扱う取引所にもアカウントを作っておくと良いでしょう。

  • 出来高が多いこと(板が厚いこと)
  • 儲かっている取引所を選ぶことに等しい項目ですが、出来高が多い(板が厚い)取引所を使うことで自身の注文が意図した値段で約定しやすくなります。流動性リスクと呼ばれるものですが、板が薄い取引所だと、価格変動時にポジションを即座に解消させるのが難しいことがあります。アルトコイン取引でよく直面する問題です。どうしても板の薄い取引所で取引をしなければならない場合、botは板の深さを考慮しなければならず、実装が少し複雑になります。

  • システムの安定性
  • この項目は使ってみないとわからない項目なのですが、経験から暗号通貨取引所のマッチングエンジン(ユーザーの注文を付け合わせて約定させる場所)は過負荷状態になりやすく、処理が遅延することが多いです。処理が遅延すると配信されてくる時価やポジションの残高が正しい値ではなくなるため、botが意図しない取引を実行することがあります。自身の取引手法との相性もありますが、使っている取引所が過負荷時にどのような挙動を示すのかは知っておく必要があります。

他にも細かい点がありますが、以上の項目を押さえた上で、取引所を選ぶと良いと思います。
取引所を選んで取引を開始してみて、自分の取引手法と相性が悪そうだと思ったら別の取引所を試してみると良いでしょう。
とにかく、一つの取引所に固執する必要はないことを覚えておいて下さい。

今回の連載で使用する取引所

今回の連載では国内はbitFlyerを、海外はBitMEXを使って始めたいと思います。

bitFlyerは国内FXで出来高上位である点、システム負荷の程度がAPIで取得できる点を評価しました。
BitMEXはアルトコインのデリバティブを扱っている点を評価しました。

評価の際に重視した点は、出来高とデリバティブを扱っている点です。
特にbotの場合、現物だと買いから入るしかありませんが、デリバティブの場合は売りからも入ることが出来るので、アルゴリズムの自由度が上がるだろうと考えたためです。

次回予告

次回は、アカウント作成が完了した時点を想定してAPI Documentを読み込んでみたいと思います。
Public APIあるいはStream系APIを呼ぶかもしれません。お楽しみに。

さいごに

記事を読み切って頂いたついでにもう少し下にスクロールして頂けますでしょうか?
『記事をシェア』という文字の下にSNS投稿用のボタンが4つほど配置されているのがわかりますでしょうか・・・。
どれでも構いませんので、ポチッ。ポチッ。っとクリックして頂けると弊社エンジニアが喜びます。
実装したけど使われない機能ってとても悲しいですからね。。お願いします。。m(__)m

最新情報はこちら

BCHNewsでは公式のTwitterアカウント(@bchnews_jp)を開設しました。
更新情報を配信しておりますので、よろしければフォローしていただけると嬉しいです。

furusake-s

BCHNews編集長
セブンバニーズ株式会社 代表取締役
1982年生まれ、大阪府出身、B型
趣味はロードバイク、三国志大戦、イカを釣ること

関連記事

ゼロから作る自動売買bot開発 ~ 第0回:開発を始める前に ~

2018.09.28

by furusake-s

ゼロから作る自動売買bot開発 ~ 第2回:API Documentを読んでPublic APIを呼んでみる ~

2018.10.03

by furusake-s

ゼロから作る自動売買bot開発 ~ 第3回:API Documentを読んでPrivate APIを呼んでみる ~

2018.10.10

by furusake-s

ゼロから作る自動売買bot開発 ~ 第4回:API Documentを読んでRealtime APIを呼んでみる ~

2018.10.17

by furusake-s