VPINによるパンプ検出と仮想通貨トレードへの応用(全3回くらい予定)
(トップ画像 via)
こんにちは、Hohetoです。
今回のnoteでは、相場の暴騰・暴落を検出する「VPIN」という指標について解説します。
そもそもビットコインでは、「シンプソンズ・チャート」や「Pump & Dump」と呼ばれるような上下に激しく価格を振るような価格操縦行為が日常的に行われています。
図1. bitFlyer FXBTC/JPY 1時間足(2018年末ごろ)via TradingView
昨年の10~12月ごろ、相場が冷え切って間もないころ、このPump & Dumpをうまく検出して順方向にポジションを建てることで、効率よく資産を伸ばせないか?と考えていました。
そこで目をつけたのが、VPINという指標でした。
当noteでは、3回程度に分けて、このVPINの内容や特性、トレードへの応用方法を解説していきます。
当noteは無料の連載です。
更新については筆者のTwitterアカウント(@i_love_profit)にてお知らせします。※内容は予告なく変更する場合がありますので、ご承知おきください。
第一回
当noteです。VPINのコンセプトと特性、それによって得られる効果を解説します。
第二回
VPINの指標の具体的な計算方法や実装について解説します。
第三回
VPINの仮想通貨トレードへの応用、シミュレーション結果などについて解説します。
1. はじめに
仮想通貨トレードでは、(ビットコインはもちろんのこと、アルトコインも同様に)仕手行為が横行し、価格の暴騰や暴落が頻繁に見られます。
また、仕手行為でなくとも、出来高が一方方向に連なって大きなイナゴタワーを形成し、価格が大幅に変動することがよくあります。
このため、短期的なトレードやマーケット・メイクのような高頻度取引において、値動きと逆方向のポジションを保持している場合、大きな損失を被る可能性があります。
逆に考えると、これらの変動に対してなるべく早いタイミングで順方向にポジションを構築することで、後乗りのイナゴたちから恩恵を得ながら大きく資産を伸ばせる可能性もある、ということです。
冒頭に出てきた「VPIN」という指標は、Buy・Sellそれぞれの約定の歪みをリアルタイムに観察することにより、暴騰や暴落の予兆を捉えることができる、というものです。
元々はフラッシュ・クラッシュのような破壊的な相場変動を回避するための指標ですが、これを仮想通貨のトレードに応用しようと試みました。
当noteでは、数式を用いず、感覚的に分かりやすいようにVPINについて説明していきます。より詳細については「5. 参考文献」をご参照ください。
当noteでの解説は、VPINを仮想通貨に応用した際の筆者独自の解釈を含みますので、参照元におけるVPINの意味や使用方法と完全に一致するわけではないことにご留意ください。
2. VPIN(およびその前身であったPIN)のコンセプト
VPINとは、「Volume-synchronized Probability of Informed Trading」の略です。
原論文[1]はこちらです。
「Flow toxicity and liquidity in a high frequency world」Easley, D., et al.
https://pdfs.semanticscholar.org/d532/37a98342918dac8e228d3e688074f6e605cd.pdf
もともとは「PIN」という、価格変動をベースにした指標が提唱されていました[2]が、リアルタイム性を重視して出来高ベースで計算できる「VPIN」という改良版のような指標が提唱されました。
PIN=「Probability of Informed Trading」とは、値動きに関連するであろう情報を元にしたトレードが、どの程度の割合で含まれているか?という意味です。PINでは、市場参加者を以下の2種類に分けて考えます。
①非情報投資家(Uninformed Traders)
情報を保持していない投資家。特に方向性を持たず、自身の都合により売買すると考えられる。
②情報投資家(Informed traders)
情報を保持している投資家。値動きに関わる直接的な情報を保持しており、値動きと順方向のポジションを構築すると考えられる。
※[1]や[3]では、情報投資家は「私的情報を利用可能」と定義されていますが、ここでは「値動きが起こると確信を持ってトレードを行う参加者」としています。
市場参加者が①の非情報投資家ばかりであるとき(≒値動きに影響を及ぼす決定的な情報が存在しないとき)、BuyサイドとSellサイドはある程度拮抗するものと考えられます。
一方、市場に何らかの情報が現れると、その情報を入手した投資家(=②の情報投資家)は、いち早く価格の動く方向へポジションを構築しようとします。
時が経つにつれて情報投資家の占める割合が増え、またそうして起こる値動き自体が情報と捉えられ、皆が同じ方向にポジションを持とうとして値動きの方向性が決定づけられます。
数多くのトレード(=約定)の中で、このような「情報を元にした方向感のあるトレード」がどの程度含まれているかを、約定の偏り具合(Volume Imbalance)をモデル化することで疑似的に表現したものがVPINです。
3. VPINの計算方法
ここでは、VPINの計算方法について概念のみ説明します。より詳細を次回のnoteで解説する予定です。
VPINは、高頻度取引などでも扱えるように、リアルタイム性を重視して作られた指標です。WebSocketなどによって直近の約定情報を受信しながら、リアルタイムに計算・更新することができます。
計算方法は、以下の手順です。
①約定量を、Buy約定とSell約定を判別できる状態でリアルタイムに
ウォッチする。
②バケツのような入れ物を用意し、約定が起こるたびにこのバケツを
約定情報で満たしていく。
(原論文では「Volume Buckets」と表現されている)
③バケツがいっぱいになった時点で、次の空のバケツを用意して次々に
空バケツをいっぱいにしていく。
④直近でいっぱいになった幾つかのバケツについて、Buy約定とSell約定
それぞれの量にどの程度偏り(Imbalance)があるか?を計算する。
(実際に利用する際は、この累積分布をとる)
意図して大きなポジションが作られたり、大きな値動きが起こる前兆状態になったりすると、受信する約定情報がBuy・Sellどちらかに偏ります。その結果、バケツの中身もBuy・Sellどちらかに偏っていきます。
この偏り具合を記録しながら、過去の水準との比較(累積分布関数:CDF)により、現時点でどの程度過熱が進んでいるか?を判断します。
累積分布関数(CDF)とは?
今回のケースでは、過去に計算したVPINの値N個のうち、今回計算した値が上位何番目になるか?ということです。
・上位1番目であれば、CDFの値は1となります。
・上位N番目(=最下位)であれば、CDFの値は0となります。
・数式などの詳細はこちらをご参照ください。
https://k-san.link/edf/
VPINのCDFの値が0.9を超えるくらい(つまり過去の値のうち上位10%に入るくらい)になると、相場が急変する可能性が高くなります。
さらに相場が過熱し、VPIN CDFの値が0.95~0.98あたりを超えると「クラッシュ」間近と判断されます。
仮想通貨トレードでは、この辺りがイナゴタワーの初期段階に当てはまります。
4. ビットコイン・チャートへの適用
昨年の9~11月ごろの値動きに、VPINを適用した結果を紹介します。
TradingViewのチャートは、暴落が起きる前後数日間のbitFlyerのFXBTC/JPYの2時間足チャートです。
その下にあるのが、BitMEXの約定履歴を元に計算したVPIN CDFのグラフです。
ここで、VPINの計算にBitMEXの約定履歴を使用している理由はお分かりでしょうか?端的に言えば、bitFlyerの約定履歴を利用して計算するよりもVPINの特性がきれいに出るからなのですが、その理由を考えてみてください。
次回以降のnoteで答え合わせをしたいと思います。
1)2018年9月5日前後の暴落
暴落の少し前にVPIN CDFの値が反応しています。その後はいったん値が下落するのですが、暴落が始まってすぐにまた値が上昇します。二度の下げが終わるまで、VPIN CDFが高い水準をキープしていることが分かります。
図2. bitFlyer FXBTC/JPY 2時間足(2018年9月5日前後)via TradingView
図3. 2018年9月5日のVPINの様子(※タイトルはUTC時刻)
2)2018年9月5日前後の暴落
こちらも暴落が始まって間もなく、VPIN CDFの値が高い水準まで上昇しています。この値を確認してからエントリーをしたとしても、十分な値幅を確保できるように見受けられます。
図4. bitFlyer FXBTC/JPY 2時間足(2018年11月14日前後)via TradingView
図5. 2018年11月14日のVPINの様子(※タイトルはUTC時刻)
上記の例を見る限り、急変動の早めの段階でVPIN CDFの値が上昇し、ある程度変動が落ち着いた時点で減少している様子が見て取れます。
指標と値動きの挙動について、概ね良好な結果を得ることができた、と言えるでしょう!
・・・
今回のnoteでは、VPINのコンセプトを解説し、暴落時のビットコイン・チャートに適用した際、良好な挙動が確認できたことを示しました。
第二回のnoteでは、より具体的なVPINの導出方法とその過程における課題を解説する予定です。
また、第三回のnoteでは、VPINの特性を利用したPump & Dump時の順張りトレードについて解説する予定です。
お楽しみに!
5. 参考文献
[1] Easley, D., et al. (2012) Flow toxicity and liquidity in a high frequency world
https://pdfs.semanticscholar.org/d532/37a98342918dac8e228d3e688074f6e605cd.pdf
[2] Easley, D., et al. (2001) Time-Varying Arrival Rates of Informed and Uninformed Trades
https://pdfs.semanticscholar.org/19c6/b5577e895b70c2d06cb3b422a5d2753590d9.pdf
[3] M Wakiya, et al. (2016) VPINを用いた短期的な市場変動予測 -日経225先物及び日経225miniを用いた実証分析-
https://www.jpx.co.jp/corporate/research-study/working-paper/tvdivq0000008q5y-att/Summary_JPX_working_paper_No11.pdf
・・・
当連載は全て無料で公開いたしますが、「この内容ならお金を払ってでも続きを読みたいよ!」とおっしゃる方は、代わりにこちらの日本赤十字社のサイトなどでクレジットカードによる寄付が可能ですので、ご検討ください。
貴方のご厚意に感謝します。
https://donate.jrc.or.jp/jrc/application/selectCampaign
※おかしな寄付スキームではありませんので、ご安心ください!
この記事が気に入ったらサポートをしてみませんか?