Python

【KDDIの株価をAIで予想】KDDI直近3年分の株価で実装|LSTMモデルの問題点

Python

はじめに

前回、KDDIの株価をLSTMで予想した。

しかし、データが1年分と少なかった。そこで、2018〜2020年の3年分のデータまで拡張する。

そのデータでLSTMで株価を予想する。

動作環境

  • Mac OS 10.11.6
  • Python 3.6.8
  • Keras               2.2.4
  • tensorflow          1.8.0

データ

生成方法

以下の方法で3年分のデータをスクレイピングする。

以下の方法で3年分のデータを直結させる。

完成したデータ

Unnamed: 0日付始値高値安値終値出来高終値調整
02018-01-042,8392,844.52,823.52,844.59,037,8002,844.5
12018-01-052,8402,850.52,8262,841.58,401,8002,841.5
22018-01-092,8552,855.52,8302,830.57,508,0002,830.5

LSTMの実装方法

以下の方法でLSTMを実装する。

ただし、以下のパラメータを変更する。

データ数が増えたので、テストデータの割合を減らすため。

全データの30%がテストデータであったが、10%まで低下させる。

変更前

test_size = 0.3

変更後

test_size = 0.1

出力結果

学習は順調に進んだ。

縦軸が株価で、横軸が日付です。

input:実際の株価

predict:LSTMによる予測値

考察

inputに対してpredictは、右にシフトしたようなグラフとなった。

つまり、実際の株価データから同じような株価を予測していると考えられます。

株価には、「ランダムウォーク理論」「予測の不可能性」を説明する理論がある。ある程度の不確実性の要素を入れて、LSTMの回帰モデルを組んだ方が良いかもしれない。

株価の不確実性の要素の一つに、情勢があると推察する。

そこで、ニュースや検索数を株価に考慮するモデルを今後作成する。

結論

LSTMでは、ある程度株価を予想することは可能である。

しかし、過去のデータからほぼ同じような値を予想するため、実際のより遅れたデータとなる問題がある。

コメント

タイトルとURLをコピーしました