どうも、オリィ研究所 (http://orylab.com/) のryo_gridこと神林です。
今回はTwitter感情分析で株価予測の論文「Twitter mood predicts the stock market」を検証してみました。
追記: コメント欄にテクニカルによる予測とアンサンブルして約70%の精度で予測できたことについて記述しています。
追記2: コメント欄に始値で予測した場合について記述しています
検証対象
"Twitter mood predicts the stock market"
https://arxiv.org/pdf/1010.3003.pdf
上記論文を日本語で解説した記事は以下。
[第三回論文速報会] Twitterの感情分析から株価の予報は可能か?
http://networkpaper.blogspot.jp/2012/04/twitter.html
対象の論文は、Google Scholarで見ると2000本以上の論文にリファーされている、この手の研究の中では評価の高い(≒先駆的な)論文です。
論文の結論のうち、すごく雑に、今回着目する点を書くと「Twitterを感情分析した結果「穏やかさ」とダウ平均株価に相関(統計用語の相関ではないです)があり、前者の情報により後者のUPorDOWNが87.6%の精度で予測できた」というものです。
これは驚くべき結果で、懐疑的な見方をしている人もいるようですが、とにかく自分で確かめてみました。
やったこと
- 2009年のTwitterデータセットを感情分析しcalmness(穏やかさ)を求める
- https://archive.org/details/twitter_cikm_2010
- やり方はおおむね論文のやり方と同じ。ただし、論文で利用しているProfile
of Mood States(POMS)という、感情分析の質問項目は手に入らなかったので、独自の方法でcalmnessを表現する単語を収集
- Xgboostを用いて、calmnessからダウ平均株価のUPorDOWNを予測する
- データ&予測プログラム: https://gist.github.com/ryogrid/e5274ac31a5b9ac02e8a9fe33b8ac921
- データは日時,calmness,デイリーのダウ平均株価終値
- 前半半年で学習し、後半半年で予測
- 3日分のcalmnessと、3日分の株価の差分(Price[n]-Price[n-1])を入力
結果
59.5%の精度でUPorDOWNが予測できた。
株価の差分の情報を入力しなくても予測精度に変化が無く、また直近の株価推移の情報だけでは予測精度出なかったため、論文が示した通りTwitterでのcalmnessとダウ平均株価に相関があると思われる。
ただし、論文が示したのは2008年のデータにおいてであり、今回検証したのは2009年のデータなので、現在も同じ相関があるかは定かではない(当時よりユーザ数が増えているし、ユーザー層も変化していると思われる)ので、データを収集し追試したい。
また、予測に用いたデータは https://gist.github.com/ryogrid/e5274ac31a5b9ac02e8a9fe33b8ac921 にあるので、上記の結果が本当に正しいか、Rなどが得意な方がいたら、検定など行って相関があるか調べていただけると大変ありがたいです (私はRはあまり得意でないので...)。
以上です。
類似研究(?)
トランプ氏のツイートを機械学習し、為替の予測をしてみた。〜GCP ML系使い倒し〜
http://qiita.com/hayatoy/items/708aa3fced2d37bc026c