人工知能(AI)による株価分析でうまく儲けられない理由


人工知能(AI)による株価分析を行い、株式市場で大儲けをしようと野心的な試みをしましたが、いくつかの問題が発生し、結果として上手くいきませんでした。人工知能(AI)でうまく儲けられない理由をまとめておきます。

はじめに:試みた分析

私が試みた株価分析は、株価の過去データを人工知能(AI)に学習させて、翌日以降の株価水準を機械に予測させる方法です。流行りのディープラーニングとしてMLP(Multi Layer Perceptron)も試しましたが、結局素人でも使いやすく精度が高いランダムフォレストと呼ばれる機械学習のアルゴリズムを中心に分析を行いました。

儲けられない理由

株価データ数の制約の問題

私は機械学習では、多様なパラメータ(前日の高値、安値、終値、2日前・3日前の株価情報、出来高、移動平均線の水準・・・etc.)、を機械に与えてあげれば精度の良い株価予想を返してくれると考えていましたが、そうではありませんでした。

与えるパラメータを増やせば、モデルが複雑になり過剰適合(overfitting)を起こし、汎用性の高い株価予想ができなくなります。勿論分析対象となる株価データを増やせばこの問題は解決しますが、株価データは市場が開いているのが1年間で243日前後の関係で、過去の年の株価データを集めたとしてもそれほど多くの蓄積はありません。株価データは意外に少ないのです。このようにデータを増やせない以上、徒にパラメータは増やせません。

ただし、工夫すれば多くのパラメータを使った分析も可能な様子でした。例えばMLPを使えば余計な情報を捨てられますし、主成分分析(PCA)と呼ばれる手法でパラメータを回転させて使う手法もありました。

誤検出の問題

機械学習では、何もない所から誤って何かが検出されてしまう事があります。例えば乱数で生成したチャートを分析しても、あるはずの無い上昇または下落シグナルが出てしまう事があるのです。

勿論、手持ちのデータをモデル構築に用いる「訓練セット」と、モデルの評価に使う「テストセット」に分割し、未知のデータでモデルが機能するかどうかを検証しました。にもかかわらず、不幸にも訓練セットとテストセットの両方で有効となってしまったチャートパターンがあり、誤検出が発生しました。

株価の予測とリターンの違い

「株価を予測できるかどうか」と、「株で利益を得られるかどうか」が、(意外な事に)別問題である点も、機械学習で儲ける事を困難にします。

例えば、7割で株価を当てられるモデルがあったとします。何の情報も無ければ当たるのは5割ですので、7割は良く予想できています。ところが、このモデルで儲けられるかというとそうではありません。なぜなら買う時に上手くいく確率が70%で、売る時に上手くいく確率が70%なら、この売買で儲かる確率は49%でしかないからです。これでは丁半博打と変わりません。このように、株価をある程度高い精度で予測できたとしても、うまく儲けられない事があります。

機械学習で儲ける事はなかなか困難です。


コメントを残す

メールアドレスが公開されることはありません。