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
9.9k
AIで株をやる!~株の売り買いを深層強化学習で予想
GMO次世代
October 20, 2017
Tweet
Share
More Decks by GMO次世代
See All by GMO次世代
jisedai
0
1.3k
jisedai
2
670
jisedai
1
1.1k
jisedai
1
720
jisedai
1
3.1k
jisedai
0
770
jisedai
1
720
jisedai
0
870
Other Decks in Technology
See All in Technology
mii3king
0
410
yosuke_matsuura
PRO
0
170
torisoup
11
5.2k
oliva
7
1k
pohjus
0
3.3k
buildersbox
0
110
ocise
1
1.8k
fufuhu
3
130
zak3
1
170
nakashin1
1
1.1k
hayatan
0
170
ayanadesu
0
310
Featured
See All Featured
edds
56
9.4k
wjessup
339
16k
jonrohan
1022
380k
myddelton
109
11k
jakevdp
774
200k
bkeepers
408
58k
lara
172
9.6k
jcasabona
8
550
sstephenson
145
12k
tenderlove
53
3.5k
orderedlist
PRO
328
36k
frogandcode
128
20k
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 ご清聴ありがとうございました!