本报告由火币区块链研究院出品,报告发布时间2019年4月10日,作者:袁煜明、胡智威、翁溢铭、乔晓峰。
摘要
作为市场流动性的提供者---做市商在日常经营中面临的主要风险为交易对手的信息优势导致的逆向选择风险。VPIN是传统交易市场中较为流行的一个测算指标。依据不同交易量的归类标准,VPIN又可以划分为TR-VPIN及BV-VPIN(BulkedVolumeVPIN)等。其原理是知情交易者的加入会导致原本稳定的分布发生偏移。火币研究院对VPIN模型进行分析并编写代码,以1token提供的多个交易所的实盘数据及回测平台进行回测。主要测试场景包括4月初比特币价格的快速拉升和1月份EOS价格的快速下跌等。
结果显示,无论是数字资产价格的暴涨或暴跌,VPIN时常会出现大幅度的提升,具有一定的预测效果,可视为是一种波动率领先指标,可对期权交易、做市商提供流动性、交易所风控管理等具有指导意义。
报告正文
1.VPIN作为市场流动性的提供者---做市商在日常经营中面临的主要风险为交易对手的信息优势导致的逆向选择风险。为了测量做市商在交易中面临的逆向选择风险,行业里研究采用了各种指标,价格波动率是其中非常流行的一种。
但是在高频交易的环境下,波动率已经不是最可靠的预测指标。对于高频交易中的短期大幅波动,在传统金融市场中一个更为流行的指标是VPIN。
VPIN起源于做市商关注的主要市场风险来源——PIN(probabilityofinformedtrading),也就是知情交易者概率。简单来说,当一个做市商在市场中提供报价时,需要考虑的一个核心问题就是交易对手是知情交易者的概率,因为和知情交易者或者有信息优势的交易者做交易时,该笔交易的预期收益肯定是负的。
VPIN是基于PIN指标做的改进。因为直接计算PIN是很困难的,Easley提出了用交易量时间来替代物理时间,可以实现对实时条件下的交易性的测算。依据不同交易量的归类标准,VPIN又可以划分为TR-VPIN及BV-VPIN(BulkedvolumeVPIN)。Easley在后来的文章中提到了BV-VPIN是一种更优的算法,所以我们在本文中的算法为BV-VPIN的算法。
对于频繁发生短期大幅波动的数字资产二级市场,火币研究院对VPIN模型分析并以Python进行算法代码实现,以1token提供的多个交易所的实盘数据进行回测。对比特币、EOS等交易历史数据的测试结果显示,VPIN在数字资产交易中具有一定预测效果,可视为是一种波动率领先指标,可对期权交易、做市商提供流动性、交易所风控管理等具有指导意义。
2.模型原理
在开始计算前,我们先回顾VPIN的模型逻辑。做市商在日常交易中的关注的核心指标之一就是交易对手有信息优势的概率,也就是PIN。这个模型对PIN对做市商的报价的影响进行了建模。模型的推理过程比较复杂,我们在这主要陈述模型的核心假设及结论。
TheGlosten-MilgromModel
theEasley-O’HaraModel
这个模型是产生PIN这个关于信息流性指标的模型。在Easley的一系列文章中,交易被看成做市商和交易员之间的博弈。在这个模型中,交易被看成为一系列的交易时间i=1,…,I。在每个period的开始,会有α概率发生影响资产价格的事件。如果这个事件发生,对于资产来说可能是好消息,也可能是坏消息。在第i个period结束时,如果是个好消息,那么该资产的价值应为??,如果是坏消息,该资产的价值应为??。好消息发生的概率为,坏消息发生的概率为δ,可以将δ假设为一个先验概率。在消息发生后,订单流以泊松分布的进入交易所。知情交易者知道信息的好坏,他们将会在好消息时买入,坏消息时卖出。模型中假设知情交易者的到达率为μ,不知情交易者的到达率为ε。
这个模型的演绎结果就是做市商报价的价差A-B=PIN。这个模型的演绎出informedtrading的比例越大,做市商报价的价差越大。这点也和日常自觉相符。
从上面两个模型,我们可以得知如何从理论角度构建PIN这个指标。如果要将这个指标应用的到交易中,则必须对模型参数进行估计。标准的解决方法去求解这个模型并计算PIN需要对参数进行预测,这会使得实时预测变得十分困难。我们采用了VPIN的方法来预测PIN,这样实时计算这个指标变得可能。在数字资产的二级市场中,这个想法也更加符合直觉。交易的发生通常和信息高度相关,和时间的相关性反而小,这也支持了用交易量时间而非物理时间对此事件进行建模。
在VPIN的模型中,会对交易进行分类。分类的分发是先将一段时间内的交易加总,然后用这段时间的起始价格和终止价格之差的分布将交易量分类。具体公式如下:
文献中考虑了更复杂的订单流模型,我们为了讨论的简单就提供了最简单的订单流模型。
这个指标和上文中的理论模型是否相符呢,答案是肯定的。有兴趣的读者可以通过蒙特卡洛模拟验证模型中假定(α,δ,μ,ε),并用这些参数生成订单流。计算结果中的PIN与VPIN的计算结果十分接近。
整个模型的推理过程涉及到较多的理论证明,有兴趣的读者可以直接阅读本报告的参考文献原文。而模型背后的思想并不复杂,在日常交易策略开发中也值得借鉴。模型的假设是市场在均衡状态下订单流会有相对稳定的分布;而知情交易者的加入会导致原本稳定的分布发生偏移。VPIN就是对捕捉这种偏移做的尝试。
3.算法步骤
在知道VPIN原理后我们可以尝试将VPIN进行算法化,详见Prado(2012)。
A.输入
1.某个币的交易数据的时间序列
T:交易发生时间T_i
P:交易发生时的标的交易价格P_i
V:交易量V_i
2.V:交易量
3.n:用来预测VPIN使用的交易样本
B.将交易量切成同大小的份数
1.将交易单按时间顺序排列
2.计算
3.将?P_i扩展,使?P_i的数量与对应的V_i相同,在扩展后将获得I=∑_i?V_i个?P_i
4.将?P_i从新排序i=1,…,I.
5.将τ=0
6.τ=τ1
7.如果I<τ*V,那么跳到11步
8.对于i属于将交易量进行买方驱动和卖方驱动的分类
9.对篮子中的交易量进行标签
10.回到第六步
11.将L=τ-1
C.使用VPIN计算公式
如果L大于n,将会有足够的信息用于计算
D.VPIN准确性的验证
可以使用蒙特卡洛算法来验证VPIN的有效性。方法可以是假设一个订单流背后的因子为(α,μ,ε)。用模拟的订单流计算出的VPIN和真实的PIN将会非常接近。
4.实盘测试
本报告中,我们用1token提供的多个交易市场的实盘逐笔成交数据,测试比较VPIN在资产价格暴涨暴跌时的表现。1token是现在市场上为数不多的优质数据商,他们的数据具有很好的实时性及准群度,正好适合这种高频数据的回测。同时,1token的回测平台也可也减少回测代码的开发成本。
测试1
比特币的价格在2019年4月初快速从4100美元附近一度快速飙升至5000美元及以上。在该测试场景中,我们选择多个交易所的BTC/USDT的逐笔数据进行测试。
测试参数均设置为:日平均交易量的1/50设置“桶”的大小,VPIN的计算选取最近25个桶。
测试数据是Bitfinex的实盘交易数据结果为:
测试数据是Kraken的实盘交易数据结果为:
测试数据是币安的实盘交易数据结果为:
其中,上述各图的蓝线均表示BTC/USDT的交易价格,值对应在左侧纵坐标轴;红线为VPIN的累计概率分布值,值对应于右侧纵坐标轴上。
可以看到,在多个交易所的4月2日4:30-5:00之间随着比特币价格飙升至4500美元附近,VPIN的CDF值也一同快速上涨并在5:00以后的一小段时间内保持在很高的水平;而比特币价格随后也在5:30左右飙升至了5000美元以上的近期价格高点。
因此可看到,VPIN在各个交易所中均对价格的飙升会起到一定的预先提示效果。
测试2
EOS的价格近期经历了较大幅度的波动。EOS/USDT的价格在2019年1月10日经历了大幅、快速下跌,从2.9左右下跌至2.4左右。在该测试场景中,我们选择EOS/USDT测试价格下跌的情况。具体测试数据如下:
测试数据:币安,Bitfinex交易所的EOS/USDT交易对在1月份的逐笔成交数据
测试参数:日平均交易量的1/50设置“桶”的大小,VPIN的计算选取最近25个桶
测试数据集是币安交易所的结果:
其中,蓝线表示EOS/USDT的交易价格,值对应在左侧纵坐标轴;绿线为VPIN指标的数值、红线为VPIN的累计概率分布值,值对应于右侧纵坐标轴上。
测试数据集是Bitfinex的结果:
从图上可以看到VPIN,特别是在币安交易所的CDF,在EOS价格大幅下跌之前即保持在很高的水平以上。说明在该数字资产价格剧烈波动期间及大幅波动前,订单的不平衡会有明显的统计异常,并且VPIN、CDF均有比较好的指示效果。VPIN在Bitfinex交易所的水平会低于币安交易所,愿意在于VPIN在领先的交易所的效果会更强,在滞后交易所会相对更弱,其中的区别我们会在后面的文章中讨论。
5.总结
从上述结果可看到,VPIN及其累积概率分布函数CDF,在资产价格暴涨暴跌时常会出现大幅度的提升,具有一定的预测效果。因此,VPIN在数字资产交易的实践中,可视为是一种波动率领先指标。当出现VPIN的大幅度快速提升时,则提示交易者需注意该数字资产的波动。由于涨跌均有可能,因此VPIN在期权交易的场景中将会更有指导意义。此外,也可应用在做市商提供流动性、交易所风控管理等方面。
本报告由于篇幅所限,选取了近期有代表性的行情时间段及交易品种。如果想更严谨的测试VPIN的效果,需要进一步检验VPIN和价格波动的相关性及VPIN与价格波动间的条件概率。这些测试我们会在未来的研究报告中继续介绍。值得注意的是,对于VPIN的效果,在学术圈也有争议。Anderson中质疑了VPIN的有效性,Easley中也对该质疑提出了反驳,有兴趣深入学习的读者也可以继续阅读该文章。
对于报告正文中的VPIN算法及Python代码的相关实现,欢迎联系火币研究院进一步探讨。
参考资料
MarcosM.LopezDePrado.AdvancesinHighFrequencyStrategies(2012),76-80
Glosten,L.R.andP.Milgrom(1985):”Bid,askandtransactionpricesinaspecialistmarketwithheterogeneouslyinformedtraders”,JournalofFinancialEconomics,14,71-100
Easley,D.andM.O’Hara(1992b):“Timeandtheprocessofsecuritypriceadjustment”,JournalofFinance,47,576-605
AndersenTG,andBondarenkoO.VPINandtheFlashCrash.JournalofFinancialMarkets,2014.17:1-46
EasleyD,dePradoMML,andO’HaraM.VPINandtheflashcarsh:Arejoinder.JournalofFinancialMarkets,2014.17:47-52
Easley,D.,R.F.Engle,M.O’HaraandL.Wu(2008):”Time-VaryingArrivalRatesofInformedandUninformedTraders”,JournalofFinancialEconometrics
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。