機械学習で日経平均の変動を予測する(1)

続きです。

人工知能に株価を予測させて儲けて遊んで暮らす

とりあえず何か目に見える結果を、ということで一つ作ってみました。

普通の3層のフィードフォワードネットワークをバックプロパゲーションで学習させた結果です。入力は過去10年くらいの日経平均、NASDAQ、その他いくつかの為替レートのそれぞれ終値から、前日の1日のデータのみを1回の入力として使用しています。出力は次の日の日経平均の終値が「上がる」か「下がる」かの2クラス分類問題にしてます。

2

色がついている所が「上がる」と予想したところです。なんか、ちゃんと予想できてるような出来てないような…。ただ、「下がる」→「上がる」の切り替わり後はそれなりに日経平均は上昇しているのが見て取れます。

次も普通の3層のフィードフォワードネットワークなんですが、前日5日間くらいのデータを入れてみたものです。元々の入力次元数iに対して前日n日間のデータを入力するので入力の次元は結局i*nになります。人間の感覚的にも前日1日のデータしか与えられないよりは精度が向上しそうな気がしますがどうでしょうか。

3

あんまり大差ないですね。

というかこの二つの方法の一番の問題?は「上がるか下がるかの粒度が大きすぎる」という点な気がします。このグラフの横軸は10年くらいのスパンなので10年間で数えられる程度の売買タイミングしか提示しないのはちょっと…。

解決するには、単純には時系列の粒度を1日から1時間などに変更するなどすると良さそうですが、1時間単位のデータが見つかるかな…。

今回の結果は「とりあえず何か結果を出してみた」という程度です。為替や株価の変動のような時系列を扱うにはそれ専用の手法がありますので、そっちが本命です。それは次回にやってみます。