計量的・実証的な投資におけるアルファは質の高いサーベイからもたらされるものであり、近い将来その分析手法の殆どが機械学習に置き換わるものだと考えています。
・・・・と次の書籍に書いてあります。
この提言が正しいとすると、現行のシステムトレーダーはすべからく機械学習を学ぶ必要があります。
もともと、私も「機械学習を学んで株価予測に活かしたい」という目的があったので、Kaggleで似たコンテストを探してみました。
Two Sigma: Using News to Predict Stock Movements
↑は、ニュースから株価を予測するチャレンジ(ツーシグマ提供)
Two Sigma Financial Modeling Challenge
↑は、過去の株価から株価を予測するチャレンジ(ツーシグマ提供)
が・・・・・
データが期間限定公開だったため、もうコンペに参加できない!
残念すぎます。
そもそも、ツーシグマって何よ?
ツーシグマ・インベストメント(Two Sigma Investments)は、2001年に設立されたアメリカのヘッジファンドです。
ニューヨークのウォール街ではなくダウンタウンのソーホーに本拠地を構え、「D・E・ショー」出身のジョン・オーバーデックと「チューダー・インベストメンツ」CIO(最高情報責任者)だったデビッド・シーゲルが創業しました。
世界でもっとも成功したファンドの一つで、ヘッジファンドマネージャー年収ランキングでもTop5位に入っています。
順位 | マネージャー | ヘッジファンド | 年収 |
---|---|---|---|
第1位 | ジェームズ・シモンズ (James Simons) |
ルネッサンス (Renaissance) |
16億ドル (1776億円) |
第2位 | レイ・ダリオ (Ray Dalio) |
ブリッジウォーター (Bridge Water) |
12.6億ドル (1399億円) |
第3位 | ケネス・グリフィン (Ken Griffin) |
シタデル (Citadel) |
8.7億ドル (966億円) |
第4位 | ジョン・オーバーデック (John Overdeck) |
ツーシグマ (Two Sigma) |
7.7億ドル (855億円) |
第4位 (同率) |
デヴィッド・シーゲル (David Siegel) |
ツーシグマ (Two Sigma) |
7.7億ドル (855億円) |
ツー・シグマでは750テラバイトのメモリーを持つ7万5,000個のCPUを使って、1万種類を超えるデータソースを分析しており、過去14年間に12億回以上のトレードを実行してきました。
ツー・シグマの社員は、MITやカーネギーメロン大学、カリフォルニア工科大学などでコンピュータ科学や数学、工学を修めた天才数学者たちです。
しかたないので、ネットから情報を漁って書き記す
Two Sigma: Using News to Predict Stock Movements
コンペ概要
米国株式市場の日足の取引データと、ロイターが提供する金融・経済ニュースのデータを駆使して、将来の株価(=10日先の株価)のリターンを予測して競い合うコンペです。
- 市場データ(2007年から現在) 始値、終値、取引量、リターンなど
- ニュースデータ(2007年から現在)Thomson Reuters発行のニュース記事、コメントなど、
具体的には各株の10日先における残差リターンを予測します。
どの株も上昇している日では、株価は上昇しているだけでは駄目で、市場全体を見渡しても平均以上の上昇幅を見せなければ残差リターンはプラスにはなりません。
一方、どの株も下落する日では、株価がほとんど動かないだけでも、相対的なリターンは大きくなります。
ということで、単純な株価の上下ではなく、市場全体における相対的なポジションを予測する必要があります。
手法
公開されているKernelに目を通した限り、用いられているモデルの種類は大きく分けると次の3つです。
- lightGBM
- xgboost
- LSTM
LSTMを使う場合は、Kerasを用いて、ネットワーク構造を記述し、株価の時系列データを入力して予測するというパターンが基本です。
xgboost・lightGBMを使う場合は、そのままでは時系列に対応していないので、移動平均などの処理をして求めた統計量を特徴量として使う必要があります。
Kernelを見ていても「MACD」や「RSI」などを追加して特徴量を追加していました。
であれば、特徴量をドンドン増やしてしまおう・・・・と思ってしまいますが、システムトレードの時と同様でオーバーフィッティングをしてしまいます。
学習データをなるべくたくさんモデルに入力させるべしという考えから離れ、柔軟に試行錯誤を繰り返すことにしました。 結果的には、この発想が大きく予測精度改善に貢献しました
というのがメダル圏内に入る決め手のようです。
Two Sigma Financial Modeling Challenge
コンペ概要
ファンダメンタルズ分析とテクニカル分析で利用する指標が予め匿名化されて用意されており、それらを駆使して未来の株価を予測する・・・・ように見えますが、取説ページにも詳細が書かれていません。
データセット形式は「HDF5(Hierarchical Data Format 5)」という、「フォルダ+データファイル」をひとまとめにしたファイルで提供されていました。
科学技術計算の分野で時系列データを記録する際に使われるフォーマットです。
提出物は、予測値と実際値の間のR値(決定係数は(重)相関係数Rの2乗同等)で評価されます。
手法
こちらでもRSIやMACDなどを計算している人たちがいます。
Moving Average (MACD) Analysis
Relative Strenght Index (RSI) Analysis
しかし、こちらの与えられているデータが書かれているKernelを見てみると、
1 2 3 |
df.columns cols = pd.Series(df.columns.map(lambda x: x[:8])).value_counts().values.tolist() print("Fundmental columns: {}, Techinical columns: {}, Derived columns: {}".format(*cols)) |
1 2 3 4 5 6 7 8 9 |
Index([u'id', u'timestamp', u'derived_0', u'derived_1', u'derived_2', u'derived_3', u'derived_4', u'fundamental_0', u'fundamental_1', u'fundamental_2', ... u'technical_36', u'technical_37', u'technical_38', u'technical_39', u'technical_40', u'technical_41', u'technical_42', u'technical_43', u'technical_44', u'y'], dtype='object', length=111) Fundmental columns: 63, Techinical columns: 40, Derived columns: 5 |
データ名はフェイクですが、63個のファンダメンタルズ分析指標、40個のテクニカル分析指標、派生データが5件が既に用意されています。
こちらも、公開されているKernelに目を通した限り、勾配ブースティングが多く利用されていました。
まとめ
データが残っていて参加可能な状態であれば、もっと色々と知ることができたと思います。
ファンダメンタルズ分析指標の63種類が一体なんなのか・・・・も気になります。
今後は、何の相関がもっとも株価の変動に影響があったのか、どのような手法が有効なのかをKernelなどを深く読んで学んでいきたいです。
ただ、ランダムウォークの株価予測・・・・・は、世界中の天才が試みて辿り着いていない問題なので、この先に夢の未来があるのか正直分かりません。