見出し画像

bybitの値動き

質問箱に質問が来ていたので、知見共有。

勝てたボット1

2020年に使っていた、機械学習ボット。月次100万円くらいまで行った。月次数百万円くらいまでスケール見込みでした。以下、特徴

・bybit

・15秒足

・機械学習 (取引コスト込みリターンを学習)

・best指値執行

取引コストはmaker fee込みで0.03%くらいだった気がします。つまり、maker feeを除くと、買う決定をしたところから平均で0.05%くらい不利な価格で約定する感じです。機械学習は、tickデータを使って約定シミュレーションをして、取引コスト込みリターンを計算して、それをyとして学習しました。

特徴量はbitmexのbest ask / best bid比とか使ってました。

取引コスト込みリターンはbuyとsellで異なるので、buyかsellかを表す0, 1フラグを特徴量として追加して、両方を同じモデルで学習させました。buy, sellを別モデルで学習しても良いと思います。

勝てたボット2

今メインで使ってるやつ。秘密

取引コストについて

この記事では以下の意味で使います。買いの場合

取引コスト = 約定価格 / 現在価格 - 1 + fee

約定価格: 買う決定をしてから実際に約定した価格

現在価格: 買う決定をしたときの価格

fee = -0.00025

bybitの特徴

マイナス手数料なので、値動きに特徴があります。

・上がるときはbidが厚くなってbest bidに指値しても買えない

・動くときはカクって不連続に動く (指値が約定するときは、貫通することが多い)

bybitの特徴 (機械学習的な解釈)

bybitは、取引コストがタイミングで大きく変化するのが特徴だと思います。なので、取引コストを考慮したリターンを予測しないと、上がるときに限って買えない。買えたときにはもう上がりきってるみたいのが発生する気がします。

bybitに限らず、取引コストが変化しやすい市場だと、同じやり方がうまくいく気がします。

FAQ

Q. スケール限界はどこから?

A. 売買代金。指値が約定しきらないから。約定シミュレーションでロットごとの取引コストを求めて(全量約定時の価格を約定価格とした)、学習させて成績を見て、成績が劣化しないのがそのくらいだった

Q. exit判断は?

entryのみ。反対方向のentryでexitになる。

Q. 買いと売りのyを同時に学習させるってできるの?

買いのyと売りのyをつなげて一つのデータにしてfitしました

Q. train, val, testはどう分割しているか?

以下に記載。