wsdm2012勉強会 - correlating financial time series with micro-blogging activity

35
2012/4/7 @john_a_dreams WSDM2012勉強会 Correlating Financial Time Series with Micro-Blogging Activity

Upload: jun-ito

Post on 05-Jul-2015

1.457 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 @john_a_dreams

WSDM2012勉強会

Correlating Financial Time Series with Micro-Blogging Activity

Page 2: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

概要

Twitterから得られる特徴量と、株価・出来高の

相関を調べたよ!という論文

2012/4/7 WSDM2012勉強会 2

特徴量

株価

出来高

相関? 非相関?

Page 3: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

概要

2012/4/7 WSDM2012勉強会 3

特徴量は大別してActivity-basedとGraph-basedの2種類が検討されている

# of tweets # of hashtags # of URLs # of RTs ...

# of nodes # of edges # of connected components PageRank distribution ...

Activity-based features Graph-based features

Page 4: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

概要

2012/4/7 WSDM2012勉強会 4

全体の流れは下図の通り。各章の主要部分を順を追って説明する。

2. データ収集と前処理

3. 特徴量抽出

Graph-based

Activity-based

4. 相関のある特徴量の特定

5 売買シミュレーション

株価・出来高、 財務指標

上場企業 関連ツイート

Page 5: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 WSDM2012勉強会 5

2. データ収集と前処理

Page 6: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 6

ツイート取得対象銘柄と取得データ

S&P 500(日本でいう日経平均みたいなもの)から150銘柄をランダムに選択

株データとしては終値と出来高のみ取得&加工

• 終値:(p_i – p_{i-1}) / p_{i-1} #前日からの上下具合

• 出来高:v_i / average(v) #対象期間平均との比

対象期間は2010年上半期

Page 7: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 7

株価・出来高を予測するので、株式情報に関連するツイートを取得する必要がある

ticker symbolを使う #日本でいう証券コード的なもの

Page 8: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 8

Page 9: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 9

次の条件で正規表現を作成し、マッチするツイートのみを取得する

① tickerが$つき、またはhashtagで現れる

② 企業名がhashtagで現れる

ex) “#YHOO|$YHOO|#Yahoo”

※ただし、ランダムに抽出した30ツイートを人手でチェックし、

50%以上が関連ツイートでなければ正規表現作り直し。

それでもダメならデータセットからその企業は削除される。

Page 10: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 10

Graph-based featureを取得するため、ツイートからグラフが作成される

Page 11: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 11

Page 12: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 12

^

非公式RTに対応するため、ツイートをbag-of-wordsで表現したときに、ツイート同士のJaccard係数が0.8より大きけれ

ば類似とみなして、similarity nodeを作成してリンクさせる

similarity node

Page 13: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2. データ収集と前処理

2012/4/7 WSDM2012勉強会 13

screen_nameはAPIを 叩いてuser_idに置換

Timestampは基本的に 初出年月日

短縮URLは元URLでノードを作成 (表では短縮形式だが...)

Page 14: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 WSDM2012勉強会 14

3. 特徴量抽出

Page 15: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

3. 特徴量抽出

2012/4/7 WSDM2012勉強会 15

前述したように、特徴量は大別してActivity-basedとGraph-basedの2種

最大値で割るなどして、[0,1]に正規化されている (また1日のツイート数に比例する係数を用いて、周期的・Twitterの成長的な要素を排除している)

Page 16: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 WSDM2012勉強会 16

4. 相関のある特徴量の特定

Page 17: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 17

Cross-Correlation coefficient(CCF:相互相関係数)を用いて、特徴量と株価・出来高の相関を計測

相関係数 相関度合

-1.0~-0.7 強い負の相関

-0.7~-0.4 かなり負の相関

-0.4~-0.2 やや負の相関

-0.2~0.2 ほとんど相関なし

0.2~0.4 やや正の相関

0.4~0.7 かなり正の相関

0.7~1.0 強い正の相関

ずらした時に似てるかな?

指標値 株価・出来高

ずらす日

Page 18: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 18

ギリギリやや正の相関 # of connected component が一番相関が高い

Page 19: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 19

企業によって相関の様子は違う

Page 20: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 20

ではどんな企業なら相関が強いのか? (財務指標から企業を3つにカテゴライズした場合)

低負債? 低Float 高Beta

でかなり相関

流動比率(短期支払能力)

売上総利益(粗利)

EV/EBITDA倍率

PEGレシオ(PER/EPS)

浮動株

ベータ

Page 21: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 21

複数企業を指標値としてまとめたらどうか? (時価総額上位20銘柄をまとめる)

終値-始値

時価総額

Page 22: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 22

相関なしに近くなった

株価ではGraph-basedな特徴量が効くようになった

Page 23: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 23

データ量を増やしたらどうなるか?

① Restricted Graph

前述したグラフ形成手法 – “#YHOO|$YHOO|#Yahoo”

② Expanded Graph

企業のフルネーム、短縮名もOKにする(#が不要) – “#YHOO|$YHOO|#Yahoo|Yahoo|Yahoo Inc”

③ RestExp

①のノードに②をくっつける(①、②の中間)

Page 24: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 24

データ量は約30倍

Page 25: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

4. 相関のある特徴量の特定

2012/4/7 WSDM2012勉強会 25

しかし、相関は落ちた⇒量より質という結論

Page 26: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 WSDM2012勉強会 26

5. 売買シミュレーション

Page 27: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

5. 売買シミュレーション

2012/4/7 WSDM2012勉強会 27

始値でありったけ買って、終値で全部売るという投資家を想定したシミュレーションを行った

1. 投資家は初期投資額𝐶0をもつ

2. K種の銘柄をアルゴリズムにしたがって選び、始値でアルゴリズムにしたがった配分で𝐶𝑡が許す限り買う

3. 終値で全部売り払う:投資額𝐶𝑡+1

4. シミュレーション期間終了まで2,3を繰り返し、 𝐶0との比をプロットする

Page 28: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

5. 売買シミュレーション

2012/4/7 WSDM2012勉強会 28

売買アルゴリズム

① Random

K種をランダムに選択

配分は均等(𝐶𝑡/𝐾)

② Fixed

財務指標が良いK種をいつも選択 – 財務指標:時価総額、企業規模、総負債額

配分は均等

Page 29: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

5. 売買シミュレーション

2012/4/7 WSDM2012勉強会 29

売買アルゴリズム ③ Auto Regression

ARモデル(自己回帰モデル)で予測した変動値が高い銘柄K種を選ぶ

配分は均等または予測変動値で重みづけ

④ Twitter-Augmented Regression VARモデル(多変量自己回帰モデル)で予測した変動値が高い銘柄K種を

選ぶ

配分は均等または予測変動値で重みづけ

※論文の式はおかしいので注意!

𝑥𝑡 = 𝑎1𝑥𝑡−1+ 𝑎2𝑥𝑡−2+ ⋯+ 𝑎𝑚𝑥𝑡−𝑚+ 𝑐

×

×

𝑥𝑡 = 𝑎1𝑥𝑡−1+ 𝑎2𝑥𝑡−2+⋯+ 𝑎𝑚𝑥𝑡−𝑚+

𝑏1𝑦𝑡−1 + 𝑏2𝑦𝑡−2 +⋯+ 𝑏𝑚𝑦𝑡−𝑚 + 𝑐

Page 30: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

5. 売買シミュレーション

2012/4/7 WSDM2012勉強会 30

proposed

ダウ平均

Page 31: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

5. 売買シミュレーション

2012/4/7 WSDM2012勉強会 31

どうしてダウ平均と同じような波形なのか? ① 始値で買った株を終値で全部売るから

利益を最大化してない • 高値で売れたかもしれないし、翌日以降にもっと高値がついたかもしれない • 買わないという選択肢もない

結局、全体からどれをサンプリングしたかになってる • ダウ平均に連動しながら差が広がっていくのがベストケース

② 相関が「やや相関」であるから

回帰モデルで予測した株価の精度が良くない

-6 -10 -14 -8 -22 0

-1 5 -10 0 14 -8

4 17 12 6 0 21

銘柄全体≒ダウ平均

選択銘柄

Page 32: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 WSDM2012勉強会 32

まとめと雑感

Page 33: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

まとめと雑感

2012/4/7 WSDM2012勉強会 33

まとめ

Twitterから得られる特徴量と株価・出来高の相関を調べた

グラフ表現して、connected component数を数えたものが最も相関した

ただし、株価で0.2前後と相関は弱い

相関の強さは、株価<出来高

データ量よりもデータの質が重要

Page 34: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

まとめと雑感

2012/4/7 WSDM2012勉強会 34

雑感

出来高がconnected component数と相関するのは納得(ある意味、Twitter上の注目度を計測している)

注目度だけでは株価は予想できない

感情情報やネガポジ情報が必要? • “Twitter mood predicts the stock market,” Journal of Computational

Science, 2011.

「量より質」ということはfirehoseとかいらないのでは

企業名がTwitter上に出てこない企業の株価予測はそもそも無理なのはどうしようもない?

Page 35: WSDM2012勉強会 - Correlating Financial Time Series with Micro-Blogging Activity

2012/4/7 WSDM2012勉強会 35

ご清聴ありがとうございました