[仮想通貨]ゼロから作るAIビットコイン自動売買bot!

広告

今回は初めてディープラーニングを使った仮想通貨自動売買botを作りたい方へ向けて必要な知識をまとめました。

必要なもの

  1. そこそこのスペックの24時間稼働可能なパソコン
  2. ある程度のプログラミングの知識(pythonを使います)

作成するもの

  1. bitflyer(ビットフライヤー)の口座
  2. データ取得スクリプト
  3. 学習モデル
  4. 売買プログラム

この4つだけなので結構簡単です。難しそうに見えますが、わからないことググったりするだけで出来てしまいます。

儲かるかどうかは学習モデルと食べさせるデータによります。

1. bitflyerの口座

作るだけです。簡単ですね!

なぜbitflyerかというと、自動売買用にAPIが公開されており、環境としては一番使いやすいのではないかと思います。

2. データ取得スクリプト

学習するには、大量のデータが必要になります。いちいち手動でやってられないので、自動で取得するスクリプトを書いてデータを取得します。

こちらの記事を参考にしてください。

自動でbitflyerのビットコイン価格データを取得する(python)

自動売買はリスクを減らし試行回数を増やすため、短期売買になると思います。そのため1分足を学習するのが良いかと思いますね。必ず無くさないように保管しておきましょう。

どれだけデータが必要なのかはわかりません。こういうところで職人芸が出てしまうので難しいですね。こういうのはある程度完成してから調整する部分ですので、最初は気にせずどんどん進めましょう。

3. 学習モデル

時系列データの学習モデルを作成するには次の本が参考になると思います。

本の内容のソースコードも全てGithubに上がっているので、すぐに試せるので便利です。

おそらくは時系列データなのでRNNLSTMを使用するのではないかと思われ。

しかし、この学習モデルが全てを決定づけると言っても過言ではないので、データで試したり、チューニングを徹底しましょう。うまく学習できないと予想値がバグります。

4. 自動売買プログラム

この部分は非常に簡単ですが、戦略が必要になります。プロセスとしては

データ取得スクリプトから現在値を取得

→学習済みモデルに入れて将来の価格を出力

ここまではいいのですが、将来の価格と現在値の乖離が何%以上で実際に取引するのか、また何%の値動きで、利益確定、損切りするのかというパラメータ設定は自分で決めなければいけません。その点は工夫が必要になりますが、学習済みモデルに問題がなければ、大きな差異はないのかなと思います。

あと、このプロセスではバグが一番怖いです。

0.1bit注文するところを間違えて1bit注文してしまったり、反対売買のプログラムが動作しなくてずっとホールドしっぱなしであったりすることがあると損失に繋がりますので気をつけましょう。

売買プログラムはpybitflyerというライブラリを使用するのが簡単です。次の記事を参考にしてください

pythonでbitflyerのAPIを使用してトレードをする(pybitflyer)

特殊注文も取り扱うことができるので非常に便利ですね。

以上のようなプロセスでボットを作ることができます。難しくもないですが、プログラム経験がない方だとデータ整形や学習モデルの調整など挫けそうなことはあるかもしれません。どうしてもわからなければtwitterで聞いて見てください。

自動売買に関する情報もつぶやいているので私のアカウントをフォローお願いします!

Python3の入門オンライン講座

オンライン講座ならUdemyがおすすめです。1000~2000円で10時間程度の動画が見放題で専用アプリでダウンロードも可能です!体系的に学びたい方にいつもおすすめ!

関連記事