barilog

エンジニアリング見習い雑記

【論文読み】Sentiment-Based Prediction of Alternative Cryptocurrency Price Fluctuations Using Gradient Boosting Tree Model

今手元に仮想通貨関係のInfluencerたちの発したtweetとBTC価格のデータセットがあるのですが,ここからBTC価格に影響のありそうなtweetを抽出し,さらにwweetからBTC価格の上下を当てる,,なんてことを研究で行っています.

 

一旦はeventstudyでBTC価格に影響のありそうなtweetを抽出するとこまではできたのですが(色々問題あり),肝心のBTC価格の上下を回帰で当てようとする部分が精度が低すぎて使い物になりませんでした..

 

これより,tweet->BTC価格の回帰

に役立ちそうな論文をあさっていました.

 

色々サーチしたところ

こちらの論文 

Sentiment-Based Prediction of Alternative Cryptocurrency Price Fluctuations Using Gradient Boosting Tree Model

 

が非常に参考になりそうだったので読んでみました.

 

submmitが2018/3で被引用数が4回,arxXivに登録されています.

 

論文の内容をまとめると

 

特徴量作成で感情分析を,回帰モデルとしてxgboostを用いてZClassicの価格を回帰分析してみたところ,相関係数が0.81になった

 

ということでした.

相関係数がなかなか高いですね.

 

 

特徴量は以下の6つのようです.

一時間あたりの取引数,Neutral, Positive, Negative, Unweighted Index, Weighted Index

 このうち

Neutral, Positive, Negativeはおそらくonehotベクトルだと思います..

Unweighted IndexとWeighted Indexがまだよく理解できていません..

 

  

入江開発室に入ってみた

入江開発室って知ってますか?最近twitterなどで徐々に認知度が上がっている開発者向けのオンラインサロンです

camp-fire.jp

 

色んなプロジェクトが並行して走っていて,サロンメンバーは好きなプロジェクトに参加できるようになっています.

 

このオンラインサロン,自分のようにチームでの開発経験が少ない人にとっては非常に有益だと思います.

なぜならば短期かつオンライン上で完遂できる開発案件にスキルが未熟なうちから関われるから.

 

 

コーディング能力またgithubやslackを介したコミュニケーションのお作法が十分に備わっていない人物が参加できる開発案件はベンチャーの6ヶ月~などの長期的な案件が多いでしょう.オンライン上の案件はほぼ開発能力が一通り身についている人が携われる案件が多い.スキルが未熟な人がオンライン上で気軽に開発経験をつめるというのは非常に貴重な場です.

 

金融テキストマイニングにおけるモデルの評価

コーパスとテキストマイング

http://amzn.asia/2IbDzDK

の読書メモ

 

 

モデルの評価の基礎的な流れは以下のとおりです.

 

 

1.訓練データからモデルを学習する

2.評価データの説明変数をモデルに入力し評価データの目的変数の値を推測する.

3.実際の評価データの目的変数の値と推測した値とを比較することで予測精度(予測誤差)を計算する.

 

さて金融テキストマイニングでは,データは時系列である点に注意しましょう.未来の訓練データで学習したモデルを過去の評価データに適用しても,予測精度を正しく計算することはできません.

一般のデータマイニングでは予測精度を計算する際に交差検定が用いられますが,上記の理由から金融テキストマイニングには向きません.

(個人的な疑問:これは交差検定ではデータ・セットを過去・未来にかかわらずランダムに選んで数個の訓練データ+評価データの塊に分割するから,なのかな?時系列に沿って分割)

 

予測精度を正しく求めるためには,評価データよりも過去の訓練データから学習したモデルで予測精度を計算しなければなりません.また,モデル選択(複数のモデルからあるモデル-たとえば重回帰や回帰木など-を選んだり,パラメータをチューニングする)のために訓練データをさらに訓練データと検証データに分けることがありますが,この際に検証データも訓練データより過去のものとしなければなりません.

 

この理解でいくと,

もし,単体の時系列データ・セットが渡されたなら,

データを時系列に沿って2つ(検証データが必要であるならば3つ)にわけ,一番古い時系列のデータを訓練データ,(検証データが必要であるならば次に古いものを検証データ,)そして一番最新の時系列データを評価データとする.

というのが一般の流れのようです.当たり前なところなんですが悩む人も多いところななのでまとめました.

 

 

参考文献

http://amzn.asia/2IbDzDK

金融テキストマイニングにおけるモデルの評価

コーパスとテキストマイング

http://amzn.asia/2IbDzDK

の読書メモ

 

 

モデルの評価の基礎的な流れは以下のとおりです.

 

 

1.訓練データからモデルを学習する

2.評価データの説明変数をモデルに入力し評価データの目的変数の値を推測する.

3.実際の評価データの目的変数の値と推測した値とを比較することで予測精度(予測誤差)を計算する.

 

さて金融テキストマイニングでは,データは時系列である点に注意しましょう.未来の訓練データで学習したモデルを過去の評価データに適用しても,予測精度を正しく計算することはできません.

一般のデータマイニングでは予測精度を計算する際に交差検定が用いられますが,上記の理由から金融テキストマイニングには向きません.

(個人的な疑問:これは交差検定ではデータ・セットを過去・未来にかかわらずランダムに選んで数個の訓練データ+評価データの塊に分割するから,なのかな?時系列に沿って分割)

 

予測精度を正しく求めるためには,評価データよりも過去の訓練データから学習したモデルで予測精度を計算しなければなりません.また,モデル選択(複数のモデルからあるモデル-たとえば重回帰や回帰木など-を選んだり,パラメータをチューニングする)のために訓練データをさらに訓練データと検証データに分けることがありますが,この際に検証データも訓練データより過去のものとしなければなりません.

 

この理解でいくと,

もし,単体の時系列データ・セットが渡されたなら,

データを時系列に沿って3つにわけ,一番古い時系列のデータを訓練データ,(検証データが必要であるならば次に古いものを検証データ,)そして一番最新の時系列データを評価データとする.

というのが一般の流れです.

 

論文 Twitter mood predicts the stock market

コーパステキストマイニングより引用

 ---------------------------------------------------------------------------------------------------

 Bollen(2011)は,2008年2月28日から11月28日の9,853,493個のtwitterのテキストを分析し,米国のダウ平均株価指数との関係性を調べた.ユーザー数は約270万人にもなり,1日平均で3.2万個が投稿された.これだけ膨大なテキスト情報があれば,経済に対する世の中の平均的な味方のトレンドが抽出できるのではないかと考えたのである.

 このテキスト情報のうち,彼らは書き手が自分の心的状態を明言していると思われるテキストだけを分析対象とした.そのために,"i feel"や"i am feeling","i'm feeling","i don't feel","I'm","I am","makes me"を含むテキストを抽出した.次に,確実の抽出されたテキストの集合から,どのような心理状態に関連する表現が多いかを指標化した.心理学で使われる気分プロフィール検査(POMS)をべーすとした,Google-Profile of Mood States(GPOMS)指数うを新たに提唱している.元になったPOMSは,被験者に対して現在の自分の心的状態を,「有効的な」「ふきげんな」「活発な」「限界ギリギリの」「パニック状態の」等の72種類の表現への7段階程度の当てはまりを聞く質問紙調査である.この回答を分析し,被験者の心的状態に変換し,被験者の心的状態を,平穏・警戒・確信・活気・善意・幸福の6次元の尺度で表す.GPOMSは,

Gooleの4,5-gram共起語(25億語)(Brants, Franz, 2006; Bergsma et al., 2009)を使用して,POMSの72表現に関連する964語の辞書を用いている.この拡張辞書の頻度により,確実のテキストデータから先程の6次元の尺度のスコアを計算する.

 テキスト情報を取得した2008年2月28日から11月28日について,6次元のGPOMS指数とダウ平均株価指数を用いて,Granger因果性検定を行った.その結果,「平穏」の尺度が2~5日語の平均株価との因果性があった.さらに,1日前から3日前までの「平穏」のスコアと平均株価を入力とsて翌日の平均株価を予測するモデルを,Self-organizing Fuzzy Neural Network(SOFNN)手法を用いて構築した.訓練期間は2008年2月28日から11月28日であり,テスト期間は2008年12月1日から19日である.その結果,翌日の平均株価の騰落の方向性を,86.7%の精度で予測することができた.しかし,テキスト情報を用いずに,過去の3日間の平均株価だけから予測した場合でも,73.3%の予測精度があった. 

 ---------------------------------------------------------------------------------------------------

参考文献

http://amzn.asia/2IbDzDK

https://arxiv.org/pdf/1010.3003.pdf

https://catalog.ldc.upenn.edu/products/LDC2006T13

https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/35387.pdf