stockedge.jpの技術メモ

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

株価の予測は当たりやすい時と当たりにくい時がある

stockedge.jpの株価予測に面白い性質があるので紹介する。
以下のグラフは、株価予測を100回行うごとに勝率を計算してその時系列をプロットしたものである。使用したのは2011年5月13日から2015年8月25日までのデータ(35860サンプル)。
f:id:stockedge:20150927194414j:plain
グラフをよく見ると、勝率が低くなるとしばらくの間低い期間が続き、高くなるとしばらくの間高い期間が続く、という傾向があるように見える。要は、勝率の時系列に自己相関があるように見える。
実際、どの程度自己相関があるのかをRのacf関数で計算してみた。

> #ratesは勝率の時系列
> acf(rates, plot=F)

Autocorrelations of series ‘rates’, by lag

     0      1      2      3      4      5      6      7      8      9     10 
 1.000  0.506  0.415  0.449  0.321  0.241  0.271  0.224  0.164  0.129  0.066 
    11     12     13     14     15     16     17     18     19     20     21 
 0.081  0.078  0.064  0.151  0.115  0.103  0.075  0.075  0.116  0.125  0.104 
    22     23     24     25 
 0.097  0.055 -0.022 -0.056 

f:id:stockedge:20150927194431p:plain
acf関数の結果を見ると、ラグ1の時に0.5の自己相関があるので、やはりそこそこ強い自己相関がある。しかもラグ9まで95%信頼区間以上の自己相関が続いている。

まとめ

あくまでも「stockedge.jpで使っている株価予測モデルにはこういう性質がある」というだけの話なので、一般化はできないのだけれど、株価の予測には当たりやすい時期と当たりにくい時期がある(つまり、勝率の時系列に自己相関がある)ことが分かった。
ちなみに、この勝率の自己相関を使ってstockedge.jpの株予測を改良できないかどうか(例えば株価の予測が当たりにくい時には予測の信頼度を下げるなど)は現在検討中である。

おまけ

市場の効率性を定量的に把握しようという試みで、こんな論文もある。
Testing Market Imperfections via Genetic Programming
この論文は「遺伝的プログラミングで株価の予測モデルを作ったよ。このモデルで予測が当たりやすい時期は市場の効率性が低いかも?」と言っているだけの論文である。特に革新的な論文というわけではない。でも「市場は効率的なのか」という古くから何度も行われている論争について、yesかnoかの二択で考えるのではなく、効率性を定量化して考えようとするアイデアは面白いんじゃないかと思う。