はじめに
本記事では、株価予測に機械学習手法を利用する上での基礎知識を紹介します。ただし、初学者を対象にあくまで利用するためだけの基礎中の基礎の説明にとどめます。機械学習を株価予測に利用するにあたっての、勘所の把握の一助となることを目的としています。そのため、不正確・大雑把な表現が多分に含まれますがご容赦ください。誤り等についてのご指摘はコメントいただければ幸いです。
機械学習について
機械学習の特徴のひとつに、人間にはルールを見つけることが難しい複雑な条件設定から、ルールを導き出し結果を算出する、という点があります。株価予測に機械学習を用いる理由もそこにあります。様々な経済指標・株価等の膨大なデータから、株価等の予測したい結果を導くことが可能となります。
では、機械学習の正体は何なのでしょうか。答えは、言ってしまえば単に最適化問題を解いているだけです。より単純に言えば、$y = f(x)$ の関数$f$に当たる部分を自動的に設定するのが機械学習です。ここでは、アウトプットの$y$が予測したい株価等の情報、インプットの$x$が経済指標・株価等のデータに当たります。
したがって、株価予測に機械学習を用いるにあたって、重要なのは以下の3点です。
- 機械学習手法と機械学習パラメータの選定(どんなルールで関数を定めるか)
- 説明変数の設計(インプットの$x$をどう設定するか)
- 目的変数の設計(アウトプットの$y$をどう設定するか)
機械学習手法の選定とパラメータの設定については、説明が膨大になるため本記事では割愛します。ぜひご自身で調査してみてください。以下では引き続き説明変数・目的変数の設計について説明します。
説明変数について
株価予測における説明変数は、一例としては以下などが考えられます。
- 始値・終値・高値・安値・出来高などの株価データ
- 営業利益・総資産などの財務データ
- 日経平均株価などの経済指標データ
説明変数の設計には、株式市場に関する基礎知識やテクニカル分析の知識が役立ちます。また、数理統計の知識も非常に有用です。
なお、説明変数の設計では、主に以下の点に留意する必要があります。
- 説明変数が少なすぎると機械学習モデルが単純になりすぎ、予測がうまく行かない。
- 説明変数が多すぎると機械学習モデルが複雑になりすぎ、予測がうまく行かない。
- 相関の高い説明変数を複数採用すると、予測精度が低下しやすい。
それぞれの理由は割愛しますので、興味のある方はご自身で調べてみてください。
目的変数について
株価予測における目的変数は、一例としては以下などが考えられます。
- 翌日の株価そのもの
- 翌日に株価が上がるか下がるかのTrue or False
- 翌日の株価上昇率ランキング
目的変数の設計は、資産運用における基礎知識・機械学習における基礎知識を踏まえ、自身で試行錯誤する必要があります。
なお、目的変数の設計では、主に以下の点に留意する必要があります。
- 目的変数はなるべくシンプルにしたほうが予測精度が上がりやすい。
- 複数の目的変数を設定したい場合は、ひとつの変数に統合する・機械学習を複数回試行する、という手段が有効である。
それぞれの理由は割愛しますので、興味のある方はご自身で調べてみてください。
おわりに
本記事では、株価予測に機械学習を用いる際に、機械学習手法の選定・説明変数の設計・目的変数の設計、が重要と説明しました。
以下ご要望ありましたら、ぜひコメントをお待ちしております。
- こんな機械学習手法・パラメータ設定を試してほしい
- こんな説明変数を利用してみてはどうか
- こんな目的変数を設定してみてはどうか
コメント頂けましたら筆者の構築手法に反映し、結果を記事にてお伝えしようと思います。
目次へのリンク