株MLBot開発ログ #2 「機械学習モデルの種類を把握する」

このページには広告が含まれています。
AD

株を予測売買するMLBotを作るとき、どの機械学習モデルを選択するのかが非常に重要になる。

私が最初に機械学習を勉強するために調べ回ったときは、投資系のコンペティションで勾配ブースティングが使われることが多いという情報があったので、動作が軽量なLightGBMから始めることにした。その後、いまいち良い結果を得られなかったので再び調べてみたところ、NNモデルも良いという話を耳にして現在はPytorchを触っている。

どうやら決定木で閾値が固定されるLGBMに対し、NNは連続関数の近似で出力が滑らかになるかららしい…全く分からない。そこで、機械学習モデルについて調べ直してみると分類体系の理解がかなり浅かったため、MLBot開発は機械学習モデルの概要把握というゼロベースからスタートすることにした。

AD

MLモデルの分類

AIにアドバイスを貰いながらMLモデルを大まかに分類すると次のようになる。

手法ライブラリ系統モデル名
LGBMLightGBM勾配ブースティングLGBM
XGBoostXGBoost勾配ブースティングXGBoost
CatBoostCatBoost勾配ブースティングCatBoost
RandomForestscikit-learnアンサンブルRandomForest
SVMscikit-learnカーネル法SVM
GaussianProcessscikit-learn、GPyTorchカーネル法GaussianProcess
ARIMAstatsmodels時系列モデルARIMA、SARIMA、VARIMA
ProphetProphet時系列モデルProphet
MLPPyTorch、TensorFlow/KerasNNモデルMLP
LSTMPyTorch、TensorFlow/KerasNNモデルLSTM
GRUPyTorch、TensorFlow/KerasNNモデルGRU
CNNPyTorch、TensorFlow/KerasNNモデルCNN
TransformerPyTorch、TensorFlow/KerasNNモデルTransformer
TFTPyTorch Forecasting、neuralforecastNNモデルTFT
N-BEATSPyTorch Forecasting、neuralforecastNNモデルN-BEATS
GPTOpenAI APILLMGPT-4o etc.
LLaMAHuggingFaceLLMLLaMA3 etc.
ClaudeAnthropic APILLMClaude 3.7 etc.
ローカルLLMOllamaLLMLLaMA3・Mistral・Gemma etc.

調べてみて分かったことは、NNモデルというのはPytorchを使ったMLモデルだけを指すものではないらしい。そして、Pytorchだけでも複数の手法でモデル構築できることが分かった。また、勉強がてら作っているモデルはMLPであるということも判明した。

AD

まとめ

リストの中で株の売買に向いているMLモデルは何かAIに聞いてみると、やはり勾配ブースティング系になるらしい。次点はMLPで、テキスト系特徴量を扱う場合はLLMになるようだ。

軸としてはLightGBM・XGBoost・CatBoostの勾配ブースティング系を使い、比較対象としてPyTorch MLPでのNNモデルを試すのが良さそうだ。また、特徴量作成や判断補助としてLLMを導入することも視野に入れた方が良いだろう。

コメント