BitMEX攻略の思考過程

こんにちは。Qです。

いつも読んでいただきありがとうございます。

シストレ日記という形でも投稿していますが、情報の網羅性という意味ではこういうまとめ方の方が読みやすいのではないかと思って書きました。

もしかすると相場のまったくの初心者でデータ分析も全く行ったことがないという人にとっては参考になるかもしれません。

板や金利や他の取引所との乖離、インデックス価格の解離など様々な要素がビットメックスにはあります。

私も現状、技術的な面や検証不足も合わさって、ビットメックスで儲けが出せていません。そこを踏まえてこの記事を読んでいただければと思います。ビットメックスを攻略するにあたって今まで考えたことやその思考を順番に記載していきます。

他人の考えを読むのが好きな方や、ビットメックスの攻略を考えている方楽しんで読んでいただければ幸いです。

最後に有料部分がありますが、基本気にしないで読めると思います。

有料部分は自分の中では価値があるので有料にしていますが、多分大半の人にとって不必要だと思います。

返金可能なので気軽に読んで、気軽に返金してください。

(追記)

3/1相場が予想通りの結果となったので値上げしました。それに伴い、返金機能を無くしました。

3/4絶対買う人いなくなるまで値上げしました。たまに追記していく予定です。 


ビットメックスで考えられる戦略について

ビットメックスでは時間軸で分けて下記のような戦略が考えられると思います。

超短期
- 1m以下の足や板の情報を使って、超短期で売買を行います。
- 特徴としてMaker手数料を上手くとれれば値幅が取れていなくても、収支がプラスになることがあります。
短期
- 1m~15m足の単位で売買を行います。
- 値幅はどうしても小さくなるのですが、Takerリスクと戦うことになります。
中期以上
- 1h以上の長いスパンの足を見ます。
- 値幅を大きく見るので、Takerで売買しても利益が出る可能性が高くなります。
- バックテスト環境が作りやすいです。
アビトラ、両建て、金利、鞘抜き系
- 両建てショートや、ETHショートXBTロングなど、単純にロングやショートをするのではなく、マーケットインパクトを減らすようなポジションの取り方をする戦略です。
- 「天才数学者ラスベガスとウォール街を制す」の著者エドワードソープ氏が考案した戦略です。単純な上下当てゲームではなく、通貨間スプレッドや取引所間スプレッド、オプションなど、多種多様な売買ロジックが考えられます。
- バックテスト環境を作るのが厄介です。

私はとりあえず、短期の攻略に挑戦しました。

何故かというとバックテスト環境が整っていなくて、また超短期に必要な自動売買のインフラも整っていなかったためです。おそらくビットメックス攻略を考える場合、中期以上か短期で1番最初に始める人が多いのではないかと思います。

それ以外の戦略は検証や環境整えるのが非常に大変なためです。

私も、例にもれずトレーディングビューのバックテストしかできなかったために、そこで対応可能な戦略を考えることにしました。

また板やボリュームなど、ローソク足以外のデータを使用することもしませんでした。これは私の勉強したバックグラウンドが関係するのですが、ローソク足のみで勝てるという趣旨のことが書かれた本を大量に読んでいたために、

価格の変換にはある種の偏りがあって、統計的に有意になるタイミングがローソク足からでも作れると考えていたためです。

また、私はテクニカル分析について独特の仮説を持っており、ローソク足で勝てるアルゴリズムを見つけることができると考えていたことも大きいです。この仮説については収益で証明しようと思っているので、今は書くことを控えます。

 

ビットメックスを攻略するにあたってしたこと

0. ナンピンボット

(ちょっと省略しますが、実は可能性を感じていて、考えの検証がまとまり次第書くかもしれません。超短期はパイが小さいので、もしかしたら、一生出さないかもしれません)

1. オーソドックスに相関をチェックする

とりあえず1年分くらいの1m足をひっぱてきて相関をチェックしました。

ある指標を作成し、たとえば移動平均線解離律などとX分後の値動きの相関を見ました。

ここの方法論はデータサイエンティストの業務に関わっていた時の知見が生きていますが、いろいろ留意点はあり、コードも含めて書くと、記事一個分くらいになるのでリクエストがあったら書きます。

詳しくは下記のノートがおすすめです。


結果こんな感じの指標ができました。

スクリーンショット 2020-02-24 11.58.23

スクリーンショット 2020-02-24 11.58.42

#上のグラフの出力はseaborn joint plotで検索してみてください

相関係数は忘れましたが、0.03くらいだったと思います。

データサイエンスの世界ではこれは"無相関"として扱いますが、投資だとランダム性が強く相関係数がとても低くなるので、相関があると捉えても良いと思います。

2. 意気揚々と実装し、ボット起動(バックテストは未実装)

負けました。

シグナルが点灯→ 0.5ドル離して指値というようなロジックにしていたのですが、損するときは貫通して、得するときは、指値がささらないという状況でした。

売買ロジックを売りと買いで全くの逆にしても負け続けたので先に0.5ドル動いた方向にそのまま価格が動きやすいと言う特徴があるのかもしれません。

3. 逆張り指標の探究

ここからビットメックスの1m足短期については逆張りの指標でないと利益が出づらいのではないかと言うふうに考えました。

以下、この結果を受けて以前書いた、メモの内容です。

仲間内に公開してNotionに眠っていました。

>>>>>>>>>>>

> BitMEXの指標の選択について

基本的にBitMEXの超短期は、今までと同じ方向に動くことが多いです。
これは、ずっと同じ価格で止まっていたあと、上昇方向に0.5ドル(1tick)動いた場合、(つまり0.5ドル分の板が成り行きで食われたということを意味します)その方向続けて動くことが多いです。
つまり、今まで動いていた方向にポジションを取る場合、指値だと刺さらないリスクが高くなります。
そのため、短期順張り方向の指標は全て未約定のリスクと戦うことになります。


maker指標が刺さりにくくなる指標の例
- 移動平均が上をむく
- 移動平均線の交差
- 水平線での反発を見て、反発方向にポジションを取る(長期だと逆張りに見えますが、反発を見た場合順張りになります)

逆にmakerが刺さりやすくなる指標の例
- 移動平均線乖離率が〜%になる
- RSIが買われ過ぎに達する

(補足)これはどういうことかと言いますと、BitMEXはその手数料体系の都合上、Taker0.075% Maker -0.025%約定が止まった後、
また一度、0.5ドル動くとその方向に動き続ける可能性が高いという性質があります。

5000ドルで価格が止まったとして、移動平均が上向きになることをロングのシグナルにしようとするとその瞬間の価格の変化は、5000ドル以上になります。たとえば5010ドルになったとして、そこで指値を5009ドルに指しても約定せずに上に行ってしまう可能性が高くなります。
しかしこれがたとえば、RSIの買われすぎ指標だった場合、RSIが75から80に動いた場合にショートを打つことになります。つまり5000ドルの時に5010に価格が上がった瞬間に、5011ドルに指値を出しても、直前の価格が上昇方向なので、約定する可能性が高くなります。
このように短期の時間足で完全に流れと逆行する指標の場合、Makerの指値が刺さる可能性が高くなります。

>>>>>>>>>>>

そこで完成した指標を使ったバックテストがこちらです。

スクリーンショット 2020-02-24 12.05.57

結構勝てているように見えます。手数料はゼロ設定ですが、理論上Makerの方が多くなるはずなので、手数料はプラス収支になるはずでした。

<追記>

このロジックでトレーディングビューがプラス収支になる期間は1ヶ月半くらいでした。(どういう相場のときに勝てるかは仮説はあるのですが、今は勝ててません。)

久しぶりに回したらこんな感じでした。(7日間)たまにチェックするのですが、断続的に勝てるようになるタイミングがくる気がします。

スクリーンショット 2020-02-24 12.06.22

4.逆張りでも指値がささらない

しかし、ここで問題がおきます。

ビットメックスは1m足は下記のような感じの動き方をするのですが、下がって全く動かない→そのまま上昇ということが多々あります。

指標が点灯してから指値だと、逆張りの指標と言えど、0.5ドル開けても、刺さらないということが多くありました。

スクリーンショット 2020-02-24 12.07.22

5. 指標を予知する

そこで私は下記のような戦略を取りました。

指標が完成する値動きを先に予測して、そこに指標をおくという戦略です。

指標のシグナル発火に達せず落ちてしまう場合、注文はキャンセルします。

これでさらに使える指標が限定されましたが少しだけ約定率が上がりました。

>>>>>>>>>>>

> 指標の予知(検証中)

BitMEXで作った指標が優秀すぎる場合、底打ちのシグナルが出た時点で価格が止まるということがよくあります。図の青のラインが逆張りロングの指標で、赤のラインが、逆ばりショートの指標です。
このような場合、指標が出てすぐに、0.5ドル離して指値を出しても刺さらないことがあります。
解決策として、未来の価格変化を仮定し、そこに合わせて、指標が出る価格帯に指値を置くことで対処します。
そういう意味では、価格から指標の逆算ができるロジックの方が好ましいです。

スクリーンショット 2020-02-24 12.08.11

>>>>>>>>>>>

6.Webscketの遅延

そしてさぁ行こうという時にwebsocketの遅延で大損しました。

判定に使っているpriceの価格が実態とずれるのです。

ここからこの対処に私のマルチプロセス やWebsocketなど技術周りの勉強が始まるわけですが、その間に上記のエッジは消滅しました。

7.そしてそのさきへ

ここからわかることはPineだとバックテストの期間的にも、処理速度的にも不十分です。

理想をいうと1日2桁レベルの指標をチェックできることが望ましいです。

今はいったん割り切って、大量の指標をチェックできるシステムの構築と、板や遅延などリアルタイムでしか取得できないデータ収集インフラを作成しています。


今回はここまで。

見てくれた方、ありがとうございました。

良ければフォローしてください。

@trading_algo_Q

discordの運営もしています。

初心者botterのつどい

https://discord.gg/dD3cg5y

Q

ここからおまけで、このとき使っていたPINEコードと解説をかきます。

今は微妙な成績ですが、多分また勝てる相場がくるので・・・。あとbitflyerでも結構勝てるので、「飯の種」ということで有料にしておきます。すみません。

ついでにテクニカル指標の選び方や調整の仕方の仮説をかいた「テクニカル指標を計算することの重要性と意図的なオーバーフィッティング」というコラム(3000文字くらい)もここ限定で公開しておきます。(今のところ限定ですが、あとでどこかで公開しても文句は言わないでくださいね笑)

bitmexに相性が良さそうな指標を選ぶ際に考えたことを書いています。

ここから先は

2,115字 / 1ファイル

¥ 9,800

この記事が気に入ったらサポートをしてみませんか?