stockedge.jpの技術メモ

http://stockedge.jp/の中の人が書いてる技術メモ

日経平均株価の方向性の簡単な予測方法

を紹介する*1。手数料を考えると恐らく儲からない(少なくともこの手法単体では厳しい)ので、過剰な期待はしないように。
※この記事を読む人は下にあるFacebookのコメント欄まで読んでください。

やりかた

日経平均株価四本値を説明変数、翌日の終値を目的変数として、random forestなどで予測する。
ただし初値で(初値以外の)四本値および翌日の終値を割っておく。割った後、初値は説明変数から除外する。
また割られた翌日の終値を1以上か否かで分割し二値のカテゴリ変数とする。

ちなみに、この手法はこの論文に載っていた手法をちょっと変えたものなので興味があればこちらもどうぞ。

Rでやってみる

RのrandomForestを使い、実際に試してみる。
OOBエラーを見ると、OOBでの正解率は70.83%。
testデータでの正解率は66.8%となっている。
なおクラスバランスはおおむね50/50になっているのでクラスバランスのバイアスは心配しないでよい。


RのrandomForestはpredict関数のtype引数に"prob"を指定すると事後確率の推定値を出力してくれる。これを使ってさらに予測精度を上げてみる。
testデータでの正解率が87.5%まで上昇している。

まとめ

というわけで、四本値を入力として翌日の終値(が今日の初値より高くなるかどうか)を予測することができた。ちなみに2日後の終値も(精度は落ちるけど)同様に予測することができるので興味がある方は試してみてほしい。
あと、この予測を使って儲けようとする場合、翌日の初値で買って終値で売ることになるはずだが、恐らくこの戦略は手数料負けするので、実践はおすすめしない。

*1:とはいえランダムフォレストを使うので、ランダムフォレストが「簡単」だと思える程度にはデータ解析に慣れている人向け