Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
仮想通貨自動売買BOTを 強化学習(ChainerRL) で作ってる話
Search
regonn
August 31, 2019
Technology
3
4.1k
仮想通貨自動売買BOTを 強化学習(ChainerRL) で作ってる話
@regonn_haizine Chainer Meetup #10 2019/08/31
regonn
August 31, 2019
Tweet
Share
More Decks by regonn
See All by regonn
Submission with Numerai Compute using GCP Batch
regonn
0
590
HelloMoon x Orca=HelloOrca
regonn
0
140
The Challenge of Automatically Configuring Numerai Compute Environment
regonn
0
97
Federated Learning 連合学習
regonn
4
1.7k
PLATEAUをデータベースに取り込んでみた
regonn
0
1.8k
古参Numerai参加者の戯言
regonn
1
2.5k
Nim + Cloud Run + TerraformでGCPにNimのサーバーレス環境を作る
regonn
1
660
S+ Camera Basicと似た環境をラズパイから構築してみる
regonn
0
530
衛星画像のゴルフ場写り込み判定AIモデルを作る
regonn
0
800
Other Decks in Technology
See All in Technology
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
11
1.8k
【AWS reInvent 2025 関西組 事前勉強会】re:Inventの“感動と興奮”を思い出してモチベ爆上げしたいです
ttelltte
0
140
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.4k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
520
QAエンジニアがプロダクト専任で チームの中に入ると。。。?/登壇資料(杉森 太樹)
hacobu
PRO
0
190
メタプログラミングRuby問題集の活用
willnet
2
780
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
470
AIでテストプロセスを自動化しよう251113.pdf
sakatakazunori
0
110
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
450
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
11
1.6k
[mercari GEARS 2025] Keynote
mercari
PRO
0
170
Flutterコントリビューションのススメ
d_r_1009
1
350
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
4 Signs Your Business is Dying
shpigford
186
22k
Building Applications with DynamoDB
mza
96
6.7k
Site-Speed That Sticks
csswizardry
13
960
Into the Great Unknown - MozCon
thekraken
40
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
Done Done
chrislema
186
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Practical Orchestrator
shlominoach
190
11k
Transcript
仮想通貨自動売買BOT を 仮想通貨自動売買BOT を 強化学習(ChainerRL) 強化学習(ChainerRL) で作ってる話 で作ってる話 @regonn_haizine Chainer
Meetup #10 2019/08/31
自己紹介 自己紹介 Twitter: @regonn_haizine Twitter: @regonn_haizine 島根県松江市でフリーランス 島根県松江市でフリーランス 前回のChainerMeetup に続いて2
回目の 前回のChainerMeetup に続いて2 回目の LT LT 機械学習系のPodcast やYouTube 機械学習系のPodcast やYouTube regonn&curry.fm regonn&curry.fm 田中TOM 田中TOM 趣味 趣味 俳句、茶道、VTuber 俳句、茶道、VTuber
None
なぜ自動売買BOT を 作ろうと思った? 以前から自動売買には興味があった 以前から自動売買には興味があった MetaTrader MetaTrader jiji2 jiji2 freqtrade
freqtrade
今までの自動売買 今までの自動売買 買いシグナルと売りシグナル( ロジック) 買いシグナルと売りシグナル( ロジック) 強化学習の自動売買記事もあったけど、数 強化学習の自動売買記事もあったけど、数 値データでの学習がメイン 値データでの学習がメイン
ChainerMeetup#9 ChainerMeetup#9 Chainer での値動き予測モデルの話を聞く Chainer での値動き予測モデルの話を聞く LT でVAE を利用してチャートから解析する話 LT
でVAE を利用してチャートから解析する話 を聞いた を聞いた
チャートを読み取って チャートを読み取って 売買するBOT を作る 売買するBOT を作る シグナル系の売買と違って、自動的に最大 シグナル系の売買と違って、自動的に最大 の利益を目指して売買をしてくれる? の利益を目指して売買をしてくれる?
chainerrl-visualizer とかが利用できれ chainerrl-visualizer とかが利用できれ ば、チャートのどこが重要な部分なのかも ば、チャートのどこが重要な部分なのかも 解析できそう 解析できそう
仮想通貨売買 仮想通貨売買 日本株は売買用のAPI が用意されていなか 日本株は売買用のAPI が用意されていなか ったり、銘柄も多く業界によっても値動き ったり、銘柄も多く業界によっても値動き が違ったりするため、機械学習系の自動売 が違ったりするため、機械学習系の自動売
買は不向きと判断 買は不向きと判断 FX よりも仮想通貨の方が取引・データ取得 FX よりも仮想通貨の方が取引・データ取得 ができるAPI やライブラリが揃っていた ができるAPI やライブラリが揃っていた 追証無しで買い・売りポジションのレバレ 追証無しで買い・売りポジションのレバレ ッジ取引ができる取引所等もあるため、も ッジ取引ができる取引所等もあるため、も しもの時も安心? しもの時も安心?
実装の話 実装の話 なるべく、OpenAI Gym の なるべく、OpenAI Gym の Atari の環境に合わせた
Atari の環境に合わせた
Observation の画像 Observation の画像 ゲームPacman のカラーマップを参考にして ゲームPacman のカラーマップを参考にして 値動き( ロウソク)
チャートを出すように 値動き( ロウソク) チャートを出すように
直近の4 枚分のチャート 直近の4 枚分のチャート 画像からAction を決める 画像からAction を決める Action
Action は今回4 種類 Action は今回4 種類 買う(Buy) 買う(Buy) 売る(Sell) 売る(Sell)
待つ(Wait) 待つ(Wait) 決済(Close) 決済(Close) 投資の格言 投資の格言 「待つも相場なり」 「待つも相場なり」
報酬について 報酬について ポジション取得後、利益がでる ポジション取得後、利益がでる 目標ラインを追加( ピンクの線) 目標ラインを追加( ピンクの線) ラインを超えて決済r=1 ラインを超えて決済r=1
ラインを超えず決済r=-1 ラインを超えず決済r=-1 ロスカット強制決済r=-2 ロスカット強制決済r=-2 取引0 を防ぐために45 分の間に 取引0 を防ぐために45 分の間に 1 取引終えなければ r=-1 1 取引終えなければ r=-1
Agent はRainbow Agent はRainbow ChainerRL でExample にコードはあるので、そ ChainerRL でExample にコードはあるので、そ
れを参考にする。 れを参考にする。 https:/ /github.com/chainer/chainerrl/tree/ https:/ /github.com/chainer/chainerrl/tree/ master/examples/atari/reproduction/rainb master/examples/atari/reproduction/rainb ow ow
chainerrl-visualizer chainerrl-visualizer でも動いた(※)
結果 結果 evaluation は500 分間自由に取引( ロスカットあり、 45 分の制限は解除) して、どれだけr を大きくできるか
所感と今後 所感と今後 自分で強化学習の環境をつくる場合( 特に画像) 自分で強化学習の環境をつくる場合( 特に画像) はOpenAI Gym の仕様に合わせたほうが はOpenAI
Gym の仕様に合わせたほうが Chainerrl 等でも扱いやすい Chainerrl 等でも扱いやすい 画像サイズとかフレーム枚数とかでハマった 画像サイズとかフレーム枚数とかでハマった train_agent_with_evaluation とかも使え train_agent_with_evaluation とかも使え チャート指標ボリンジャーバンドとかを入れる チャート指標ボリンジャーバンドとかを入れる と精度を上げられるか試す と精度を上げられるか試す 報酬がどれだけ利益が出ても1 なので、罰の方 報酬がどれだけ利益が出ても1 なので、罰の方 も含めて工夫したい も含めて工夫したい
現状のコード 現状のコード Github で公開しています。 Github で公開しています。 ドキュメント等無くオレオレコードですが、 ドキュメント等無くオレオレコードですが、 python make-db.py
python make-db.py python trade.py python trade.py を実行すれば動いてくれるはず を実行すれば動いてくれるはず https:/ /github.com/regonn/chainerrl- https:/ /github.com/regonn/chainerrl- cryptocurrency-trader cryptocurrency-trader