AIで株をやる!~株の売り買いを深層強化学習で予想

8ca514f93117daca13d14c7c87a02d46?s=47 GMO次世代
October 20, 2017

 AIで株をやる!~株の売り買いを深層強化学習で予想

8ca514f93117daca13d14c7c87a02d46?s=128

GMO次世代

October 20, 2017
Tweet

Transcript

  1. GMOインターネット株式会社 次世代システム研究室 AIで株をやる! ~株の売り買いを深層強化学習で予測~

  2. 1 ▪目次 ▪ 概要と本研究目的 ▪ 深層強化学習(Deep Q-Network) •Prioritised Experience Replay

    •Dueling Architecture ▪ 株式市場のマーケットインパクト ▪ 実践 ▪ まとめ
  3. 2 たくさんお金を増やしたいですか?

  4. 3 お金を増やす方法の一つは株式投資ですね~ [PR]安い手数料で スマホアプリも使いやすい 株が儲かれば、たくさんお金が増えていきます~

  5. 4 お金を増やす方法の一つは株式投資ですね しかし、 株価はこんな感じで上がったり、下がったり いつ買って売れば儲けられるか?

  6. 5 過去の株価 データ 株の売り買い 過去の株価情報を使って、 株の売り買いを予測できないか? データが複雑で予測が難しい

  7. 6 AI 最近、人工知能(AI)が進化してきて、 人が見出だせないことを 「データから見つける」能力が高くなっ てきました 答えの発見

  8. 7 深層強化学習によりAIは全ての行動を最適化。 その結果、ゲームで人間を打ち負かすように! その後も関連技術と共に大きく発展しています

  9. 8 ▪本研究の目的 最先端の深層強化学習によるAIで、 株式市場の情報を学習し、 株の売買で儲けられるかチャレンジ

  10. 9 深層強化学習 深層強化学習 (深層学習+強化学習)

  11. 10 深層強化学習 深層強化学習 (深層学習+強化学習)

  12. 11 Ref: https://www.cs.utexas.edu/~eladlieb/RLRG.html ▪強化学習とは、 状態 行動 報酬 報酬が良い行動に最適化するように試行錯誤する 機械学習アルゴリズム 環境

    Agent(=ねずみ)が迷路(=環境)での状態をもとに、報酬(=チ ーズ)が最も高くなるように、最適な行動するよう学習させるケース
  13. 12 Ref: https://www.cs.utexas.edu/~eladlieb/RLRG.html :環境のどこにいるか :左右どちらに進むか :チーズをもらえる、もらえない ▪強化学習 行動 報酬 状態

    :迷路 環境 Agent:ねずみ
  14. 13 ▪強化学習 環境情報(=迷路に関する情 報)が一通りあれば、環境モデ ルを作って、多くの報酬をもらえる ように行動を最適化できる :環境のどこにいるか :左右どちらに進むか :チーズをもらえる、もらえない 状態

    行動 報酬 Ref: https://www.cs.utexas.edu/~eladlieb/RLRG.html
  15. 14 ▪強化学習 今回は株なので、環境は迷路 ではなく株式市場。 1社の株価データ(状態)の 取得は簡単ですが、株式市場 全体のデータ(環境)の取得 が難しい 株をやりたい ?

    :環境のどこにいるか :左右どちらに進むか :チーズをもらえる、もらえない 状態 行動 報酬
  16. 15 強化学習の代表的なアルゴリズムの Q-learning を利用 目的:環境情報を必要とせず、最終的な報酬を最適化 ▪Q-learning どうやって? ?

  17. 16 ▪Q-learning Ludvig et al, Computational Neuroscience for Advancing Artificial

    Intelligence, 2011 各状態で 報酬 最終的に一番良い報酬 [Q値(Quality値)]となるような 最適な行動を学習します。 全ルートを試す必要あるか?
  18. 17 ▪Q-learningの学習ステップ ① ランダムに行動(学習) • 最終的な報酬を記録 株になると、複雑なネットワークになる +2 +3 +5

    ② 報酬が高いルートの近くを選んで行動 • 新たに得られた最終的な報酬を記録 ③ 最終的な報酬が良くなるよう、繰り返す
  19. 18 深層強化学習 深層強化学習 (深層学習+強化学習)

  20. 19 ▪深層学習(Deep Learning)とは 多層のニューラルネットワークによる機械学習 入 力 デ ー タ 出

    力 デ ー タ 入力層 隠れ層 出力層 層を重ねることで複雑処理が可能 脳神経のような 複雑なネットワークで 複雑なパターン認識。 解決手法を学習
  21. 20 ▪Deep Q-Network (DQN) 深層学習(Deep Learning)と 強化学習(Q-learning)を組み合わせた深層強化 学習の一つが、Deep Q-Network (DQN)

    株の売り買いにも使えそうですね~
  22. 21 DEMO 深層強化学習で株の売り買い

  23. 22 行動: 買い、売り、 何もしない 状態:株価 報酬:儲け 儲けられるか、やってみましょう! ?

  24. 23 ▪深層強化学習がちゃんと学習したか?

  25. 24 ▪深層強化学習がちゃんと学習したか? 学習回数 儲 け 儲けが増えませんでしたね~

  26. 25 この学習はうまく行かなかった~ 残念

  27. 26 この科学論文によると、Deep Q-Networkは Dueling ArchitectureとPrioritised Experience Replayという機能を組み合わせれば、 学習精度が上がる! どうしようか? なんとかしましょう!

    論文 発見! Wang et al, 2016: arXiv:1511.06581 [cs.LG]
  28. 30 優先順位を付けて 学習するので、 最終報酬がよくなると 期待できます。 C A B 優先順位 ▪Prioritised

    Experience Replay(優先順位付き経験再生) Schaul et al, 2016: arXiv:1511.05952 [cs.LG]
  29. 31 ▪Dueling Architecture(デュエリングアーキテクチャ) Wang et al, 2016: arXiv:1511.06581 [cs.LG] 学習アーキテクチャ(有意な行動Aを追加)を

    改良することで、学習精度がよくなると期待できます 従来 V Q V A 最新 Q
  30. 33 ▪深層強化学習のまとめ • 深層強化学習(Deep Q-Network: DQN) • 強化学習に深層学習を組み合わせることで複雑な 状態のデータに対応することが可能に •

    DQNに追加機能 • Prioritised Experience Replay • Dueling Architecture  計算時間が早くなる  学習精度がよくなる
  31. 34 行動: 買い、売り、 何もしない 状態:株価 報酬:儲け 儲けられるか、再度やってみた。 ▪深層強化学習と2つ機能追加でのテスト 前回より結果が良くなったが、うまく行かなかった~

  32. 35 また、 残念でしたね...!

  33. 36 株価は上がったり、下がったり、 よくわからない動きなので、 深層強化学習が株価を学習できない 代わりに、 株価に影響するもの、だったら?

  34. 37 株式市場 マーケットインパクト

  35. 38 ▪マーケットインパクトとは 会社の業績などから投資家が一斉に買ったり売ったり すると株価に影響が出ること 株 買いたい 売りたい 買いたい 売りたい 株価上昇

    株価下落
  36. 39 ▪マーケットインパクトから株価の変動を予測 λ = ∆株価 出来高 出 来 高 株価の

    変化 マーケット インパクト 実際に売買された 取引量=出来高 マーケットインパクト発生時、この出来高を見るこ とで、ある程度の株価変動を予測できる可能性 がある。
  37. 42 実践 それでは出来高と株価の変化を学習して、 深層強化学習で売り買いしてみましょう!

  38. 43 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習

    終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け)
  39. 44 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習

    終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け)
  40. 45 ▪データ:Yahoo ファイナンス 出来高と株価をDQNで検討するため、 いろいろな大型株を検索し、 変動が多い株を選択~

  41. 46 ▪データ:Yahoo ファイナンス ▪ 7201-日産自動車(大型株) •2016年のデータ(1/1~12/31) •株価(始値、終値)と出来高をダウンロード

  42. 47 ▪データ:Yahoo ファイナンス ▪ 7201-日産自動車(大型株) データ一年分の70%は 学習データ データの一年分30%は 評価データ •2016-01-01から、2016-12-31までを選び

    •株価(始値、終値)と出来高をダウンロード データを期間によって、学習用と評価用の 2グループに分けて使いました
  43. 49 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習

    終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け) データ準備 完了
  44. 50 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習

    終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け)
  45. 51 ▪深層強化学習の行動(株の売り買い) 今回は一日ごとに評価したいので、 一日で儲けが確定する方法(デイト レード)で深層強化学習を実施

  46. 52 ▪一日で儲けを確定(デイトレード) 始値で買い終値で売る。終値 – 始値 = 儲け。 日をまたがず儲けを確定させる 一日の 値動き

    高値 終値 始値 安値 高値 始値 終値 安値 上がる (儲かる) 下がる (損する) ローソク足一本=一日
  47. 53 ▪デイトレードにおける状態・行動・報酬 行動: 買う、買わない 状態: 出来高、買い出来高、売り出来高、始値差 報酬:儲け (終値 – 始値)

    • 買った日に必ず売って儲けを確定させる前提としているので、 売り行動をなくして学習をシンプルに
  48. 54  マシンスペック  GPU : NVIDIA GeForce GTX 1070

     言語環境  Python 3.5  ツール  深層強化学習 OpenAI Gym  Prioritised Experience Replay OpenAI Baselines  Dueling Architecture TensorFlow ▪検証環境
  49. 55 実行

  50. 56 まず、精度を確認 最初から、言ったような、深層強化学習は ランダム処理が入っているため、ちゃんと 同じ答えが再現できるとは限らないです。 なので、 計算を100回繰り返します~

  51. 57 ▪DQN Performance確認→100回繰り返し 儲け(%) 確 率 ランダムトレード 深層強化学習 2.73±3.60 -21.47±99.64

    Duel = Dueling Architecture、Pri = Prioritised Experience Replay random = ランダムトレード (同じ期間で10-50回売買)
  52. 58 株の売り買い結果を 細かくみてみしょう!

  53. 59 ▪日産自動車2016年の株価 日付 株 価 学習データ 一年分の70%

  54. 60 学習回数が増えると 報酬が増えている 学習回数 報 酬 うまく学習できている! ▪深層強化学習がちゃんと学習したか?

  55. 61 ▪日産自動車2016年の株価 日付 株 価 学習できた 評価

  56. 62 評価データ 日付 株 価 始値で買い、終値で売り 買うと儲け 買うと損 深層強化学習はどう行動する?

  57. 63 収益:3.41% 100万を投資すると、3万で利益。 銀行の利益よりよい~ ちゃんと株価が上がる日を選択してくれた 日付 株 価 買って儲けた 買って損した

    買わなかった
  58. 64 ちょっと、待って、 わざと株が上がりしやすい時期を 選んで評価したのでは?

  59. 65 時期をずらしてみる

  60. 67 1Q分ずらす 2016年データを 2016-04-01~2017-03-30に 学習 評価 日付 株 価

  61. 68 赤ローソクが多く、株の景気がよくないね 日付 株 価 深層強化学習はどう行動する? 買うと儲け 買うと損

  62. 69 日付 株 価 収益:0.75% 間違い(損)があるが、ちゃんと収益をとった 買って儲けた 買って損した 買わなかった

  63. 70 さらに時期をずらして学習 を評価してみましょう!

  64. 71 2016年データを 2016-07-01~2017-06-30に 2Q分ずらす 学習 評価 日付 株 価

  65. 72 株の変動がよくわからないね~ 日付 株 価 買うと儲け 買うと損 深層強化学習はどう行動する?

  66. 73 収益:1.98% 日付 株 価 また、ちゃんと収益をとったね~ 買って儲けた 買って損した 買わなかった

  67. 74 出来高と株価の変化(マーケットインパクト情 報)をもとにある程度、大型株を学習できて、 株の売り買いすべきタイミングも予測し、 なかなかよかった!

  68. 75 ちなみに、 GMOインターネット株は?

  69. 76 DEMO GMOインターネットの株

  70. 77 株価データをダウンロード

  71. 78 学習 評価 日付 株 価  データを期間によって、2グループに分け 一年分の 70%

    一年分の 30%
  72. 79 株価と出来高を 深層強化学習のプログラム に入力し、学習開始

  73. 80 学習が終わりました

  74. 82 収益:8.87% 間違いはまだありますが、 ちゃんと収益を取れましたね! GMOインターネット売り買いの評価 日付 株 価 買って儲けた 買って損した

    買わなかった
  75. 83 ▪まとめ マーケットインパクト • 出来高 • 株価の変化 深層強化学習(Deep Q-Network) •

    Prioritised Experience Replay • Dueling Architecture 株の売り買いを深層強化学習で予測 わかったこと • 深層強化学習と株価を入力データにして売り買いの予測は難しい • 株価と出来高は因果関係があった • デイトレードで出来高と株価の変化の組み合わせで、株の売り買い の予測は可能に まだ、できなかったこと • 予測の精度と再現性を改良する必要
  76. 84 ご清聴ありがとうございました!