36
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

仮想通貨botterAdvent Calendar 2021

Day 15

仮想通貨ボット:BitMEXの板でスプーフィングを試みた話

Posted at

はじめに

UKIです。
今回は過去に検討したボット戦略について紹介します。

遡ること2018年6月、私はbitFlyerの高頻度ボットを使って原資1万円を2週間でどれくらい増やせるかチャレンジしていました。結果として、2週間で1万円を47万円に増やすことができ(利回り+4600%)、この結果を「2週間で利回り4000%超を達成したトレーディングbot構築の考え方」というNoteにまとめました。

このNoteの影響かどうか断定はできませんが、私の稼働していたボットはNote公開後まもなくトレードの優位性を失い、利益が出なくなってしまいました。その裏で私はある戦略を検討していたのです。

Order Flow Imbalance

この話に先立って、まずは板取引の指標である「Order Flow Imbalance」というものについて説明したいと思います。直訳すると「注文フローの偏り」となり、杉原の論文では以下のように紹介されています。

最良買い気配上の注文量の時間変化から最良売り気配上の注文量の時間変化を差し引いた値を注文フローの偏り(order flow imbalance: OFI)と定義する。

要するに、板の差分(時間的な変化分をΔとすると、ΔbestBit-ΔbestAskの意)がその後の値動きに対して説明力を持つ、というものです。
この事象はそもそも米国株のティックデータで有効性が確認されており、その短期的な説明力はテクニカル指標などとは比べ物にならないほど強いものとなります。私はこの論文を元に、BitMEXの取引板からこの指標を計算して高頻度ボットの売買方向を決める基準としたのでした(下図はNoteからの引用。横軸はBitMEXのOFI)。

01.png

OFIの計算にBitMEXの板を使用した理由は以下の通りです。

  • そもそもbitFlyerよりも海外取引所のほうが価格が先行する。
  • bitFlyerはティック幅が1円となっており、1枚の板が薄くOFIの計算に適さない。
  • その反面、BitMEXはその手数料体系から板が厚く力を溜める傾向にあった。

スプーフィングできる可能性

さて上記の事象を乱暴に言い換えると、「BitMEXの板にデカイ注文が入ればbitFlyerの価格が動く」ということです。つまりスプーフィング(要するに見せ玉)によって相場操縦できる可能性を示唆するものでした。

BitMEXのOFIとbitFlyerの値動きを回帰して調べると、BitMEXの板に50万USDの変化があればbitFlyerの価格が100円程度動き、それなりの期待値が生じることが分かりました。BitMEXの最大レバレッジは100倍であり、この見せ板は約定させる気はないため、証拠金が5000USD(当時の1BTC程度)あればいったんこの戦略を実行できることになります。

ボットの優位性はいつまでも存在するとは限りません。思いついた戦略は粗削りでもよいので可能な限り早くリリースすべきです。私はさっそくこの戦略の実現可能性について検証を進めることにしました。

動かない価格

検証を進めてみましたが、結論としてBitMEXに大きな板を放り込んでも思ったようにbitFlyerの価格は動きません。ここに来て、私はある事実に気が付きました。

Order Flow Imbalanceの分解

まずBid側(買い板側)を考えると、Bid板の変化分は以下の3つが合わさったものです。
 (1)新しい買い指値注文の流入
 (2)存在した買い指値注文のキャンセル
 (3)成行売り注文でのテイク

続いてAsk側(売り板側)を考えると、Ask板の変化分は、
 (4)新しい売り指値注文の流入
 (5)存在した売り指値注文のキャンセル
 (6)成行買い注文でのテイク

これらを全て正の数量とすると、Order Flow Imbalanceは、

 OFI = ΔBid - ΔAsk
 OFI = (1-2-3)-(4-5-6)

このうち説明力として支配的なものは(3)と(6)の成行注文なのでした。指値注文の変化分である(1)、(2)、(4)、(5)にも説明力は存在しており、(3)と(6)と併用することで全体の性能を向上させることはできます。しかし、あくまでも大事なのは成行注文だったのです。

これではbitFlyerの価格を動かすためにはBitMEXで大きな成行をかますしかありません。これは単純に海外取引所で大きな数量を買い上げるという普通の相場操縦と変わりないのです。
この方法に旨味はありません。BitMEXでの成行注文には大きな手数料が掛かりますし、取得したポジションは逆選択リスク(反対方向に動いて損失が発生するリスク)が残ります。

こうして、この戦略はお蔵入りしたのでした。

おわりに

今回の戦略は未遂に終わったわけですが、そもそもこの戦略の考え方の発端は、BitMEXの板を参照するボットを殺すボットを作る、ということでした。市場がボットで飽和すると、必ずボットを食い物にするボットが現れるはずです。
皆さんのボットも常にこのような視点から対策・改良を進めていくとよいと思います。

36
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?