機械学習でのビットコイン価格予測をやってみたら割とうまく行ってるという話。

 試験期間で全然ブログを更新できてませんでした。この記事は今年(2021年)の4月から約3か月間仮想通貨の自動売買を試行錯誤してきてようやく形になってきたのでその中間報告という立ち位置の記事です。

 

時系列

4月頭  世の仮想通貨バブルに乗り遅れてCoincheckの口座を開設する。見たところAPIを用いて取引できるようなので自動売買を研究してみようかと思い立つ。

 

4月中旬 APIのラッピングも完成し、取引のロジックもバックテストの結果ではあらかたうまく行ったので運用開始。この時はRSIやMACD、オリジナルの指標などを使って現物買いオンリーでシグナルに基いて仕掛けるという戦略を取っていた。

 

5月頭  +15%の利益を上げたもののここにきてBTCが急落し、合計-30%の損失を被ってしまう。元々下落に弱いシステムなのではないか?と予想はしていたもののBTC市場に対する楽観が仇となった。

 

5月末  ①単純なロジックでは限界がある(そもそも効率的市場仮説に基けばそんな単純な仕掛けで儲かるなら損する人間はいない)②上昇・下落に左右されずに利益を出す必要がある=マーケットニュートラルなシステムを構築する必要性に気づくも、そのためには売りから入る必要があるので、➊APIが充実していて➋レバレッジを掛けて売りから入れる業者を探し始める。また、単純なロジックに頼らないために、機械学習を用いて値動きを予測できないか、という課題について検討し始める。

 

6月前半 学校が忙しくあまり作業できなかったが、バックテストで割と利益が上がるような機械学習的アプローチに見立てを立てることまでは成功する。

 

6月後半 またしても学校が忙しくあまり作業できず、、、各社APIを比較した結果GMOコインのものが一番使いやすそうだなと思い口座を開設する。

 

7月頭  作成した機械学習モデルを用いて実際に未知の値動きを予想させ、それをもとにどれぐらい利益が出せるかの実験を行った。前回の反省から、まず一週間程度バーチャルに動かして様子を見ることにした。結果としては現物買いオンリーで手数料を考慮しない条件下で8日で18%の利益を上げることに成功した。(下図)

f:id:UTS1:20210728175242p:plain

オレンジ線が実際のBTCの変化率で青線が収益率。最初うまくデータが記録できずグラフが少しずれているかもしれないがご容赦ください、、、

7月下旬 GMOコインの口座にて運用開始。このブログを書いた時点では4日経過しているが今のところ利益はレバレッジ2倍の条件下で+23%で最大ドローダウンは4%程度となっている。8月頭に知り合いの偉い人に会う機会があるのでその時に研究成果(?)の報告をするためにその時まであと一週間程度は試験段階として運用しようと考えている。もし問題なさそうであれば順次貯金を投入していく予定。

 

感想

いくらなんでもうまく行きすぎてるな、、、というのが正直なところ。また機械学習はどうしても一番肝要な部分がブラックボックスとなってしまうので説得力に欠けるというのもあると思っている。

ドル円や主要株価指数についても同様の実験をしているが、どうもうまく行かない。利益は出るのだが出ても月に1,2%とかで、決して悪くはないのだが市場平均に負けたりすることもしばしばあり成績としては偶然の域を出ない。原因としては

①仮想通貨と違い株価指数は有名な投資銀行などの資金も入ってきているので市場のプレイヤーのレベルが高く簡単には勝てない

②テクニカルに左右される仮想通貨とは異なり市場ではニュースの影響が強いためテクニカル的指標を分析するだけでは不正確

などがあるのかな、と考えている。

日経平均を動かすような大型株や有名株は多くの人の目に晒されているため効率的であり、限りなくその「本質的価値」に株価が一致しているだろうと考えると、勝てない理由も見えてくる気がする。仮想通貨はいまだに「歪み」が大きいので、割と単純なシステムでも利益が出るという背景がありそう。同様の理由で、株価予測によって利益を出そうとする場合は(機械学習とかに関わらず)中小株を分析するのが一番効率的なのではないか?と思った。