基于成交量时钟的国内期货行情采样方法研究

2021-05-29 05:47宁涛
时代金融 2021年11期

宁涛

摘要:本文针对我国期货市场流动性较好的期货品种,对比分析了时间时钟(time clock)和成交量时钟(volume clock)两种行情采样方法,研究发现:相较于时间时钟采样方法,基于成交量时钟采样得到的数据序列成交量分布更均匀且肥尾效应减弱,统计特性显著改善。本文基于指数移动均线日内策略对两种采样方法的组合绩效进行了实证研究,结果表明:基于成交量时钟的组合绩效在不同交易频率下均有提高,且基于时间时钟采样的成交量波动率越大,绩效的改善就越显著,成交量时钟采样方法更适合用于较高频率的策略。

关键词:行情采样方法 成交量时钟 日内策略 高频交易

一、引言

基于量价信息的市场行情数据在二级市场的投资决策中是非常重要的一类数据输入源,特别是对于基于小时级别以下K线序列的中高频CTA策略和基于市场微观结构的高频交易策略,交易决策的依据主要是基于量价信息提取的数据特征。市场行情数据是指交易所内交易行为产生的信息流,国外发达国家的二级市场一般能够向市场参与者提供实时的高频分笔报撤单和逐笔成交回报数据(tick 数据),国内的股票和期货交易所一般仅能提供固定时间频率的行情快照数据。中低频量化交易策略大体上分为择时策略和选股策略两种类型,包括时间序列和横截面两个维度[1],无论是基于机器学习还是基于传统统计方法的中低频量化策略,非结构的原始行情数据由于存在较多的噪音不能直接用于策略的统计建模,原始tick 数据一般需要通过采样聚合等方法清洗加工成结构化的数据序列,例如K线时间序列数据。López de Prado(2019)[2]指出合理的数据分析和管理是构建一套有效量化策略的关键环节,学界和业界最常用的数据清洗加工方法是基于自然时间时钟的数据采样方法,即按一定的时间间隔进行行情数据的采样统计,例如按年、日、小时、分钟等频率对行情数据进行采样以形成不同频率的K线数据。基于时间时钟的数据采样方法符合人的直觉且操作简单,但存在一些明显的缺点,López de Prado(2018)[3]指出传统的时间时钟采样方法主要存在两个主要问题:第一,市场中交易行为不按固定的时间频率产生,即交易信息在时间维度上的分布不均匀,这会导致基于固定时间的行情采样方法在交易活跃的时间段采样不足,在交易寡淡的时间段又会过度采样;第二,基于时间时钟采样得到的数据序列的统计特性较差,例如呈现序列自相关和异方差性,不满足正态分布和独立同分布等统计假设,这会导致建模和计算更加复杂。

近些年来,随着计算机技术的飞速发展,高频交易已经成为市场中不可忽视的一股力量,高频交易由技术和数据进行驱动,其交易信息主要是基于订单流和限价订单薄提取的市场微观结构,其交易类型包括套利、做市、方向交易等[4]。高频交易的收益主要来源于对市场微观结构中的信息识别,故其对数据的精细化处理和执行速度的要求都异常苛刻,Easley等(2012)[5]指出高频交易和中低频量化交易之间除了广为人知的速度差别外,更重要的是信息处理模式的进化。中低频策略一般是在时间时钟的数据基础上统计建模,而高频交易是基于事件(event-based)来处理信息,市场微观结构的基本信息单元显然不是按时间间隔等距分布,基于事件的数据处理方法更合乎逻辑[6]。基于成交量时钟(volume clock)的数据处理方式就是一种典型的基于事件的信息处理方式,成交量时钟是用一定数量的成交量作为“计时”单位,Easley等(2012)[5]研究表明基于成交量时钟采样得到的数据序列更接近正态分布,刘睿智(2016)[7]针对国内沪深300股指期货的研究同样表明成交量时钟采样得到的收益率更接近正态分布,良好的统计特性可以大幅简化策略开发流程和提高策略执行的速度。高频交易中知情交易者的逆向选择有可能导致高频做市商产生亏损,为了衡量高频做市商面临的这种订单流毒性(Order Flow Toxicity)的大小,Easley等(2011)[8]提出了一种衡量订单流毒性大小的指标——基于成交量的知情交易概率(Volume-Synchronized Probability of Informed Trading,VPIN),其原理是以成交量时钟做高频数据统计的 “计时”工具,对交易的买卖量不平衡进行量化,进而计算得到订单流毒性。另外,刘文文和张合金(2013)[9]针对我国沪深300股指期货的研究也发现VPIN指标可以很好地监测市场大幅波动时的指令流毒性,基于成交量时钟的VPIN指标不仅可以被高频做市商用作风险管理工具,也可以被中低频交易者和监管机构用来做极端风险的警示。此外,Easley等(2012)[10]提出了基于成交量时钟的整体交易分类方法(Bulk Volume Classification,BVC),主要是来估计主动买单和主动卖单的百分比,具体方法是在以成交量时钟采样得到的数据单元内,根据数据单元的起点和终点的价格变化来计算买卖交易量的百分比,Easley(2016)[11]和Panayides(2019)[12]进一步研究表明BVC方法可以更好地分辨市场数据中的交易意图。总而言之,成交量时钟在高频交易中的诸多应用表明基于事件的信息处理模式能够更有效地获取市场中的有用信息。

本文的研究目的是探索基于成交量时钟的信息处理模式在中高频CTA策略中的应用前景,本文余下的内容:针对国内期货市场流动性较好的34个期货品种,对比分析成交量时钟和时间时钟两种采样方法的统计特性,进一步研究两种采样方法对典型CTA日内策略绩效的影响。为表述简便,后文将时间时钟和成交量时钟分别简述為“time clock”和“volume clock”,将基于成交量时钟采样得到的K线序列和基于成交量时钟采样得到的K线序列分别简述为“time-bars”和“volume-bars”。

二、研究对象和方法

(一)研究对象

本文选取国内期货市场流动性较好的34个品种作为研究对象,所选取的期货品种覆盖国内的四个期货交易所:中国金融期货交易所、上海期货交易所、大连商品交易所、郑州商品交易所,具体的期货品种参见表1。本文研究的期货行情原始tick数据源来自中泰证券(上海)资产管理有限公司的行情收录数据库,本文研究中的数据采样和统计、日内策略绩效统计分析的时间区间为2015年5月4日至2020年 4月3日,测试的数据为各期货品种的主力连续合约,数据在换月节点做差值前复权处理以消除换月产生的跳空缺口。

(二)行情采样方法

针对原始tick数据,分别基于自然时间时钟(time clock)和成交量时钟(volume clock)两种方法对一分钟频率的数据进行采样。

1.time clock行情采样方法。基于time clock的采样方法是以固定的交易时间间隔做行情数据的采样统计,生成的K线序列time-bars。本文针对特定的交易品种,按各个期货品种的实盘交易时段,在每个交易日的交易时段内每间隔1分钟对行情进行一次采样统计,由1分钟采样时段内的tick数据统计数据得到该1分钟K线的开盘价、最高价、最低价、收盘价、成交量(K线内的累积成交量)、持仓量(K线结束时刻的持仓量)等信息。

2.volume clock行情采样方法。基于volume clock的行情采样方法则是以固定的成交量间隔做行情数据的采样统计,生成的K线序列volume-bars。本文为方便对比分析两种采样方法产生K线序列的统计特性,在生成volume-bars的过程中保证每个交易日的volume-bars数量和time-bars数量相同。volume clock以固定成交量作为“计时器”,其计算如式(1)所示:

(1)

其中,是期货品种j在交易日i内的总成交量,是交易日i內1分钟频率time-bars的总数量,计算得到的是期货品种j在交易日i内用volume clock采样的成交量计数基准。

三、time-clock和 volume-clock采样方法的统计分析

针对国内的34个期货品种,具体对比分析time clock和volume clock两种采样方法对行情采样结果统计特性的影响,本文主要分析成交量波动率、价格变动和真实波幅这三个指标。

(一)成交量波动率

本文用采样方法得到的time-bars和volume-bars的成交量分布的波动率来表征成交量分布的均匀性,其中单个期货品种的成交量波动率定义如下:

(2)

其中,和分别表示第i个交易volume分布的标准差和均值,N为交易日的总天数。

图1给出了不同品种在两种采样方法下的成交量波动率对比,可以看到,相比于传统的time clock方法,volume clock采样得到的成交量分布对于所有品种都有显著的下降,即volume clock采样方法使得成交量数据序列的分布更均匀。

(二)价格变动

本文用相邻两根K线收盘价变化的相对值来表征价格变动(Price Change,PC),具体如下式所示:

(3)

其中,表示时刻K线的收盘价,表示前一根K线的收盘价,本文主要考虑行情采样方法对中高频策略的影响,在计算相应指标时仅考虑日内波动不计入隔日跳空,故针对每个交易日的第一根K线,用开盘价代替,且针对每个交易日的价格变动指标用该交易日内PC的均值和标准差做z-sore标准化。

本文用超额峰度来衡量不同期货品种的价格变动PC的超额峰度(),的定义如式(4)所示。

(4)

由图2可知,相较于time-bars,volume-bars价格变动指标的超额峰度显著减小,表明volume采样方法可以降低价格变动分布的肥尾效应,价格变动的分布更接近正态分布,统计特性更好,有利于基于K线收盘价统计建模的策略。

(三)真实波幅

本文用真实波幅(True Range,TR)来衡量行情的波动,真实波幅用当前K线的最高、最低价,以及前一根K线的收盘价进行计算,具体如下所示:

(5)

其中,、分别代表时刻K线的最高价和最低价,为上一根K线的收盘价,针对每个交易日第一根K线的处理和PC指标的计算一致,用开盘价代替,即不计入隔日跳空对TR的影响,仅考虑采样方法对日内连续行情的影响。和PC指标类似,在每个交易日对指标TR做z-score标准化。

本文用真实波幅的超额峰度来衡量不同行情采样方法下日内行情波动的肥尾程度,定义如下:

(6)

针对time-bars和volume-bars,不同期货品种的对比如图3所示。从图中可以看到,volume clock采样方法下的显著低于time clock方法,表明volume采样方法得到的价格波动率分布的肥尾效应也显著降低,TR分布更接近正态分布。TR代表K线的长度,衡量了单根K线的平均波动幅度,TR异常离群值的减少可以提高策略对行情剧烈变动的适应性。

四、关于日内策略的实证检验和分析

上文的统计分析表明:针对1分钟频率的数据,volume clock采样得到的行情统计特性显著优于传统time clock方法,K线收盘价分布和真实波幅分布的肥尾效应都显著降低,采样数据上的异常离群值减少,分布相对更集中,交易信息的密度。下文进一步实证分析不同行情采样方法对典型日内策略的绩效影响,为保证研究的实用价值,在评价策略绩效的过程中应避免使用未来数据,故后文在应用volume clock进行行情采样的过程中,用历史交易日成交量的指数加权平均值作为当日总成交量的估计值,的计算如下:

(7)

其中,为第i日的成交量,为计算指数加权系数α的周期数,本文设置为5,即用5日指数加权平均的日成交量作为i+1日总成交量的估计值,行情采样的其他步骤和上文一致。

(一)日内策略的逻辑

本文采用简单的指数移动双均线构造日内策略,迭代计算指数移动双均线中的短期均线和长期均线,具体算法如(8)式和(9)式所示。

(8)

(9)

其中,和分别代表短期均线和长期均线的指数加权均值,和分别代表计算短期均线和长期均线的指数加权权重系数,和分别是快线和慢线对应的时间周期。

指数加移动均线日内策略的交易信号计算规则具体如下:

(1)且,若策略在t时刻的仓位为0,则触发买入信号,开多仓;若策略在t时刻为多头持仓,则保持仓位不变;若策略在t时刻为空头持仓,则触发平仓和买入信号,买平空仓并开多仓。

(2)且,若策略在t时刻的仓位为0,则触发卖出信号,开空仓;若策略在t时刻为空头持仓,则保持仓位不变;若策略在t时刻为多头持仓,则触发平仓和卖出信号,卖平多仓并开空仓。

(3)在每个交易日收盘前进行平仓,具体实现如下:在每个交易日倒数第二根K线检查策略持仓,若策略持仓不为0,则触发平仓操作,保证策略日内完成平仓不留隔夜仓位。

(4)策略每次的开仓手数和波动率的倒数成正比,这里用波动率来代表策略的风险,该方法可以保证回测计算得到的绩效在时间维度上的风险近似恒定且不同策略的波动率也大致相同,不同策略线性加权后的投资组合在时间维度上同样可以保证风险等权。另外,参考Faith(2007)[13]用交易品种的平均真实波幅来衡量交易风险的方法,本文亦采用指数移动平均真实波幅(Exponential Moving Average True Range,EMATR)来衡量波动率,EMATR的计算采用TR的5日指数加权均值来表示,每个交易日结束后迭代更新EMATR,在交易日中保持EMATR的值不變。每次开仓手数()的计算公式如下:

(10)

其中,为初始本金,设置为1000万,为分配给每个策略的风险额度比例,本文设置为2%,为所回测期货品种的合约乘数,相当于交易1手期货合约所代表的风险额度。

(二)策略回测设置和组合构建

1.回测参数设置。回测的时间周期为2015-05-04至2020-04-03,每个品种回测时的开平仓手续费参考各个交易所给出的实际手续费,且按照每笔交易的起止时间区分平金和平昨,暂时不考虑日内锁仓,若日内有平仓操作均按平仓处理,本文的研究不考虑算法交易的优化,每笔交易的成交价统一设置为触发信号时的中间价。

2.投资组合构建方法。为了减小单个策略评价绩效的随机性,本文将每个品种的回测绩效看作一个单独的子策略,用所有子策略的组合绩效来评价不同采样方法对日内策略总体绩效的影响,投资组合的构建从2016年1月开始,给最初的组合构建预留半年左右的历史数据,每隔5个交易日做一次策略权重的再分配。为了避免未来数据的窥探给组合绩效的统计带来前视偏差(Look-ahead bias),投资组合计算所需的收益率和协方差矩阵仅采用再分配时间点之前的历史数据进行计算,投资组合的求解是一个二次规划问题,具体如下:

(11)

其中,是投资组合分配给子策略i的资金权重,li是个子策略i的杠杆倍数,L是组合的总杠杆倍数,在本文中设置为3,即再投资组合权重再分配的过程中固定策略组合的总杠杆率为三倍且保持每个子策略的资金等权重分配。

(三)实证结果分析

本文用不同品种样本外的投资组合绩效来评价日内策略在time-bars和volume-bars中的绩效表现。参考Grinold和Kahn(2014)[14]提出的信息比率(Information Ratio,IR)构造方式,以time-bars为比较基准,构造衡量volume-bars相对于time-bars的超额收益信息比率来直观对比两种方法的优劣,其定义如下所示:

(12)

其中,和分别是volume-bars和time-bars对应的收益率序列,是残差收益率序列,和分别代表残差收益率期望和残差风险。不同策略参数下投资组合的交易频率用所有品种的日均交易次数来衡量,交易频率的定义如下:

(13)

其中,M表示投资组合中策略总个数,本文中对应所研究期货品种的总个数34,和分别代表第i个期货品种在volume-bars和time-bars数据下的总交易次数,是总交易天数。

上文所述的指数移动双均线策略的控制参数一共有两个:短期均线的时间周期,长期均线的时间周期。为了对比time-bars和volume-bars在不同交易频率下的绩效表现,本文共设置15组参数,不同参数下volume-bars和time-bars的绩效对比如表2所示。

图4给出了和IR的关系图,可以看到,在所测试的参数区间内,的值基本大于零,即volume-bars的组合绩效普遍优于time-bars,且随着的增加,IR的值接近线性增加。实证结果表明,针对中高频的日内策略,volume clock采样方法能够普遍提高策略的绩效表现,且交易频率越高绩效的提高就越显著。

上文中不同的策略参数导致了不同的交易频率,这近似等价于不同采样频率下的相同策略参数,即较高的交易频率对应较高的数据采样频率,较低的交易频率对应较低的数据采样频率。下文进一步对比不同数据采样周期的平均成交量波动率,这里的平均波动率由不同品种的加权平均计算得到,具体如下式:

(14)

其中,是品种的成交量波动率,M是交易品种总数,本文为34。

图5给出了不同数据采样周期(基于time clock)和平均成交量波动率的关系图,本文共对比分析了8种不同采样周期的数据,包含周期:1分钟、2分钟、3分钟、5分钟、10分钟、15分钟、30分钟、60分钟。从图中明显看到,随着采样频率的提高,平均成交量波动率随之增大,结合上文对图4的分析,可以得到如下结论:基于传统的time clock的成交量分布越不均匀,也就是成交量波动率越大时,volume clock对策略绩效的提升效果就越显著。

图6给出了参数4的投资组合累积净值表现对比作为示例,相比于time-bars,volume-bars的日内策略绩效在投资组合的测试区间显著改善,特别是2018年之后的绩效改善尤为显著,volume-bars在组合的整个时间区间上绩效表现较为一致,而time-bars的绩效表现在2018年之后出现明显的衰减。

五、结论

数据分析和管理是量化交易中至关重要的一个环节,本文借鉴高频交易基于事件的信息处理模式,研究了成交量时钟在中高频CTA中的应用。针对国内期货市场,本文分析对比了传统时间时钟和成交量时钟采样方法的统计特性,进一步研究了典型日内策略在不同采樣方法下的表现。统计特性的对比分析表明:相比于传统的时间时钟采样方法,成交量时钟采样方法采样得到的数据序列,成交量分布更均匀且肥尾效应减弱,日内的价差和波动率的异常离群值减少,统计特性显著改善。指数移动双均线日内策略的实证结果表明:相比于time-bars,volume-bars的绩效在不同交易频率下均有提高,且基于time clock的成交量波动率越大,volume clock采样方法对绩效的改善就越显著,绩效在整个测试时间区间上表现的一致性更好,volume clock采样方法适合用于交易频率较高的策略。

本文研究表明高频交易中基于事件的信息处理模式同样适用于中高频的日内CTA策略,从应对流动性缺乏的极端行情、避开交易拥堵、开发中高频策略这几个方面考虑,基于成交量时钟采样这类根据交易信息变化自适应调节的行情采样方法是具有实践应用价值的。本文仅针对国内期货市场研究了成交量时钟在简单日内策略上的应用,成交量采样方法在不同策略类型和不同市场类型上的应用还有待进一步深入研究。量化投资的技术工具在飞速发展,各种策略模式也在快速更新迭代,要想不沦为高频交易的“猎物”,传统的非高频策略也应该随着市场环境的演变而不断向前进化。

参考文献:

[1]杨博理,贾芳.量化炼金术:中低频量化交易策略研发[M].北京:机械工业出版社,2017.

[2]Lopez de Prado M.The 10 Reasons Most Machine Learning Funds Fail[J].Journal of Portfolio Management,2018,44 (6).

[3]Lopez de Prado M.Advances in Financial Machine Learning[M].New York:John Wiley & Sons,2018.

[4]Aldridge I.High-Frequency Trading,2e[M].New York:John Wiley & Sons,2013.

[5]Easely D,Lopez de Prado M,OHara M.The Volume Clock:Insights into the High Frequency Paradigm[J].Journal of Portfolio Management,2012,39(1).

[6]OHara M.High Frequency Market Microstructure[J].Journal of Financial Economics,2015,116(2).

[7]刘睿智,周勇.期货市场订单流动性层面的遛狗效应:基于交易量刻度的高频交易数据研究[J],中国管理科学,2016,4.

[8]Easely D,Lopez de Prado M,OHara M.The Microstructure of the Flash Crash:Flow Toxicity,Liquidity Crashes and the Probability of Informed Trading[J].Journal of Portfolio Management,2011,37(2).

[9]刘文文,张合金.测量高频交易领域中的指令流毒性:基于我国沪深300指数期货的实证研究[J].中国经济问题,2013,1.

[10]Easely D,Lopez de Prado M,OHara M.Bulk Volume Classification[R].Working paper,2012.

[11]Easely D,Lopez de Prado M,OHara M.Discerning Information from Data[J].Journal of Financial Economics,2016,120(2016).

[12]Panayides M A,Shohfi T D,Smith J D.Bulk Volume Classification and Information Detection[J].Journal of Banking and Finance,2019,103(2019).

[13]Faith C.Way of the Turtle:The Secret Methods that Turned Ordinary People into Legendary Trader[M].Singapore:McGraw-Hill,2007.

[14][美]格林诺德(Grinold R C),[美]卡恩(Kahn R N).主动投资组合管理:创造高收益并控制风险的量化投资方法(原书第2版)[M].李腾,杨柯敏,刘震,译.北京:机械工业出版社,2014.

作者单位:中泰证券股份有限公司博后工作站;清华大学五道口金融学院