機械学習してビットコイン(BTC)のトレードに挑戦!

広告

どーも、こんにちは。今回は最近やっていることをダラダラ書いているだけなので見にくい文章になっています。すいません。

仮想通貨のトレードに参入する以前は株式の機械学習して株価予想をしていたのですが、データを配信してくれるサイトのサービスが終了になってしまったので、最近はやっておりません。

しかし、機械学習のコードを何とか流用してみたかったので、仮想通貨のトレードに応用してみました。

bitflyerのAPIは公開されているので、データ取るのも、注文を出すのも非常に簡単です。株価はデータを取るのもデータ整理するのも一苦労だったので、仮想通貨の売買はめちゃくちゃ簡単で驚いています。

取引するのはbitflyerのFX_BTC_JPYですね。短期売買で取引回数が多いので手数料負けしない取引所を選ぶ必要があります。

仮想通貨の価格予測の方法としては、

  1. 分足データをひたすら収集
  2. ある程度データがたまれば学習
  3. 予想値と現在価格に乖離があれば取引!

という形式です。まあこの学習段階にそれぞれの腕の見せ所といったところでしょうか。pythonでデータ収集、学習、売買まで一貫して実行することができるのでpythonが便利かと思います(python以外書けないだけ)

現状はテスト段階ですので、取引手法はできるだけシンプルにしています。具体的には現在値と予想値の乖離がr%以上であれば、取引開始。

予想値というのはt分後の予想値を指しているので、t分待って建玉を決済。

という処理を繰り返しているだけです。

これからの課題点は学習モデルの最適化ですね。

モデルはどのモデルを使用するのか、

  • データの量
  • 教師データの入力データの分足の長さ
  • 何分後の予想するのか
  • ニューロンの数

など、人間が調節しなければならないパラメータは山ほどあります。しかもうまく調節してあげないと、学習がうまく進みません。おそらく多くの人がブログなどで手法を公開しているので、それらを参考にするのも良いでしょう。

私の方はまだまだテスト段階でして、実際に取引する必要はないのですが、取引を実感するために少額で取引をやっております。1週間の取引で売買回数は500回を超えていて、勝率は50%超えています。このモデルが素晴らしいか結論づけるにはまだまだ売買が必要です。

また、取引所間で価格差があるときがあります。例えば、「コインチェックで買ってビットフライヤーで売ると儲かる」という状況が稀に存在します。不思議ですね。この価格差を利用して裁定取引をすることで確実に利益を上げることも可能です。コード自体もひたすらデータを見るだけなので結構簡単です。APIのおかげです。ライブラリを公開していただける方には頭が上がりません。

しかし、裁定取引である程度の利益を上げるなら、複数の取引所において、仮想通貨と買付余力を置いておかなければいけないのが面倒ですね。

というわけで今後の目標は

モデルをさらに改良して、実際に利益を上げること

です!頑張っていきましょう。

pythonで機械学習をしたいなら次の本がオススメです。数式変形も丁寧で原理がわかりやすいです。何より基本中の基本から徐々にステップアップしているので初学者にも分かりやすい内容になってます。本の内容のソースコードも全てGithubに上がっているので、すぐに試せるので便利です。

このブログはみなさまからの寄付で運営しているわけではありませんが、投げ銭していただけると管理人が喜びます。

ZNY:Zq5yRPLxVhYcvtyF4XKjQEfMuZezWSc7C4

いかがだったでしょうか?序盤のダラダラ感から終盤の怒涛の宣伝、もはや人が変わったようで驚いたかもしれません。どちらも同じ人間が書いています。商魂たくましい。

関連記事