見出し画像

プログラミング初心者が機械学習を用いてビットコインの自動取引BOTを構築してみた(Python)

みなさん、こんにちわ。
高橋勇気です。

始めに

以前、こちらで仮想通貨を自動取引するためにコードを記載いたしました。
今回は、機械学習の代表格であるランダムフォレストを用いてビットコインの自動取引を行うプログラムを提供したく思います。

さて、前回記載した内容と被る箇所もございますが、ご容赦ください。

またここで提供するランダムフォレストは決定木の数を複数指定しつつ、グリッドサーチによって決定木の数を自動で最適化するようプログラムを組んでおります。

私のプログラムスキルについて

私のプログラミングスキルは完全な初心者です。大学でプログラミングを学んだことはありません。社会人になり、趣味程度で少し勉強した程度ですし、現在の仕事は一切プログラミングに触れることはない資産運用業務に従事しております。
エンジニアの方と比較すると、そのプログラミングのスキルは本当に天と地ほど離れていると思います。

プログラムを提供しようとした動機

さて皆さんの中には、Pythonで仮想通貨を自動で取引することができることは知っているけれども敷居が高くできていない、またはコーディングを挑戦してみたがエラーが多すぎて挫折した、という人はいませんでしょうか。

私が開発に挑戦した際、いろいろなブログやサイトを拝見したのですが、参考にした方々のレベルが高過ぎたため理解することができず、学ぶことに大変苦労いたしました。またその方々が公表しているプログラムのコードをコピペし、実行したとしてもエラーが起きてしまい、直すことがもきず、何度も挫折しそうなりました。

そのような中、私が感じたこととしては、”ここまで高度ではなくても、初心者向けの、まずは動くプログラムを見たい”でございます。
そのため、私が作成いたしましたプログラムを提供しようと思います。

現在、Pythonを用いて仮想通貨の自動取引をやってみたい方、これからやろうとしている方、とりあえず動くものを作ってみたい方向けに私が開発した自動取引のシステムを提供したく思います。
開発前提はこのようになっております。

開発環境と取引戦略のアイデア

【開発前提】
使用言語:Python
仮想通貨取引所:ビットフライヤー
対象通貨ペア:BTCJPY_FX

【取引戦略のアイデア】

機械学習の代表格であるランダムフォレストを用いて今後のビットコイン価格を予測し、現在値と一定以上の乖離がある場合、つまり一定以上の上下動が見込まれる場合に収益を上げるためにロングorショートでエントリーを行う。
そして一定時間経過後、再度ランダムフォレストを用いて将来価格の予測を行い、既に保有しているポジションと同じポジションを持つべき場合は保有継続。そうでない場合はポジションをクローズする。
これを無限に繰り返す。

このプログラムで分かること・できること

このBOTは上記の戦略を実行する上で以下のプログラムも含んでおります。
・現在の価格を取得する
・自分のポジションを確認する
・板の情報を取得し、上記の比率を計算する
・指値で買い・売りオーダーを発注する
・成行で買い・売りオーダーを発注する
・自分が注文している全てのオーダーをキャンセルする
・直近●分の取引データをcsvファイルにダウンロードする。
・ランダムフォレストを用いて●分後の価格を予測する。

最後に

さていかがでしょうか。
今回、提供させていただくプログラムは機械学習のプログラム並びにそれを用いてビットフライヤーで取引するためのコードになります。
前回の記事とは被るコードもありますが、今回提供させていただくものをコピペすれば、まずは動かせるはずです。

一方で継続的に収益を安定的に獲得していくのは非常に難しいです。
仮にそうだとしても今後、仮想通貨の自動取引に挑戦したい方、とりあえず動くものを開発したいという方には非常におすすめだと思います。
ぜひこちらのプログラムを元に皆さんのオリジナルの戦略を考えてみてください。

またご購入を検討されている方は必ず以下の注意点をご覧ください。

【注意点】
・私が使用しているPython環境での動作確認はしておりますが、購入された方の環境で動くことを保証するものではありません。
・エラーが発生しないようにコーディングをしておりますが、これを保証するものではありません。仮にエラーが発生してもプログラムが止まらないようにコーディングしております。
・返品や修正の対応は不可とさせてください。
・投資を勧誘するものではありません。
・提供するプログラムを用いた損益について一切の責任を負いません。
・提供しているプログラムは、儲けるためではなく、勉強するためにご購入ください。
・このプログラムを実行し、そのまま放置することは止めてください。あくまでも勉強用になります。

続きをみるには

残り 19,965字

¥ 4,800

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?