pythonでビットコインを機械学習を使って予測プログラム作ってみた

ビットコインを機械学習させて、自動で売買させるbotをpythonを使って現在作成中です。かれこれ1年以上はこのbot 作成をしています。最近になって、ようやくある程度予測出来たので記事にまとめてみました。

現在作成中のBTC機械学習の予測精度

私は、まだ、完全自動売買のbot作成までは至っていないのですが、BTCの数日先の予測させて、裁量トレードで利益を上げる段階には至っています。

2日先までの予測はできるようになった

こんな感じで、機械学習させて、だいたいの流れは分かるようになりました。

BTC機械学習で予測

左側の赤字部分が予測です。だいたい合うようになり、以下のように、毎回少しずつ利益は出せるようになりました。

機械学習で利益

予測の検証はYoutubeで毎週公開中

毎週日曜日に、BTCの予測は、僕のYoutubeで公開しています。5分程度なので、よかったらご覧ください。

矢野テックのビットコイン相場分析
プログラマーです。言語はC言語、PHP、Pythonなど何でも出来ます。最近はPythonでビットコインや株価の機械学習での価格予測をしています。2016年からビットコインの投資を開始し、元本10万円をどこまで増やせるか挑戦しています。現在は裁量トレードメイン。機械学習は補助的に使ってます。■矢野テックのBTC投資歴2...

ビットコインを機械学習させるまでの流れ

特徴量で予測とは?

複数の特徴量を学習させて、特定の値を予測させます。ざっくりと、以下のイメージで理解しておくと分かりやすいかと思います。

BTCを機械学習で予測とは

沢山の特徴量を一気にまとめて学習させて、1つの項目を予測させます。その際の特徴量の選定が肝になります。上図の予測結果は、終値ですが、MACDやRSIの値なども予測できます。

矢野テック
矢野テック

この大前提は機械学習では当たり前の知識みたいで、説明している本が、ほとんどなくて最初に理解するまでに時間がかかりました。

機械学習して予測するまでの流れ

先に結論をお見せしましたが、ビットコインを機械学習させるといっても、手順が必要です。その手順ごとに知識が必要になります。ポイントをまとめてみました。

  1. ビットコインの価格を取得(OHLCVデータ)
  2. データフレーム型に変換
  3. 特徴量の算出と追加
  4. 機械学習のモデル選定
  5. 機械学習
  6. 予測
矢野テック
矢野テック

機械学習自体は、ライブラリを使えば1ステップ(=1行)で実施できます。そこまでの過程が重要で、特に特徴量が、機械学習での肝となります。

機械学習の勉強のためのおすすめ書籍

機械学習を始め、色々な プログラムの内容を簡単に解説している書籍はたくさんありますおすすめのものを一部紹介してみます。
以下の書籍はとても分かりやすかったです。

機械学習の基礎が分かる初心者向けの書籍

私はプログラムを10年以上触っていたため、いきなり専門書籍から入ったのですが、非常に難解で苦労しました。プログラムを触っている方でも、機械学習は独特の言葉、ルールがたくさんあるので、機械学習の基本を詳しく解説している書籍を1、2冊読んでみると、よく理解できると思います。
中でも以下の2冊は、機械学習の基本がよくわかるとても優れた本だと思います。初心者の方は、必ず読んでおくことをおすすめします。
  • 「機械学習入門 ボルツマン機械学習から深層学習まで」大関真之さん著
  • 「知識ゼロからの機械学習入門」太田和樹さん著

データフレームの扱い方が詳しい書籍

実際に機械学習のプログラムを組んでみて分かるのが、取得したデータ(open,high,low,close,volume)をどう扱うかが、鍵になります。その際に、機械学習では取得したデータはデータフレーム型で取り扱う事が、基本となります。結構、癖が強いので、プログラム熟練者でも、あれ?と疑問に思う事がしばしばあります。

以下の書籍は、他の書籍には無いくらいデータフレーム型の解説が細かいです。botを作る際に非常に助けになりました。1冊持っておくと、助けられると思います。

  • 「スッキリわかるPythonによる機械学習入門」須藤秋良さん著

実際にBTCを機械学習botで稼いでいる方の書籍

理想としては以下の本の方のように既に、機械学習botで稼いでいる方を真似するのが一番です。

「日給300万円のSS級botterのリアル」

日給300万円のSS級トレーダーが明かすbotterのリアル

ただ書籍を買って読んでも、実際にbotを作成している方でない限り、おそらくは何が何だかわからない内容だと思います。以下に詳しくこの書籍のレビューを書いてみましたのでご参考ください。
矢野テック
矢野テック

ある程度、機械学習の知識があり、 最も色々試行錯誤作ってみた方であれば色々なヒントが入っているのでお勧めです。しかし、一冊目から読む本ではないです。

bot化への今後の課題

僕は、まだ裁量で役立ててる感じですが、これを自動売買のbot化させるには、色々と壁があります。

どういう売買手法でトレードするか、そして、それで利益が出るのか、バックテストプログラムを作成して、ひたすら実験を繰り返しています。

矢野テック
矢野テック

また、進捗があれば、youtubeで話すか、記事にしたいと思います。

コメント