
2021年2月、A級botter達成しました!(月次約170万)
達成したこと
S級botter 月次1000万〜
— UKI (@blog_uki) August 31, 2019
A級botter 月次100万〜
B級botter 月次10万〜
異論は認めます。
深層強化学習 bot による bitFlyer での自動取引で月次約 170 万円を達成しました。先月は初のB級達成を報告しましたが、今月はランクアップしてA級を無事達成できました。
botのアプローチ、特に深層強化学習について
基礎的なアプローチや勝てるようになった契機などについては先月の記事に書いてあるのでそちらを是非。先月と今月でやってることはほぼ変わってないです。
今月は、「なぜ深層強化学習で取り組むようになったか」「深層強化学習はおすすめなのか」みたいなことを書こうかなぁと思いましたが、ちょうど少し前にまさにそういう内容をツイートしたのを思い出したので、とりあえず貼っときます。
いやー、高頻度×RL に取り組もうと思った一因はまさにコレっす……!
— j26 ⚡ (@j262226) February 8, 2021
① 頻度高くするほどサンプル数を多く取れて ML しやすい
② しかし、頻度高くするほどただの上下より執行の影響が大きくなってくるので、執行も含めて学習したい(→ なので RL とかしたくなる)https://t.co/kDyzwMNwz0
加えて言うと、高頻度取引では API 制限が大きな制約になる、というのも強化学習の強みになると思ってます。API 制限が制約になってこないような時間軸では、複数の戦略をポジション合成などで組み合わせることも容易です。一方、API 制限がキツい高頻度取引では、いくつもの戦略を並行して動かすのは難しい。そうなってくると、色々な戦略で見るような指標を全て特徴量として入れ、それらの良いとこ取りをする強化学習 bot を作り、そこに API 制限ギリギリまで使わせる、というのが有利になってくると思ってます。
でもぶっちゃけ、万人の正解だとは全然思ってなくて、結構大変なので、強い指標を見つけられるならそのままルールベースで良いだろうなって思ってます……市場を理解する力が低い自分は、そこそこの指標を組み合わせて強い bot を作るためにこういうことをするしか無いと思ってる感じだったり。
— j26 ⚡ (@j262226) February 8, 2021
結局、深層強化学習はあまり全力でオススメできるものではないと思ってます。多くの人はそれ無しで勝てると思いますし、多くの人には深層強化学習を学んだり試行錯誤したりするより指標の探索に時間を使ったほうが収益に繋がると思います。
一方で、私は機械学習に関する知識経験が少し有る状態で参入しており、この辺の調査や試行錯誤は全く苦にならず非常にスムーズに行えると自負しています。そのような人間の場合、自動取引に対して深層強化学習を使うというのは、むしろ最も素直なアプローチですらあると個人的には思ってます。
今後について①:高頻度
次の目標は当然 S 級……いやいや、流石にちょっとキツいっす。まずは、月次 300 あたりを目標にしたいと思います。
ただ、3 月は月次ではなく、試行錯誤を優先しようと思います。やや工数がかかるがいずれは取り入れたい機構などいくつか考えており、その辺の試行錯誤を優先しようと思います。
あとは横展開ですよね。GMO でも勝てそうな気はしてるので、そのうち GMO にも展開したいです。ただ、横展開もなんやかんや工数もかかるので、bitFlyer で露骨に伸びしろを感じる間はまだまだ bitFlyer で強くして、最終的に横展開しようと思います。
今後について②:日足スイング
2月は日足のスイングの研究開発もしていました。日足スイングは取り組んでいる方が多く、毎日皆さんのポジションの情報が Twitter で流れてきて、自分と見比べたりできて楽しいです。
スイングは流石に普通に教師あり学習で良いかな、と最初は思ってたのですが、気がついたら強化学習してました。
そういや昨日から、ここのとこ取り組んでた日足スイングを少額で稼働してみてます。安心してレバ掛けられるモデルが個人的目標で、方策として -1〜+1 で持ちたいポジションを出力する強化学習。昨日はがっつりロングでしたが今日はほぼノーポジ。自信の無い日は無理しない動作にちゃんとなってるぽい。 pic.twitter.com/IJuY3CtBjq
— j26 ⚡ (@j262226) February 25, 2021
スイングの強化学習は、高頻度とは全然違うモチベーションで強化学習を使っています。この辺の話もまたそのうち詳しくできればと思います。