Upload
jun-ito
View
1.457
Download
0
Embed Size (px)
Citation preview
2012/4/7 @john_a_dreams
WSDM2012勉強会
Correlating Financial Time Series with Micro-Blogging Activity
概要
Twitterから得られる特徴量と、株価・出来高の
相関を調べたよ!という論文
2012/4/7 WSDM2012勉強会 2
特徴量
株価
出来高
相関? 非相関?
概要
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
概要
2012/4/7 WSDM2012勉強会 4
全体の流れは下図の通り。各章の主要部分を順を追って説明する。
2. データ収集と前処理
3. 特徴量抽出
Graph-based
Activity-based
4. 相関のある特徴量の特定
5 売買シミュレーション
株価・出来高、 財務指標
上場企業 関連ツイート
2012/4/7 WSDM2012勉強会 5
2. データ収集と前処理
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 6
ツイート取得対象銘柄と取得データ
S&P 500(日本でいう日経平均みたいなもの)から150銘柄をランダムに選択
株データとしては終値と出来高のみ取得&加工
• 終値:(p_i – p_{i-1}) / p_{i-1} #前日からの上下具合
• 出来高:v_i / average(v) #対象期間平均との比
対象期間は2010年上半期
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 7
株価・出来高を予測するので、株式情報に関連するツイートを取得する必要がある
ticker symbolを使う #日本でいう証券コード的なもの
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 8
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 9
次の条件で正規表現を作成し、マッチするツイートのみを取得する
① tickerが$つき、またはhashtagで現れる
② 企業名がhashtagで現れる
ex) “#YHOO|$YHOO|#Yahoo”
※ただし、ランダムに抽出した30ツイートを人手でチェックし、
50%以上が関連ツイートでなければ正規表現作り直し。
それでもダメならデータセットからその企業は削除される。
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 10
Graph-based featureを取得するため、ツイートからグラフが作成される
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 11
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 12
^
非公式RTに対応するため、ツイートをbag-of-wordsで表現したときに、ツイート同士のJaccard係数が0.8より大きけれ
ば類似とみなして、similarity nodeを作成してリンクさせる
similarity node
2. データ収集と前処理
2012/4/7 WSDM2012勉強会 13
screen_nameはAPIを 叩いてuser_idに置換
Timestampは基本的に 初出年月日
短縮URLは元URLでノードを作成 (表では短縮形式だが...)
2012/4/7 WSDM2012勉強会 14
3. 特徴量抽出
3. 特徴量抽出
2012/4/7 WSDM2012勉強会 15
前述したように、特徴量は大別してActivity-basedとGraph-basedの2種
最大値で割るなどして、[0,1]に正規化されている (また1日のツイート数に比例する係数を用いて、周期的・Twitterの成長的な要素を排除している)
2012/4/7 WSDM2012勉強会 16
4. 相関のある特徴量の特定
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 強い正の相関
ずらした時に似てるかな?
指標値 株価・出来高
ずらす日
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 18
ギリギリやや正の相関 # of connected component が一番相関が高い
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 19
企業によって相関の様子は違う
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 20
ではどんな企業なら相関が強いのか? (財務指標から企業を3つにカテゴライズした場合)
低負債? 低Float 高Beta
でかなり相関
流動比率(短期支払能力)
売上総利益(粗利)
EV/EBITDA倍率
PEGレシオ(PER/EPS)
浮動株
ベータ
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 21
複数企業を指標値としてまとめたらどうか? (時価総額上位20銘柄をまとめる)
終値-始値
時価総額
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 22
相関なしに近くなった
株価ではGraph-basedな特徴量が効くようになった
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 23
データ量を増やしたらどうなるか?
① Restricted Graph
前述したグラフ形成手法 – “#YHOO|$YHOO|#Yahoo”
② Expanded Graph
企業のフルネーム、短縮名もOKにする(#が不要) – “#YHOO|$YHOO|#Yahoo|Yahoo|Yahoo Inc”
③ RestExp
①のノードに②をくっつける(①、②の中間)
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 24
データ量は約30倍
4. 相関のある特徴量の特定
2012/4/7 WSDM2012勉強会 25
しかし、相関は落ちた⇒量より質という結論
2012/4/7 WSDM2012勉強会 26
5. 売買シミュレーション
5. 売買シミュレーション
2012/4/7 WSDM2012勉強会 27
始値でありったけ買って、終値で全部売るという投資家を想定したシミュレーションを行った
1. 投資家は初期投資額𝐶0をもつ
2. K種の銘柄をアルゴリズムにしたがって選び、始値でアルゴリズムにしたがった配分で𝐶𝑡が許す限り買う
3. 終値で全部売り払う:投資額𝐶𝑡+1
4. シミュレーション期間終了まで2,3を繰り返し、 𝐶0との比をプロットする
5. 売買シミュレーション
2012/4/7 WSDM2012勉強会 28
売買アルゴリズム
① Random
K種をランダムに選択
配分は均等(𝐶𝑡/𝐾)
② Fixed
財務指標が良いK種をいつも選択 – 財務指標:時価総額、企業規模、総負債額
配分は均等
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 +⋯+ 𝑏𝑚𝑦𝑡−𝑚 + 𝑐
5. 売買シミュレーション
2012/4/7 WSDM2012勉強会 30
proposed
ダウ平均
5. 売買シミュレーション
2012/4/7 WSDM2012勉強会 31
どうしてダウ平均と同じような波形なのか? ① 始値で買った株を終値で全部売るから
利益を最大化してない • 高値で売れたかもしれないし、翌日以降にもっと高値がついたかもしれない • 買わないという選択肢もない
結局、全体からどれをサンプリングしたかになってる • ダウ平均に連動しながら差が広がっていくのがベストケース
② 相関が「やや相関」であるから
回帰モデルで予測した株価の精度が良くない
-6 -10 -14 -8 -22 0
-1 5 -10 0 14 -8
4 17 12 6 0 21
銘柄全体≒ダウ平均
選択銘柄
2012/4/7 WSDM2012勉強会 32
まとめと雑感
まとめと雑感
2012/4/7 WSDM2012勉強会 33
まとめ
Twitterから得られる特徴量と株価・出来高の相関を調べた
グラフ表現して、connected component数を数えたものが最も相関した
ただし、株価で0.2前後と相関は弱い
相関の強さは、株価<出来高
データ量よりもデータの質が重要
まとめと雑感
2012/4/7 WSDM2012勉強会 34
雑感
出来高がconnected component数と相関するのは納得(ある意味、Twitter上の注目度を計測している)
注目度だけでは株価は予想できない
感情情報やネガポジ情報が必要? • “Twitter mood predicts the stock market,” Journal of Computational
Science, 2011.
「量より質」ということはfirehoseとかいらないのでは
企業名がTwitter上に出てこない企業の株価予測はそもそも無理なのはどうしようもない?
2012/4/7 WSDM2012勉強会 35
ご清聴ありがとうございました