因子选币(二):逐笔成交数据研究

财富   2024-07-03 17:35   中国香港  

摘要
逐笔成交数据是高频数据重要组成部分。逐笔成交数据描述市场每一笔成交的详细信息,数据量大,信息丰富。基于逐笔成交数据,我们可以描述市场成交的详细情况及各类交易行为,并构造兼具逻辑和截面选币能力的因子。报告使用逐笔成交数据因子构造组合,回测期选取2021年至2024年。24小时的交易频率上取得年化收益40.75%,夏普比率3.68,最大回撤5.8%,换手率年化双边391倍;72小时的交易频率上,取得年化收益40.18%,夏普比率3.49,最大回撤5.72%,换手率年化双边130倍。

前言

逐笔成交是日内高频数据三大基石(逐笔成交、逐笔委托、盘口快照)之一。作为成交类所有数据的根源,逐笔成交是K线的基础数据,因此位于所有基于K线的量价分析的最底层,其重要性和信息量不言而喻。

传统市场的量价策略大量使用了逐笔成交数据,在逐笔成交的基础上,详细的描绘交易行为和市场特征,成为了alpha的稳定来源。我们获取了binance自2017年以来的现货逐笔成交数据,并构造了规模分布资金流、规模排序资金流、资金流统计量、动量回归、噪音资金流回归五大类因子,基于因子的检验结果,我们构造了多空组合,并在binance的合约市场进行了回测检验。

本篇报告后续由以下几部分构成:首先介绍逐笔成交数据的数据结构,对成交进行简单的分类;第二,基于逐笔成交数据,构造因子,并讨论因子的效果和逻辑;第三,基于因子构造多空组合进行检验;最后总结。

1 逐笔成交数据

1.1 逐笔成交数据介绍

在传统的量价分析中,我们常使用基于K线的分析工具。根据不同时间级别的开高低收量额,构造出一系列指标用于描述当前市场的状态,预测未来收益。

逐笔成交数据为描述市场成交最细颗粒度的数据。实际上,K线正是基于市场中每一笔成交绘制得到的。基于逐笔成交数据构造的量价因子往往能够长期稳定地捕捉到有预测能力的信息。一个典型的逐笔成交数据结构如下:

逐笔成交数据一般包含以下几个字段:

成交ID、成交价格、成交量、成交时间、买方被动成交

其中比较特殊的字段需要额外解释。买方被动成交是一个布尔型字段,代表主动买入或主动卖出(即主买或主卖),指示本笔成交是由买方主动成交还是卖方主动成交通常,主动成交意味着成交的意愿更加强烈。与我们此前报告《Crypto高频初探:数据结构和因子构造》介绍的聚合成交有所不同,逐笔成交未经聚合,同一单位时间内同方向的成交亦被详细地展示。

另外,逐笔成交描述的是某一交易者A与另一交易者B在某一时刻某一个价格上的成交。故若交易者A一次性吃掉了交易者B的多个挂单委托,在逐笔成交中会留下多个记录。而逐笔成交数据本身是匿名的,不包含成交双方的任何信息,因此,我们难以从数据中直接看出是否有几笔成交来自同一个委托,也无法捕捉到“大委托”和“小委托”的信息。理论上,大成交一定来自大委托,但是小成交未必来自小委托。

逐笔成交数据量大。我们获取了binance自2017年以来(截至2024年4月)的所有USDT现货交易对(不含稳定币)的逐笔成交数据,经整理后总数据量约在1.7T左右。但不同交易对之间因交易活跃度的不同,数据量差异较大。以BTCUSDT为例,2017年以来的数据约在210G左右,而在binance上成交较不活跃的TRXUSDT,自2018年以来的数据仅16.2G。

1.2 逐笔成交的分类

根据逐笔成交的方向,可以将逐笔成交分为两类,即主动买入成交和主动卖出成交。由于我们使用的数据来自binance,因此2020年这一轮牛市成交量增长的极其明显。不过整体看,全市场成交额仍是在牛市高而熊市低。

此外,除了早期数据存在一定的抖动外,整体看,主动买入和主动卖出额基本持平。若观察几个交易对单独的数据亦能发现,主买主卖金额与牛熊周期并不存在明显的相关性。这是因为逐笔成交数据过于详细,通常从如此高频的数据上,难以观测到大的行情趋势。

根据单笔成交的金额,我们可以将成交分为划分为几类:超大单(单笔成交额大于10万美元)、大单(单笔成交额大于1万美元,小于10万美元)、中单(单笔成交额大于1000美元,小于1万美元)、小单(单笔成交额大于100美元,小于1000美元)、微型单(单笔成交额小于100美元,大于10美元)以及纳米单(单笔成交额小于10美元)。

从分布看,单笔成交额在100美元到1万美元的成交占了市场的绝大多数。其实随着市场的扩容,单笔成交额在10万美元以上的占比也在增长。纳米单整体占比较低,即使截至最近,单日全交易所纳米单成交额也尽在1亿美元的数量级。

币圈市场的成交额分布极不均匀,大量的交易都集中在较大的交易对内。而大交易对和小交易对的成交结构呈现明显的不同。我们将前述的所有交易对简单的分为BIG2和NO BIG2两部分,前者为BTCUSDT和ETHUSDT,后者为除这两者之外的其他交易对进行分别统计。

如图56所示,BIG21万美元成交额占比明显高于NO BIG2这一现象不难理解,BTCETH毕竟成交额较大,能够承载较大的资金量。但一个异常之处在于,10万美元以上的超大单成交额占比,NO BIG2明显高于BIG2我们猜测大量10万美元以上的成交可能包含了大量的信息交易。而在BIG2中,由于参与者过多,相对更市场化,信息交易较少。因此,若在BIG2中希望完成10万美元以上的交易,往往不会以单笔的形式呈现,大多数交易者将进行拆单。

2 逐笔成交因子构造

逐笔成交因子相对K线提供了更详细的交易信息,最具信息量的就是主动买入或主动卖出这一字段。基于此,我们构造一些因子进行检验。检验期统一为2021年1月1日至2024年4月30日。

2.1 规模分布资金流因子

主动买入占比即某一段时间内,计算符合某类特征的成交的主动买入成交总额,减去主动卖出成交总额,除以这一类成交全部的总额。

最直观的,我们可以基于前文定义的单笔成交规模,将交易划分为不同的规模层级,并计算各个层级内的净买入额和净买入成交占比。实际上,这就是所谓的“主力资金流”、“散户资金流”等指标。

我们计算了资金流入比例、资金流入金额在各个单笔成交规模上的选币能力,为对齐因子和预测目标的频率,我们在计算ICICIR的时候对因子也进行了同等频率的均值处理。其中,SPOT代表现货universeMARGIN代表合约universe由于超大单的覆盖度较低,我们未将其纳入计算。

资金流因子在较短的预测周期中表现均比较一般,在更长的预测周期中表现更佳。整体看,大单与未来收益常呈正相关,而纳米单常呈负相关,这与常理看的市场逻辑非常一致。但在预测时间周期较久(720小时)的情况下,大单流入比例则与未来收益呈现非常强的负相关。

部分资金流因子在截面上具备不错的选币能力。我们使用因子在截面上的排序,选取前10%作为多头,后10%作为空头,构造截面选币因子。可以发现,资金流入金额整体表现比资金流入比例更好。短周期、现货universe中有效因子较多,同样的因子在合约universe中出现一定的衰减。

由于后续构造策略时需要使用合约universe,且考虑到费率和滑点,因子多空换手率不宜过高。我们统计了上述因子的双边年化换手率。假设存在单边千一的手续费+滑点,那么年化2500倍换手带来的将是250%的年化收益损失,这将是不可接受的。基于单边千一的假设,我们认为年化100-200倍换手,对年化收益造成10%-20%的损失,是可以接受的。

需要注意的是,资金流因子是一类“零和因子”。即每一个截面上,超大单、大单、中单、小单、微型单、纳米单净流入的总和应为0,这是因为每一笔成交对于买卖双方来说是等额的,即买方的流入必然等于卖方的流出。因此不存在所有成交规模集体净流入的情况。

观察因子之间的相关性,我们也可以发现,资金流因子之间相关性普遍较低,仅有微型单流入比例和微型单流入金额之间相关性达到76%,其余因子间相关性均在70%以下。适合用于因子复合。

2.2 规模排序资金流因子

除了使用成交额的绝对数值筛选交易外,还可以直接将某一时间段内的成交按照排序和百分位进行区分,进行规模的统计。其原因很简单,不同的币种之间存在着参与者资金体量的数量级差异,1万美元的单笔成交额对BTCUSDT来说不算什么,但对于小币种来说几乎是天文数字。

我们计算每个小时内成交额排名前100、200、500和后100、200、500的交易的主动买入和卖出成交额之差,并除以各自主买额和主卖额之和进行调整,作为标准化的资金流入和流出,并在与前文一样的观察周期和预测周期上测试效果。

成交额排名类因子具有较好的选币效果。成交额排名在前100、200、500的交易整体方向确实与未来的收益正相关,而排在后100、200、500的交易与未来收益负相关。在72小时的预测周期上约有2-3%的rank IC,0.2-0.3的rank ICIR,且在合约universe上衰减不明显,尾部交易甚至在合约universe上更为有效。

规模排名因子多空组合也存在一定的选币能力。在预测周期为72小时的频率上,不论TOP还是BOT,组合在合约universe上的盈利能力甚至远好于现货universe整体而言,BOT因子有效性更好,且BOT因子之间相关性也较低,具有更高的因子组合潜力。

2.3 资金流统计量因子

直接使用过去一段时间的资金流均值对未来收益进行预测较为粗糙。我们可以对过去一段时间的资金流构造更多的统计量以更好的描述其特征。

我们针对过去一段时间、某一成交规模的资金流,都构造以下因子:

  • 资金流波动:主动买入比例、主动买入额、主动卖出比例、主动卖出额、净买入比例、净买入额标准差;

  • 资金流振幅:主动买入比例、主动买入额、主动卖出比例、主动卖出额、净买入比例、净买入额极差;

  • 买卖力量差:主动买入成交额均值-主动卖出成交额均值;

  • 买卖波动差:主动买入成交额标准差-主动卖出成交额标准差;


为保证不同币种之间的可比性,将上述因子分别进行调整,资金流波动、振幅因子使用均值调整,力量差使用主买+主卖均值调整,波动差使用主买标准差+主卖标准差调整。

为防止主动买入比例和卖出比例完全负相关,我们在计算比例类因子的时候,分母统一设为该时间段的全部成交额。因子观察周期同样为6、24、72、120、360、720小时,预测周期与观察周期保持一致。

资金流统计量因子在截面上显示出比较优秀的选币能力。与相关性的所体现出的逻辑类似,振幅、波动类因子在主卖和主买的区分中,并未体现出明显区别,这一结论在各个成交分类上都成立。不论在合约universe还是现货universe上,主买波动与主卖波动、主买比例波动与主卖比例波动、主买振幅与主卖振幅、主买比例振幅与主卖比例振幅这四对因子的rank IC表现都相当接近。在因子合成的时候,通常这样的因子可只取一个,或等权加和处理。

大单振幅、波动类因子体现出在合约universe上的表现优于现货universe。如大单主买比例波动和主卖比例波动,观察期为6的因子,在72小时的频率上,在合约universe中取得10.37%和10.03%的rank IC,在现货universe上则略低,为9.55%和9.30%。若延长观察期,得到的结论也类似。

受限于篇幅,我们仅展示了合约universerank ICIR大单波动、振幅类因子rank IC较高,但rank ICIR较低,稳定性较差。而买卖波动差因子相比较之下更为稳定,且rank IC水平相对也较高。但随着观察期的拉长,因子的rank ICrank ICIR均有一定程度的衰减。

由于因子数量多,相关系数矩阵过大,我们在图22中仅展示了使用大单数据构造的因子rank IC序列的相关性结果,其余成交分类的因子在大类内部相关性与大单类内部相似。可以看出,短观察期(624)与长观察期(720)的相关系数几乎接近0在同一个观察期内,波动、振幅类因子在买卖之间相关性非常高,说明这类因子区分买卖的方向意义不大。此外,波动与振幅、比例波动与比例振幅的相关性也偏高,也在70%以上,这两类因子本质上均意在描述买卖成交的波动性,因此经济含义上也存在一定的互相替代。

由于主买和主卖、波动和振幅、相关性较高,且随着观察期的拉长,因子效果发生衰减,我们仅展示各个成交分类上观察期为624上,主买比例波动、主买波动和买卖波动差在合约universe上的多空效果。

从因子多空组合表现看,有较多资金流因子的多空效果较好。多空组合SP在2以上的因子数量较多,即使控制换手率在300倍以内,仍有较多表现优异的因子留存。但从多空组合表现的相关系数矩阵看,大单因子与其他因子的多空组合相关性较低,但中单、小单、微型单、纳米单多空组合的相关性均较高,绝对值水平大多数在60%以上。

2.4 对动量回归

当使用资金流入流出数据时,还需考虑当前的行情,防止动量对选币因子产生过大的影响。因此我们使用过去一段时间币种自身的收益率对资金流进行回归,得到纯净资金流入因子。收益率的观察窗口选取72H。回归后部分因子相比原因子发生了很大的变化。观察因子对比,可以看出资金流入比例中大单流入因子的IC变化最明显。

经过动量回归后,表现良好的因子相比原因子更多。且更好的是,因子多空组合的换手率明显下降,FREQ=6的因子换手率从2000多倍下降到了400多倍,这一部分原因是因为我们引入了72H的滚动窗口,此外,回归掉动量的影响也有助于从序列中提取更稳定的信息。与此同时,因子的多空收益却没有明显的损失,这对后续的因子组合有非常大的帮助。

2.5 对噪音资金流回归

不同成交规模的资金流之间也存在着一定的相关性。使用回归将其相关性剥离,亦可得到信息更纯粹的因子。

我们将上文定义的纳米单,即单笔成交额小于10U的单定义为噪音交易,并使用回归的方法在截面上剥离噪音交易的信息。我们计算各个交易规模的净流入比例和金额,并将其对纳米单主动买入金额和纳米单主动卖出金额同时回归。这是因为对噪音交易来说,不论净流入还是净流出,均不存在含义,我们希望将这一部分信息从其他成交中去掉。

我们发现,在较短和较长的预测周期上,剥离噪音交易对各个资金流因子选币效果均有一定的改进。但是在中间的预测周期上,改进并不明显,或是有一定的下降。

在因子多空组合效果测试中,我们发现,有效的因子减少了,仅微型单净流入比例因子还存在比较不错的选币能力,大部分因子的选币能力都有一定的下降。但是,因子间的相关性明显下降。原因子中相关性最高的微型单净流入比例和微型单净流入金额两个因子,在剥离掉噪音交易后,相关性从70%+下降到50%+。

我们不能简单的从单因子表现的好坏来评判因子改进的效果。部分因子效果虽然下降,但是如果能在最终的因子组合中贡献负相关性,这个因子就仍有保存的价值。

3 因子合成与策略构造

3.1 因子间相关性

基于前文统计,我们从各个因子大类中筛选出数个表现较好的因子进行后续的组合测试。具体的因子选择如下:

  • 规模分布因子:微型单净流入比例、大单净流入比例;

  • 规模排序因子:TOP200净流入、BOT200净流入;

  • 资金流统计量:观察期为24的小单买卖波动差、观察期为24的中单主买比例波动;

  • 动量回归因子:纳米单动量回归因子;

  • 噪音资金流回归因子:微型单去噪音流入比例;

我们观察在24和72这两个频率上的因子效果。上述因子在这两个频率上的相关性均不高。除了买卖波动差和主买比例波动因子相关性较高,在24和72小时频率上相关性约为76%和72%以外,其余因子相关性均在70%以下。对因子组合均能贡献收益。

从多空组合的表现看,将频率从24小时下降到72小时,降低换手的同时,未必会使因子的收益下降。对部分因子,降低换手其年化收益反而上升,对SP来说结论也类似。因此不同的逐笔成交因子应各有其适用的频率,具体应根据使用场景和因子特性分别决定。

因子在调整方向后,对应到24H72H的交易频率,净值走势如图4344所示。可以看出基于高频数据的因子大部分都较为稳定,且在牛市和熊市的行情中都有效。实际上这也是高频数据因子的特性,其收益能力未必很强,但稳定性较好,且与传统量价因子的相关性较低。

将上述多空组合合成后,可以得到综合多空组合。24小时和72小时的交易频率上,因子都取得较好的效果。由于使用的因子相同,不论在什么频率上交易,净值曲线的走势都比较接近,说明因子逻辑相对稳健,受交易频率的影响不大。但降低频率对换手的下降是明显的,对费后收益将产生明显的贡献。

在2022年7月至2023年年初,组合录得最大回撤约5.8%。这段时间亦是2022年5-6月大回撤之后,行情不断震荡寻底的过程。由于组合使用的因子均是量价因子,在行情冷淡,成交极少的情况下,因子的效果会发生明显的下降。

当然我们需要指出,高频因子虽然表现稳定,但在样本外亦有失效乃至逻辑逆转的可能。需经仔细研判因子的逻辑后才可用于实盘交易。

4 总结

我们基于逐笔成交数据,在截面上构造了规模分布资金流、规模排序资金流、资金流统计量、动量回归、噪音资金流回归五大类因子,并基于这些因子的检验结果,筛选了一部分表现优秀且相关性较低的因子,构造了多空组合。多空组合在2021年以来的合约universe上表现优秀,在24小时的交易频率上取得年化收益40.75%,夏普比率3.68,最大回撤5.8%,换手率年化双边391倍;在72小时的交易频率上,取得年化收益40.18%,夏普比率3.49,最大回撤5.72%,换手率年化双边130倍。




历史研究精选:
因子选币(一):深度学习选币框架
Crypto高频量价(三):AI看图——卷积神经网络
Crypto高频量价(二):基于RNN的量价因子挖掘
Crypto高频初探:数据结构与因子构造
UTxO:拆解链上筹码结构
趋势何时终结:转账费率的极端值检测
BTC的链上供需关系:生产销毁天数
刻画贪婪与恐惧:CTC Fear & Greed Index
CDD:拆解链上转账结构

公众号后台发送 trades 获取报告完整pdf



重要声明
本材料并未考虑客户的特定投资标的、财务状况及需求,并不意在构成投资推荐、报价、诱导购买或销售任何投资标的及投资策略。
投资有风险,包括本金损失的风险。过往表现并不保证未来收益。所有投资建议均需与投资者的投资目标、投资期限、及风险承受能力结合考虑。并非所有投资建议都适合所有投资者的最佳利益。资产的配置、分散化及再平衡并不能保证获利或降低下行风险。投资具有不同程度的风险,包括资产价值可能因公司或市场特定事件以及经济、政治或社会事件、监管变化、利率变化、信用风险、经济变化而波动以及不利的政治或金融因素的影响。
另类投资存在投机性,且涉及高风险。另类投资仅适用于合格投资者。衍生品、对冲基金、私募股权基金等另类投资可能带来更高的回报潜力,但也存在更大的损失潜力。经济状况或其他情况的变化可能会对投资产生不利影响。在参与另类投资之前,应考虑投资者整体财务状况、投资规模、流动性需求以及风险承受能力。
CTC Institute 不保证本材料的可靠性、及时性、准确性及完整性。任何投资决策均需基于审慎论证,CTC Institute不对基于本材料做出的投资决策承担任何责任。CTC Institute及附属机构及顾问不提供任何法律、税务、会计建议。如有需求请咨询专业机构。


人工智能与量化交易算法知识库
黄含驰的人工智能、优化与量化交易算法知识库,干货满满,不容错过!
 最新文章