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
580
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
650
S+ Camera Basicと似た環境をラズパイから構築してみる
regonn
0
520
衛星画像のゴルフ場写り込み判定AIモデルを作る
regonn
0
790
Other Decks in Technology
See All in Technology
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.4k
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
130
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
140
2025-10-09_プロジェクトマネージャーAIチャンス
taukami
0
140
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
390
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
190
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
140
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
フレームワークを意識させないワークショップづくり
keigosuda
0
160
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
190
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Rails Girls Zürich Keynote
gr2m
95
14k
KATA
mclloyd
32
15k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Why Our Code Smells
bkeepers
PRO
340
57k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
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