見出し画像

仮想通貨で右肩上がりの結果を得る機械学習(ETH)

前回は仮想通貨で利益率が右肩上がりとなる機械学習モデルを作成することができるという記事を書きました。訓練データとテストデータが同等の精度で予測でき、フォーワードでも同じ傾向が継続することを重視して作り込んだモデルです。対象とした通貨はBTCでしたが、他の通貨でも有効なのかを検証したいと思います。

以下が私がETHで作成したモデルの利益率の曲線です。

曲線というよりほぼ直線になったのはBTCの時と同じです。青が訓練データの利益率の推移、オレンジがテストデータの利益率の推移です。BTCの時と同様に非常に良い結果になりました。テストデータは訓練データと同じ傾向を示しています。

今回はさらにもう1つ実験を追加してみようと思います。訓練データとテストデータの割合は8:2にすることが多いと思います。訓練データが多い方が良いモデルになるし、同時にモデルが本当に良いかどうかはテストデータもある程度長い期間は欲しいです。何がベストなバランスなのかというのは一概には言えませんが、8:2くらいが良さそうということになります。

私がとった手法は汎化性能が高いように、つまり、再現性が高いようにモデルを作成したつもりなので、本当にそうなっているかを検証したいと思います。それを確かめるためにテストデータの割合を増やしてより長い期間で訓練データとテストデータが同じ傾向を示すかみてみようと思います。

上に示したのは訓練データとテストデータが5:5です。先ほどと同様で直線に近い結果となっています。意図したようにフォワードに対する再現性が高いということが確認できました。

期間は2022年の1年間のデータを使っています。青の訓練データが1月から6月までオレンジの訓練データは7月から12月までということになります。前の記事に書いたことですが、テストデータを使うのは1回限りです。テストデータの結果を確認してそのスコアがよくなるように何度もモデルのパラメータをトライアンドエラーで調整し直すということは一切していません。テストデータを使わずともフォワードでのが良くなることを重視してモデルを作成して、狙い通りであったことを確認したということになります。

さらにいうと今回のETHでは本当に1発のプログラム実行でこの結果に辿りつきました。モデルを作り込むフェーズを自動化してあります。BTCの時は試行錯誤したので、流石に作り込みフェーズでは何度もトライアンドエラーをしたので結果を出すまで2,3週間くらいはかかりましたが、今回のETHでこの結果を出すまでは時間にして1時間くらいだったでしょうか。

汎用性の高い方法ができたかどうかを検証したく、今後は、さらに他の通貨でも試してみたいと思います。

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