出来高分析(Volume Analysis)まとめ
約定履歴/OHLCVの価格ではなくサイズに着目した分析やその要約統計量.
歩み値分析, 約定履歴分析, 売買分析… 出来高からわかることについて, まとめていく.
従来の📝テクニカル指標に属するものではあるものの, どうも最近のトレンドでこの分野は進化しているように思えるのでメモを分離.
📊出来高
出来高(Volume) とは, 任意の時間単位で約定した取引数量.
類義語としてamount, yieldなどはあるものの, 多く使われているのはVolume. 日本語でもボリュームといわれることがおおい.
📊24時間出来高
24時間の間に取引された出来高.
📊売買出来高(Buy Sell Volume)
売買出来高(Buy Sell Volume, Buying selling Voluem)とは, 出来高 をbuyとsellごとに要約したもの.
売買は成行注文で生じるため, 成行買いと成行売りの量とも見える. 売圧, 買圧とも.
📊成買出来高/成売出来高
成買出来高(Taker Buy Volume)/成売出来高(Taker Sell Volume).
📊Uptick Volume/Downtick Volume/Net Volume
あまり情報がないものの, Uptick/Downtickという概念がある.
Uptick とは最後の取引価格の上で約定した, 又は最後の取引価格以上で約定した(価格が上昇した)成行注文. Downtick とは最後の取引価格の下で約定した, 又は最後の取引価格以下で約定した(価格が下落した)成行注文.
ニートトレーダーたかしさんのイナゴbotの記事で💡価格上昇と価格下落のボリュームを分類するいなご方式という計算方式はなんの統計量を言っているのだろうと疑問に思っていたが, おそらくこのUptick/Downtickな気がした(推測).
📈出来高グラフ
出来高を棒グラフで表したもの. チャートの下に表示されていることが多い.
出来高の可視化
📊デルタボリューム(Delta Volume)
Delta Volume, 省略してデルタ(Delta). 注文の強さインジケータ.
買い出来高と売り出来高の差を示す変数. それをグラフ化したものは, デルタキャンドル.
DELTA = BUY Volume – SELL Volumes
デルタはプラス/マイナスの値を取る. プラスならば買い圧が強く, マイナスならば売り圧が強い.
- Delta = Positive => Aggressiveness on the Buy side
- Delta = Negative => Aggressiveness on the Sell side
🆎偽の流動性とDelta
Delta(market orders)はLiquidity(limit orders)よりもしばしば有用. なぜならば見せ板のような📝Fake LiquidityがOrderbookにはあるが, Deltaはmarketですでに実行された注文であるから.
Delta represents the difference between finalized orders at bid and offer.
Orderflow Trading: Delta vs Liquidity - Complete Strategy and Indicators Guide - Tradingriot.com
📊累積ボリュームデルタ(CVD)
CVD(Cumulative Volume Delta), 累積ボリュームデルタ.
買い出来高と売り出来高の差を分析し, 売り手と買い手の潜在圧力を測ることで価格予測することが出来るもの.
- CVD line
- Delta line
🔌CVDでできること
- トレンド転換を素早く察知.
- エントリタイミングの判断.
- トレンド方向の判断
- 買い圧力が強ければ上向き, 上昇トレンド.
- 売り圧力が強ければ下向き, 下降トレンド.
📈Delta Profile
📊デルタ, つまり約定量の差のプロファイル表示. Delta Footprintとも.
References
CVD
- The Cumulative Volume Delta (CVD) indicator: Analyzing Buyer and Seller Activities - Coinalyze Blog
- CVD(Cumulative Volume Delta)を使ったビットコインFXトレード手法を紹介【coinalyze】 | ビットコイン狂騒曲
- https://github.com/twopirllc/pandas-ta/issues/573
- CVDの計算方法, Pandasのスニペットコード
📝VPIN
VPIN(Volume-synchronized Probability of Informed Trading).
価格の高騰や暴落を捉える指標. 約定履歴の取引高から計算する. 高頻度取引でも使えるようなリアルタイム性がある.
PIN(Probability of Infomed tradint)はOFIを捉えて情報の非対称性を計測しようとした. 計算に最尤推定をもちいるためHFTのようなリアルタイム性が求められるシーンではコストが高くつかえなかった.
そこでVPINが考案された. PINが板情報の注文量を元に算出刷るのに対して, VPINは約定履歴の出来高から求める(💡約定情報はこれまでで板情報はこれから).
どうも2012のEasley et. al. から論争があるようで利用には見極めが必要そうではある.
いなご検出の話題にからめて📍約定履歴監視からの注文フロー偏り検出にもまとめた. VPINよりもより簡易な方法.
VPINアルゴリズム
VPINの計算方法.
[VPINを用いた短期的な市場変動予測 -JPX2016を参考にした. 数式と図がわかりやすい.
集約は2段階ある(volume/time bar and volume bucket).
- 1段目集約(volume/time bar)
- 取引データを一定の取引高(volume bar)/時間(time bar)で集約(group by).
- Barを標準正規分布の累積分布関数(CDF)で売主導/買主導別に分類
- bulk classificationという.
- 2段目集約(volume bucket)
- 1で作成したbarを一定個数ごとにまとめる.
- volume bucketという.
- volume bucketの期待値を算出
- OFI(order flow inbalance).
- 1で作成したbarを一定個数ごとにまとめる.
- OFIの移動平均(SMA)がVPINとなる.
こうみると, 何度も変換を施してVPINを算出している. 変換処理に着目すると,
volume -> group by -> bulk classification -> window -> mean -> sma
というように関数を次々と適用してデータ処理をする. しかしその計算自体は低コストなのでHFTのようなリアルタイム性があるものでも使えそうな気がした.
Time bar vs Volume bar
Time Bar と Volume Barはいずれかの方法を選択すればいい.
- time bar = 1 -> 1分後とでまとめる
- volume bar = 50 -> 50 amountごとにまとめる.
通常テクニカル指標で持ち入れるのが一定時間のOHLCであり, それをもとに算出するのがインジケータとなっている. なのでTime Barのほうがデータの準備がしやすい. Volume Barを作成するには約定履歴からの自作が必要.
Time BarとVolume Barの選択は開発コストと効果の関係. 仮説検証をしたいならばTime Barで十分. Volume BarはTime Barよりも実装コストがかかるものの, 市場の急変をより速く検知することはできる.
References
- 杉原論文4-(2)-ロ-(イ)で日本語解説.
- [VPINを用いた短期的な市場変動予測 -JPX2016
- VPINを簡単にまとめたJPXのスライド資料.
- マーケット情報不均衡性指標VPINの紹介とFXへの簡単実戦 | GMOインターネットグループ
- マーケットのミクロストラクチャーの紹介~information tradeの評価へ | GMOインターネットグループ
- VPINによるパンプ検出と仮想通貨トレードへの応用(全3回くらい予定)|Hoheto (仮想通貨botter)|note
- VPINによるパンプ検出と仮想通貨トレードへの応用(第二回)|Hoheto (仮想通貨botter)|note
- VPINによるパンプ検出と仮想通貨トレードへの応用(最終回)|Hoheto (仮想通貨botter)|note
Volume Profile分析
📊Volume Profileチャートをつかった分析手法.
📊VWAP
VWAP(=Volume Weighted Average Price)とは, 一定期間の出来高の平均価格. 出来高加重平均価格とも.
📊Volume Profile同様, 🆚サポート/レジスタンスの見極めにつかう.
VAMA(Volume Weighted Moving Average)という指標もある.
Topics
💡出来高とは指値注文と成行注文のマッチングの総量
出来高とは, 一定時間における指値注文と成行注文のマッチングの総量.
📝歩み値に現れるデータはこのマッチング(i.e. トレード)の結果. 出来高分析とは歩み値に並んだマッチング分析といえる.
💡出来高が少ない状態の値動きは信頼できない
出来高がすくないのに価格変動があるということは板がスカスカだったり成行注文が少なかった可能性があり, あまりトレンドの価格変動に説明力はない(つまりトレンドが続くとは限らない).
🆚Volume vs Deltaの違いは注文の積極性
Volumeだけだと, 売買のどちらのmarket orderが強いのかわからない. 📊デルタボリューム(Delta Volume)をみると, どちらのsideの売り圧買い圧が強いのかがわかる.
- 📝注文の積極性(Order Agressiveness)
- Understanding volume analysis in trading - Complete guide - Tradingriot.com
References
Volume Profile データ分析(code)
軽く調査したところ, ライブラリにはあまり期待できず, 自力でピンポイントに集約関数を書くのがいいのかも. どちらかというと, この分野は計算よりも可視化がキモかもしれない.
- https://github.com/bfolkens/py-market-profile
- How to Analyze Volume Profiles With Python | by Minh Nguyen | The Startup | Medium
Related
- up: 📝トレード分析