【chainer】機械学習で株価の予測を試してみる その2
16
- 4月
2017
Posted By : boomin
【chainer】機械学習で株価の予測を試してみる その2
Advertisements

概要

前回、twitterのデータから株価の予測に挑戦してみました。
しかし、残念ながらその結果は惨敗に終わりました。。。。
ということで、改善してみようと思います。

 

やっていること

Yahooファイナンスで公開されている、過去の株価情報を用いて、株価を再現する。
そして、予測もどきを行ってみる。

  • Yahoo!ファイナンス
  • twitterの過去ログ
    • 予測した対象企業の公式twitter
    • 過去ログの取得方法は、いろいろあるのでググってください。

 

Advertisements

データの使い方について

  • 上記の2つの情報で、2014/01/01~2016/12/31までの期間を学習データとする。
  • 学習させたモデルで、2014/01/01~2016/12/31までの期間の電力需要の再現を試みる。
    • 学習データの90%を実際に学習に使い、残る10%で評価を行う。

 

使用したアルゴリズム

データの準備や機械学習で、以下のようなアルゴリズムを利用しています。

 

学習データ

以下の2種類を用意

  • twitterデータ
  • 株価の前日終値と、前日終値と当日終値の差

twitterデータについては、以下のようにします。

  • 言語を学習データとするために、ベクトル化を行っています。
  • mecabを使って、日本語を形態素解析(品詞分解)を行います。
  • doc2vecを使用しています。前後の単語の文脈も学習結果に取り込みたいためです。
  • 200次元ベクトルに変換しています。

 

学習プロセス

  • Neural Networkを使った、Deep Learningを使っています。
  • 隠れ層は3層、隠れ層のノード数は600、出力は1層です。

 

結果について

前回との違いは、学習データに、株価の前日終値と、前日終値と当日終値の差を追加したことです。

 

結果の可視化

計算して再現(上)したものと予測(下)したものをグラフ化しました。
計算結果例
前回の結果と比較すると、下のグラフ(予測結果)のバタつきが、だいぶ抑えられていますね。
前日終値と当日終値の差は、自己回帰性のある株価データで、その特性を消して分析を進めるために、よく使われる手法ですね。

 

結果の解釈

解釈というより感想ですが、やはり「株価」を精度良く予測することは難しいです。
しかるべきデータを使って、しかるべきチューニングを行えば、出来そうな気はします。
しかし、どこまでそこに労力をかけるのか?という投資対効果を考えると、
世の証券会社にはとても太刀打ちできそうにありません。

 

それでは次の展望は・・・?

「株価」を当てるのが難しい。
それならば、今日【上がるか】【下がるか】を予測できるだけで十分な気がしますね。
ということで、そういう方向性を目指すことにしましょう。

Advertisements

コメントを残す