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
2
4k
仮想通貨自動売買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
480
HelloMoon x Orca=HelloOrca
regonn
0
110
The Challenge of Automatically Configuring Numerai Compute Environment
regonn
0
77
Federated Learning 連合学習
regonn
4
1.6k
PLATEAUをデータベースに取り込んでみた
regonn
0
1.7k
古参Numerai参加者の戯言
regonn
1
2.4k
Nim + Cloud Run + TerraformでGCPにNimのサーバーレス環境を作る
regonn
1
620
S+ Camera Basicと似た環境をラズパイから構築してみる
regonn
0
500
衛星画像のゴルフ場写り込み判定AIモデルを作る
regonn
0
720
Other Decks in Technology
See All in Technology
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
150
AWSのマルチアカウント管理 ベストプラクティス最新版 2025 / Multi-Account management on AWS best practice 2025
ohmura
4
310
Classmethod AI Talks(CATs) #21 司会進行スライド(2025.04.17) / classmethod-ai-talks-aka-cats_moderator-slides_vol21_2025-04-17
shinyaa31
0
600
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
260
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
0
110
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
120
更新系と状態
uhyo
7
1.7k
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
160
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
600
Amazon CloudWatch を使って NW 監視を行うには
o11yfes2023
0
170
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
710
Featured
See All Featured
Bash Introduction
62gerente
611
210k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
The Cult of Friendly URLs
andyhume
78
6.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Docker and Python
trallard
44
3.3k
Typedesign – Prime Four
hannesfritz
41
2.6k
Faster Mobile Websites
deanohume
306
31k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Embracing the Ebb and Flow
colly
85
4.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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