Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deep Learningによる株価変動の予想

7,194 views

Published on

社内向けセミナーの内容です。株価変動の予想を、従来の手法 (GARCH) と、新しい手法 (Deep Learning; LSTM) を用いて行い、その比較した結果を発表しました。

Published in: Data & Analytics
  • Be the first to comment

Deep Learningによる株価変動の予想

  1. 1. GMOインターネット 次世代システム研究室 勝田 隼一郎 Deep Learningによる 株価変動の予想
  2. 2. 2 http://recruit.gmo.jp/engineer/jisedai/blog/deep-learning/ このスライド内容を、簡略にまとめたブログが以下 にあります。参考にしてください。
  3. 3. 3 自己紹介 2006: ボートを漕ぎすぎて留年 2011: 東京大学大学院理学系 研究科物理学 修了(博士) 2011-16: Stanford大学と広島大学で ポスドク(日本学術振興会; 高エネルギー宇宙物理学) 2016.4: GMOインターネット 次世代システム研究室 データサイエンティスト兼アーキテクト 超新星残骸 勝田 隼一郎
  4. 4. 4 本研究の目的 金融商品の予測を行うことは非常に重要な課題 新しい手法の台頭! Deep Learning GARCH 従来の手法 vs 時系列解析
  5. 5. 5 Outline 株価データの時系列解析 GARCHを使って株価予想 GARCHって? Rを使ってやってみた Deep Learning (LSTM) を使って株価予想 なんでLSTMで予想できるの? Kerasを使ってやってみた まとめ
  6. 6. 6 Data
  7. 7. 7 S&P 500 NASDAQに上場している銘柄から代表的な 500銘柄の株価を浮動株調整後の時価総額比率 で加重平均し、指数化したもの アメリカの代表的な 会社の株価の指標 要するに 時間軸
  8. 8. 8 Volatility (Daily) = 1日の取引中での、値動きの大きさの指標 ~ 1日の変動 (≠ Historical volatility) 株価を直接予想したいが。。
  9. 9. 9 Volatility of S&P500 Volatility S&P500の 実データ 時間軸 終値 高値 安値
  10. 10. 10 時系列解析 過去に学び(学習し)、未来を予測しよう 曇り空 (→ これまで、こんな空模様の時は雨が 降ってきたなぁ。) → 午後に雨が振りそうだ! → 傘を持って行こう
  11. 11. 11 過去とのつながり S&P500 Volatility 時系列解析できそう!
  12. 12. 12 GARCH
  13. 13. 13 GARCH Generlized AutoreRegressive Conditional Heteroscedasticity model ロバート・エングル(2003年ノーベル経済 学賞受賞)が提唱したモデルの拡張版 Volatilityが時間 によって異なる値を とることをモデル化
  14. 14. 14 GARCH 宇宙は数学という言葉 ガリレオ・ガリレイ で書かれている。
  15. 15. 15 GARCH(1, 1) 予測したい Volatility 前日の Volatility 前日の誤差 学習で決める値 = 学習する場所 ~ 脳 @ひと 観測データ = 過去のデータ ~ 外部の刺激 フリーパラメーター
  16. 16. 16 Demo
  17. 17. 17 結果(1) ω = 2.65 x 1e-5 α = 0.263 β = 0.682
  18. 18. 18 結果(2) 実データ GARCH MAPE (Mean Absolute Percentage Error) = 33.0% (あまり合っていない) 式から予想される通り、直前のデータに引っ張 られる傾向が見える。
  19. 19. 19 パラメータを増やしてみる 実データ GARCH MAPE = 34.3% GARCH (2, 2) t-2まで考慮 ほぼ変化なし むしろ若干悪化 2 22 2
  20. 20. 20 ARMA MAPE = 30.1% 改善は見られた。 Volatilityデータを直接使用
  21. 21. 21 MAPE = 33.0% 悪くはない。が、volatilityの急激な上下に (原理的に)ついていけていない。 GARCH ARMA 30.1% 従来の手法のまとめ
  22. 22. 22 Deep Learning
  23. 23. input data output data モデル f(x) 23 Deep Learning Deep! 複雑な表現 層が が可能 input output
  24. 24. 24 RNN (Recurrent Neural Network) Deep Learningの一種 横にDeep! 過去の出力を入力 → 過去を記憶 時系列データに最適(ただし問題点が) 過去データ xt yt yt-1 xt yty1 y2 x1 x2 横に展開
  25. 25. 25 LSTM (Long Short Term Memory) 今回の解析で使用 LSTM block RNN LSTM input output xt yt yt-1 yt-1
  26. 26. 26 LSTM vs GARCH 良い点 Deepなnetworkで複雑な表現も可能に インプットに複数のデータを簡単に入 れられる 我々が気づかなかった関係性をキャッ チできるかも!
  27. 27. 27 LSTM vs GARCH 悪い点 時間がかかる → 耐えられるレベル 一度、学習すれば速い 結果を理解しづらい 理解する努力が必要 (本研究の目的のひとつ)
  28. 28. 28 Keras 直感的に使える Tensorflow, Theanoをバックエンドで使用 Python コード量が少ない → 初心者に優しい → 海外で人気
  29. 29. 29 Demo
  30. 30. 30 結果 MAPE = 29.3% GARCHより良い。振る舞いは似ている?
  31. 31. 31 Model構造を変えてみる LSTM IN OUT LSTM IN OUT LSTM MAPE = 29.4% MAPE = 29.3%
  32. 32. 32 LSTM IN OUT MAPE = 27.0% LSTM IN OUT MAPE = 29.3% linear func
  33. 33. 33 Loss function MAPE MSE MAPE = 29.3% MAPE = 44.3%
  34. 34. 34 学習回数 学べば学ぶほど 良い! 、、わけではない。 25.0%
  35. 35. 35 過学習 過学習 モデルが学習データに適合しすぎて、ノイズまで 再現するように学習するため、学習データ以外の データ(予想したいデータ)の予測精度が悪化 → 適切なパラメータ数、学習回数にするこ とが大切
  36. 36. 36 入力データを増やす 自身のデータ以外に株価に影響を与えそ うな情報も使えば、より良い予想ができ るはず! → LSTMなら簡単に試せる。 今回は、Google Domestic Trends (米国内のトピックごとの検索量 ~ 注目度) を採用
  37. 37. 37 Topic: computer, credit card, invest, bankruptcy MAPE = 23.7% 改善した!
  38. 38. 38 Summary
  39. 39. 39 結果の比較 LSTMの勝ち! しかも伸びしろはまだある GARCH ARMA LSTM (Default) LSTM (modified) LSTM (add. info) 33.0% 30.1% 29.3% 25.0% 23.7% → 有望! (モデル修正、パラメータ調整、新しいデータ) モデルごとのMAPE
  40. 40. 40 参考文献 勝った!
  41. 41. 41 今後の方向性 DL(LSTM)は非常に有望。さらに深めたい Busrt(突発的な上下動)を予想したい Keyとなるパラメータ Model構造 入力期間の長さ (予想に使えそうな)外部データの入力 他の金融商品も予想してみたい
  42. 42. 42 ご清聴ありがとうございました!

×