Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
AIで株をやる!~株の売り買いを深層強化学習で予想
GMO次世代
October 20, 2017
Technology
3
11k
AIで株をやる!~株の売り買いを深層強化学習で予想
GMO次世代
October 20, 2017
Tweet
Share
More Decks by GMO次世代
See All by GMO次世代
ソース公開を通じて分かった非中央集権型アプリケーション(DApp)とは
jisedai
0
2.9k
AppleのARkitとGoogleの最新のARプラットフォーム ARCore 可能性と応用
jisedai
2
850
IoT領域でのブロックチェーン実践
jisedai
1
1.3k
モバイルAR技術の最先端 Google Tangoを活用してバーチャル道案内スタッフを実現してみた
jisedai
1
870
深層学習は金融市場をシミュレーションすることができるか?
jisedai
1
4.3k
Unity3DとOculus Riftで VR空間にWebコンテンツを表現する
jisedai
0
960
ブロックチェーンを利用したサービス開発について
jisedai
1
890
Deep Learningによる株価変動の予想
jisedai
0
1.2k
Other Decks in Technology
See All in Technology
データエンジニアリングの潮流を俯瞰する
tetsuroito
1
700
JJUG2022_spring_Keycloak (Red Hat Single Sign-on)
tinoue
0
190
インタラクティブなメディアの地図投影法: WebメルカトルからAdaptive Projectionsへ / MIERUNE 社内勉強会 #033
sorami
2
210
MRTK3 - DataBinding and Theming 入門
futo23
0
130
スクラムのスケールとチームトポロジー / Scaled Scrum and Team Topologies
daiksy
1
380
Well-organized Transaction Script - リファクタリングの妥協的手法 -
qsona
4
380
1人目SETとして入社して2ヶ月の間におこなったこと
tarappo
3
390
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
onohiroshi1
0
150
覗いてみよう!現場のスクラムチーム
tkredman
0
930
越境チャレンジの現在地 〜Epic大臣制度の今〜
yousak
0
700
Custom GitHub Actions by Java
kazamori
0
250
Compose の LazyColumn パフォーマンス改善で取り組んだこと
tomoya0x00
0
210
Featured
See All Featured
Embracing the Ebb and Flow
colly
73
3.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
For a Future-Friendly Web
brad_frost
166
7.4k
Thoughts on Productivity
jonyablonski
43
2.3k
Keith and Marios Guide to Fast Websites
keithpitt
404
21k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
104
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Six Lessons from altMBA
skipperchong
14
1.4k
How to Ace a Technical Interview
jacobian
265
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Done Done
chrislema
174
14k
Transcript
GMOインターネット株式会社 次世代システム研究室 AIで株をやる! ~株の売り買いを深層強化学習で予測~
1 ▪目次 ▪ 概要と本研究目的 ▪ 深層強化学習(Deep Q-Network) •Prioritised Experience Replay
•Dueling Architecture ▪ 株式市場のマーケットインパクト ▪ 実践 ▪ まとめ
2 たくさんお金を増やしたいですか?
3 お金を増やす方法の一つは株式投資ですね~ [PR]安い手数料で スマホアプリも使いやすい 株が儲かれば、たくさんお金が増えていきます~
4 お金を増やす方法の一つは株式投資ですね しかし、 株価はこんな感じで上がったり、下がったり いつ買って売れば儲けられるか?
5 過去の株価 データ 株の売り買い 過去の株価情報を使って、 株の売り買いを予測できないか? データが複雑で予測が難しい
6 AI 最近、人工知能(AI)が進化してきて、 人が見出だせないことを 「データから見つける」能力が高くなっ てきました 答えの発見
7 深層強化学習によりAIは全ての行動を最適化。 その結果、ゲームで人間を打ち負かすように! その後も関連技術と共に大きく発展しています
8 ▪本研究の目的 最先端の深層強化学習によるAIで、 株式市場の情報を学習し、 株の売買で儲けられるかチャレンジ
9 深層強化学習 深層強化学習 (深層学習+強化学習)
10 深層強化学習 深層強化学習 (深層学習+強化学習)
11 Ref: https://www.cs.utexas.edu/~eladlieb/RLRG.html ▪強化学習とは、 状態 行動 報酬 報酬が良い行動に最適化するように試行錯誤する 機械学習アルゴリズム 環境
Agent(=ねずみ)が迷路(=環境)での状態をもとに、報酬(=チ ーズ)が最も高くなるように、最適な行動するよう学習させるケース
12 Ref: https://www.cs.utexas.edu/~eladlieb/RLRG.html :環境のどこにいるか :左右どちらに進むか :チーズをもらえる、もらえない ▪強化学習 行動 報酬 状態
:迷路 環境 Agent:ねずみ
13 ▪強化学習 環境情報(=迷路に関する情 報)が一通りあれば、環境モデ ルを作って、多くの報酬をもらえる ように行動を最適化できる :環境のどこにいるか :左右どちらに進むか :チーズをもらえる、もらえない 状態
行動 報酬 Ref: https://www.cs.utexas.edu/~eladlieb/RLRG.html
14 ▪強化学習 今回は株なので、環境は迷路 ではなく株式市場。 1社の株価データ(状態)の 取得は簡単ですが、株式市場 全体のデータ(環境)の取得 が難しい 株をやりたい ?
:環境のどこにいるか :左右どちらに進むか :チーズをもらえる、もらえない 状態 行動 報酬
15 強化学習の代表的なアルゴリズムの Q-learning を利用 目的:環境情報を必要とせず、最終的な報酬を最適化 ▪Q-learning どうやって? ?
16 ▪Q-learning Ludvig et al, Computational Neuroscience for Advancing Artificial
Intelligence, 2011 各状態で 報酬 最終的に一番良い報酬 [Q値(Quality値)]となるような 最適な行動を学習します。 全ルートを試す必要あるか?
17 ▪Q-learningの学習ステップ ① ランダムに行動(学習) • 最終的な報酬を記録 株になると、複雑なネットワークになる +2 +3 +5
② 報酬が高いルートの近くを選んで行動 • 新たに得られた最終的な報酬を記録 ③ 最終的な報酬が良くなるよう、繰り返す
18 深層強化学習 深層強化学習 (深層学習+強化学習)
19 ▪深層学習(Deep Learning)とは 多層のニューラルネットワークによる機械学習 入 力 デ ー タ 出
力 デ ー タ 入力層 隠れ層 出力層 層を重ねることで複雑処理が可能 脳神経のような 複雑なネットワークで 複雑なパターン認識。 解決手法を学習
20 ▪Deep Q-Network (DQN) 深層学習(Deep Learning)と 強化学習(Q-learning)を組み合わせた深層強化 学習の一つが、Deep Q-Network (DQN)
株の売り買いにも使えそうですね~
21 DEMO 深層強化学習で株の売り買い
22 行動: 買い、売り、 何もしない 状態:株価 報酬:儲け 儲けられるか、やってみましょう! ?
23 ▪深層強化学習がちゃんと学習したか?
24 ▪深層強化学習がちゃんと学習したか? 学習回数 儲 け 儲けが増えませんでしたね~
25 この学習はうまく行かなかった~ 残念
26 この科学論文によると、Deep Q-Networkは Dueling ArchitectureとPrioritised Experience Replayという機能を組み合わせれば、 学習精度が上がる! どうしようか? なんとかしましょう!
論文 発見! Wang et al, 2016: arXiv:1511.06581 [cs.LG]
30 優先順位を付けて 学習するので、 最終報酬がよくなると 期待できます。 C A B 優先順位 ▪Prioritised
Experience Replay(優先順位付き経験再生) Schaul et al, 2016: arXiv:1511.05952 [cs.LG]
31 ▪Dueling Architecture(デュエリングアーキテクチャ) Wang et al, 2016: arXiv:1511.06581 [cs.LG] 学習アーキテクチャ(有意な行動Aを追加)を
改良することで、学習精度がよくなると期待できます 従来 V Q V A 最新 Q
33 ▪深層強化学習のまとめ • 深層強化学習(Deep Q-Network: DQN) • 強化学習に深層学習を組み合わせることで複雑な 状態のデータに対応することが可能に •
DQNに追加機能 • Prioritised Experience Replay • Dueling Architecture 計算時間が早くなる 学習精度がよくなる
34 行動: 買い、売り、 何もしない 状態:株価 報酬:儲け 儲けられるか、再度やってみた。 ▪深層強化学習と2つ機能追加でのテスト 前回より結果が良くなったが、うまく行かなかった~
35 また、 残念でしたね...!
36 株価は上がったり、下がったり、 よくわからない動きなので、 深層強化学習が株価を学習できない 代わりに、 株価に影響するもの、だったら?
37 株式市場 マーケットインパクト
38 ▪マーケットインパクトとは 会社の業績などから投資家が一斉に買ったり売ったり すると株価に影響が出ること 株 買いたい 売りたい 買いたい 売りたい 株価上昇
株価下落
39 ▪マーケットインパクトから株価の変動を予測 λ = ∆株価 出来高 出 来 高 株価の
変化 マーケット インパクト 実際に売買された 取引量=出来高 マーケットインパクト発生時、この出来高を見るこ とで、ある程度の株価変動を予測できる可能性 がある。
42 実践 それでは出来高と株価の変化を学習して、 深層強化学習で売り買いしてみましょう!
43 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習
終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け)
44 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習
終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け)
45 ▪データ:Yahoo ファイナンス 出来高と株価をDQNで検討するため、 いろいろな大型株を検索し、 変動が多い株を選択~
46 ▪データ:Yahoo ファイナンス ▪ 7201-日産自動車(大型株) •2016年のデータ(1/1~12/31) •株価(始値、終値)と出来高をダウンロード
47 ▪データ:Yahoo ファイナンス ▪ 7201-日産自動車(大型株) データ一年分の70%は 学習データ データの一年分30%は 評価データ •2016-01-01から、2016-12-31までを選び
•株価(始値、終値)と出来高をダウンロード データを期間によって、学習用と評価用の 2グループに分けて使いました
49 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習
終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け) データ準備 完了
50 ▪深層強化学習の流れ 出来高 買い 出来高 売り 出来高 始値差 深層強化学習(DQN) 学習
終了 評価 繰り返し学習 不 十 分 十分 行動 状態 報酬 最終報酬 (儲け)
51 ▪深層強化学習の行動(株の売り買い) 今回は一日ごとに評価したいので、 一日で儲けが確定する方法(デイト レード)で深層強化学習を実施
52 ▪一日で儲けを確定(デイトレード) 始値で買い終値で売る。終値 – 始値 = 儲け。 日をまたがず儲けを確定させる 一日の 値動き
高値 終値 始値 安値 高値 始値 終値 安値 上がる (儲かる) 下がる (損する) ローソク足一本=一日
53 ▪デイトレードにおける状態・行動・報酬 行動: 買う、買わない 状態: 出来高、買い出来高、売り出来高、始値差 報酬:儲け (終値 – 始値)
• 買った日に必ず売って儲けを確定させる前提としているので、 売り行動をなくして学習をシンプルに
54 マシンスペック GPU : NVIDIA GeForce GTX 1070
言語環境 Python 3.5 ツール 深層強化学習 OpenAI Gym Prioritised Experience Replay OpenAI Baselines Dueling Architecture TensorFlow ▪検証環境
55 実行
56 まず、精度を確認 最初から、言ったような、深層強化学習は ランダム処理が入っているため、ちゃんと 同じ答えが再現できるとは限らないです。 なので、 計算を100回繰り返します~
57 ▪DQN Performance確認→100回繰り返し 儲け(%) 確 率 ランダムトレード 深層強化学習 2.73±3.60 -21.47±99.64
Duel = Dueling Architecture、Pri = Prioritised Experience Replay random = ランダムトレード (同じ期間で10-50回売買)
58 株の売り買い結果を 細かくみてみしょう!
59 ▪日産自動車2016年の株価 日付 株 価 学習データ 一年分の70%
60 学習回数が増えると 報酬が増えている 学習回数 報 酬 うまく学習できている! ▪深層強化学習がちゃんと学習したか?
61 ▪日産自動車2016年の株価 日付 株 価 学習できた 評価
62 評価データ 日付 株 価 始値で買い、終値で売り 買うと儲け 買うと損 深層強化学習はどう行動する?
63 収益:3.41% 100万を投資すると、3万で利益。 銀行の利益よりよい~ ちゃんと株価が上がる日を選択してくれた 日付 株 価 買って儲けた 買って損した
買わなかった
64 ちょっと、待って、 わざと株が上がりしやすい時期を 選んで評価したのでは?
65 時期をずらしてみる
67 1Q分ずらす 2016年データを 2016-04-01~2017-03-30に 学習 評価 日付 株 価
68 赤ローソクが多く、株の景気がよくないね 日付 株 価 深層強化学習はどう行動する? 買うと儲け 買うと損
69 日付 株 価 収益:0.75% 間違い(損)があるが、ちゃんと収益をとった 買って儲けた 買って損した 買わなかった
70 さらに時期をずらして学習 を評価してみましょう!
71 2016年データを 2016-07-01~2017-06-30に 2Q分ずらす 学習 評価 日付 株 価
72 株の変動がよくわからないね~ 日付 株 価 買うと儲け 買うと損 深層強化学習はどう行動する?
73 収益:1.98% 日付 株 価 また、ちゃんと収益をとったね~ 買って儲けた 買って損した 買わなかった
74 出来高と株価の変化(マーケットインパクト情 報)をもとにある程度、大型株を学習できて、 株の売り買いすべきタイミングも予測し、 なかなかよかった!
75 ちなみに、 GMOインターネット株は?
76 DEMO GMOインターネットの株
77 株価データをダウンロード
78 学習 評価 日付 株 価 データを期間によって、2グループに分け 一年分の 70%
一年分の 30%
79 株価と出来高を 深層強化学習のプログラム に入力し、学習開始
80 学習が終わりました
82 収益:8.87% 間違いはまだありますが、 ちゃんと収益を取れましたね! GMOインターネット売り買いの評価 日付 株 価 買って儲けた 買って損した
買わなかった
83 ▪まとめ マーケットインパクト • 出来高 • 株価の変化 深層強化学習(Deep Q-Network) •
Prioritised Experience Replay • Dueling Architecture 株の売り買いを深層強化学習で予測 わかったこと • 深層強化学習と株価を入力データにして売り買いの予測は難しい • 株価と出来高は因果関係があった • デイトレードで出来高と株価の変化の組み合わせで、株の売り買い の予測は可能に まだ、できなかったこと • 予測の精度と再現性を改良する必要
84 ご清聴ありがとうございました!