注册
关闭
区块链智慧谷

区块链智慧谷

发布于 2019-08-23 阅读数 3629

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

派客国际投资(集团)有限公司    苏文杰

摘要:本文分析了大额BTC和USDT转账对瀑布行情的影响。在此过程中使用了近邻传播聚类算法对大额转账数据进行分类,并根据各类簇的具体情况给出了其对应的威胁水平。

短时间内,行情大幅上涨或下跌的现象被称作瀑布行情。例如,1分钟内行情下跌几百美元,或几分钟内上涨一千美元。瀑布行情的出现常常与大额转账有关。

本文收集了BTC和USDT的大额转账数据,使用了近邻传播聚类算法等方法对数据进行了相关分析,尝试以此角度来构建量化交易策略。

下面先简要介绍近邻传播聚类算法。

一、近邻传播聚类算法[1]-[4]

(一)聚类分析

聚类分析是研究物以类聚的一种数理统计方法。聚类分析来自于分类学,在古老分类学里主要依据是经验以及专业知识。随着科技的发展,人类认知的深入, 有时仅凭经验和专业知识己经不能满足分类精细化的要求,单纯依靠经验很难保证分类的准确性。因此研究者将数学应用到古老分类学中,建立了数值分类学。 随着多元统计分析知识的引入,聚类分析又逐渐从数值分类学内分离出来,成为一个重要的研究分支。

聚类分析本质是研究分类问题。根据归属类别的差异,可将聚类划分成硬聚类和软聚类,硬聚类是指各个对象被分到唯一的一个类簇中,软聚类则指各个对象以一定程度属于各个类簇,本文讨论的是硬聚类。

聚类分析作为一种无监督学习方法,是在没有相关背景知识的情况下,通过某种相似性度量,将数据集合并成不同的类簇,使得被分到同一类簇的元素相似程度较高,而不同类簇的元素相似程度较低,从而找到数据的分布结构以及数据属性间的关系。聚类分析一直是机器学习、数据挖掘、模式识别等领域的一个重要、活跃的研究方向。

(二)常见聚类算法的分类

1、基于层次的聚类算法

层次聚类算法又称作“系统聚类算法”,它有凝聚算法与分裂算法两类。凝聚算法初始时将每个样本点视为单独的一个类簇,接着合并相似度较高的样本点,符合终止条件时合并停止,确定最终划分;分裂算法初始时将所有对象看作一类,再逐步细分,达到终止条件时停止分裂。

考虑到大规模数据集的问题,有许多改进的层次聚类算法被提出,如CURE、 BIRCH、ROCK等。

2、基于密度的聚类算法

基于密度的聚类算法选取样本点的密度作为相似性度量准则,首先考察样本点在等范围区域内的分布密度,再合并邻近且密度较大的区域,最后得到若干个密度比较高的区域构成的类簇。

3、基于网格的聚类算法

基于网格的聚类算法首先将聚类对象分成若干个网格单元,再统计网格单元里的密度信息,最后将相邻的高密度网格单元合并为一类。

4、基于划分的聚类算法

划分型聚类算法首先将数据集划分为k类,每个划分表示一个聚类簇,然后运用迭代法更新划分,满足终止条件时停止迭代。目前在各领域广为使用的K-means、K-medoids聚类算法均是基于划分的聚类算法。

2007年,Brendan J.Frey和Delbert Dueck首次提出了属于划分型聚类方法的近邻传播(Affinity Propagation, AP)聚类算法

5、基于模型的聚类算法

基于模型的聚类算法为每一个类簇假定一个模型(如数据点在空间中的密度分布函数或者其它),寻找这些模型与数据集的最佳匹配。这类聚类算法不仅可以获得数据集的类簇划分,还可得到到各类簇相应的特征描述,通常有概率模型和神经网络模型两类。常用的有高斯混合模型(GMM)、自组织映射(SOM)算法。

(三)聚类算法的特点

1、常用聚类算法的特点

各聚类算法基于不同的聚类思想,其特点不尽相同:对于BIRCH算法、CURE算法等在内的基于层次的聚类算法,其实现虽然较为简单,但一旦某步聚类完成,将不可撤销,同时对大数据聚类时的时间耗费较大,需要进行预聚类或采样以减少时间耗费;基于密度的聚类能够有效地过滤“噪声”数据,可对含有复杂形状类簇的数据进行聚类,但其在计算区域密度时耗费时间较长,而且在界定稠密区和稀疏区上较为困难,对参数较为敏感,多数情况下应用于具有低维度任意形状的类簇聚类问题;基于网格的聚类算法,时间复杂度、精度均与量化的空间单元数目有关,如何确定合适网格的大小较为困难;基于模型的聚类算法一般需要针对某种具体数据集建立具体的模型,对模型参数取值较为敏感,算法的泛化能力较差,例如SOM算法就对初始权重、学习率以及邻域半径的选择较为敏感;基于划分的聚类算法如K-means、K-medoids等计算复杂度较低、收敛速度快,目前在工业生产等方面应用较为广泛,但存在以下问题:

(1)基于对象之间的距离进行聚类,倾向于发现大小相近的凸形簇,而在发现任意大小、形状的类簇上比较困难;

(2)一般需要指定聚类个数,不能完全再现数据本身的结构信息;

(3)需要指定初始聚类中心,算法最终的聚类结果对初始中心的选择较敏感,容易陷入局部最优;

(4)需要多次调整聚类个数、聚类初始中心,以获得较优的聚类结果,使得在处理大规模和复杂数据的聚类问题上,获得较好聚类结果的时间复杂度增大。

2、近邻传播聚类算法的特点

近邻传播聚类算法基于因子图理论构造聚类网络模型,将所有样本点看作潜在的聚类代表点,作为网络中的节点。通过节点间的信息传递,每个点不断累积自己作为代表点的证据,最终找到合适的代表点,得到最优的类代表集合使得网络相似度最大,完成聚类。

与传统聚类算法相比,近邻传播聚类算法无需指定初始聚类中心,有效地解决了常用聚类算法中初始聚类中心的选取问题,适用范围更广,同时因子图中信息传播技术的引入使得它的计算效率更高。

为了满足不同的应用需求,相应的基于它的改进和扩展型算法也被大量提出。

(四)近邻传播聚类算法简介

1、距离函数

在聚类分析中,空间相似性计算模型最为常用。而空间关系一般由空间距离来刻画。

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

除此之外,常用的还用马氏距离、闵可夫斯基距离、曼哈顿距离、切比雪夫距离。可根据实际情况选用距离函数。

2、相似度矩阵S的构造

近邻传播聚类算法是基于数据间的相似度矩阵S来聚类的。传统的近邻传播聚类算法使用负的欧式距离的平方作为度量相似度的方法,即

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

3、偏向参数P的设定

矩阵S的对角线上的元素s(k,k)称为偏向参数P,表示数据点k作为类代表点的合适程度。近邻传播聚类算法中将每个点的偏向参数P设为一样的值,通常选取所有对偶点相似度的中值,即初始时假设所有点成为类代表的可能程度相同。通常,P越大表示更多的点倾向于成为类代表点,故类簇的个数越多,反之类簇的个数越少。故该算法能够通过变换P值来获得合适的聚类数。由于消息传递过程由相似度s(i,k)和P值同时决定,所以聚类数目与P不是严格的线性关系。

4、吸引度矩阵R和归属度矩阵A

(1)吸引度矩阵R

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

(2)归属度矩阵A

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

5、决策矩阵

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图1

二、数据获取和统计

利用程序获取自北京时间2019-08-15 16:28至2019-08-21 11:34时的较大额的转账数据,随后,BTC行情迅速下跌约300美元,以当时的期货永续合约行情为例:

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图2

这里只分析流入和流出交易所的数据。为了便于比较,将BTC和USDT均换算为USD,由于在数据收集期间两者价值的波动不大,因此将它们换算为USD后能够大致了解资金流入和流出的情况。下表列出了数据的统计情况:

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

表1

为了方便观察,将上表绘图如下:

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图3

进一步地,我们还可以更细致地观察流入交易所的BTC的情况,将其绘图如下:

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图4

三、大额BTCUSDT转账的聚类分析

    流入交易所的大额BTC和USDT转账可能对行情产生重要的影响,下面将着重对其进行分析。

(一)数据分布情况

将流入交易所的较大的BTC和USDT转账绘图如下。其中蓝色点为BTC转账,红色点为USDT转账,横坐标为北京时间的时间戳,纵坐标为转账额度(以USD计):

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图5

但实际上我们只关心大额转账数据,将转账额度限定为300万美元及以上,筛选后可得

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图6

(二)对大额BTC和USDT转账进行聚类分析

单独的个别转账能够造成的影响可能较小,我们主要考虑多个转账的协同活动。多个转账可能是为了在期货和现货上统一部署,完成一系列操作并获利。

在使用近邻传播聚类算法时,假设以如下两点作为聚类的原则:

1、时间上相差不大于一天的多个转账可能是协同的,有较大概率是同一个庄家/大户想要影响行情,或不同的庄家/大户想要一同影响行情;

2、资金大致为同一个量级的多个转账可能是协同的,也有较大概率是同一个庄家/大户想要影响行情,或不同的庄家/大户想要一同影响行情。

同时满足以上两点的转账有较大概率会成为同一类簇。

为了满足以上两个聚类的原则,我们需要根据实际情况改进传统近邻传播聚类算法,即使用新定义的距离公式来计算相似度矩阵,由此可得聚类结果:

大额BTC和USDT转账对瀑布行情的影响——近邻传播聚类算法的应用

图7

由上图可知,大额BTC和USDT转账被分为了5类。下面将分别给出各类簇对行情的威胁程度,以“威胁水平”来表示。

四、大额BTCUSDT转账各类簇的威胁水平

我们借鉴了态势估计和基于属性分析的威胁评估思想来确定大额转账各类簇的威胁水平的评定。

(一)态势估计[5]-[7]

两伊战争时美海军指控系统(C2)偶有异常便造成灾难性的后果。尤其是USS STARK及USS VINCENNES两次事件中指挥官对目标威胁的误判,促使美军军事思想发生变革,提出态势估计的概念,目的是为了减少由于目标误判引起与友方或中立方的战损。目前对态势估计(situation assessment,SA )的认识尚不统一,比较权威的是美国国防部联合领导实验室数据融合小组(JDL)提出的数据融合处理模型,明确地将态势和威胁估计作为2级和3级融合处理的内容:将来自许多传感器和信息源的数据和信息加以联合、相关和组合以获得精确的位置估计和身份估计,以完成对战场态势和威胁及其重要程度进行实时、完整评价的处理过程。

属性分析是指对威胁评估过程中的属性进行分析以获得对属性的深入理解,并以此指导威胁评估过程。由于属性贯穿于威胁评估的全过程,因而包括:属性的来源及选择、属性的重要性度量、属性与威胁排序的关系以及属性的使用等。

下面以战场上一个简单的情况为例:

1、敌军步兵部队抵达我军阵地前方,此时有可能对我军发起进攻;

2、一段时间后,敌军炮兵部队抵达,步炮协同的情况使得其发起进攻的可能性大幅增加,威胁程度进一步增大;

3、一段时间后,敌军装甲部队抵达,因此极有可能马上发起进攻,具有很强的威胁性。

下面将借鉴以上的思路来提供一个判定大额转账各类簇威胁水平的方案。

(二)大额转账各类簇的威胁水平

分析转账数据,可知某些大额转账是从某交易所转至相同交易所/不同交易所,这时虽然交易所的总体流入情况不变,但这里依然将其视作可操作资金,纳入到威胁水平的判定中。可选用以下方案判定大额转账各类簇的威胁水平:

1、等级0(无威胁)

若无大额转账数据,或只有单个大额转账(此时不存在聚类)但其价值小于阈值V,则令其为等级0。

2、等级1(一般威胁水平):

(1)若只有单个大额转账(此时不存在聚类),且其价值大于阈值V,则令其为等级1;

(2)若某类簇只有BTC转账,或只有USDT转账时,BTC转入现货交易所可能是为了砸盘,转入期货交易所则不易判断其操作方向,而USDT转入现货交易所可能是为了拉盘,此时令该类簇为等级1。

3、等级2(较强威胁水平)

当某类簇中BTC和USDT转账均存在时,令该类簇为等级2。

此时庄家/大户可能在现货和期货上同时进行操作。例如在现货上先拉盘获取筹码,等待散户继续拉升后,砸盘再买回筹码,同时在期货上进行相应建仓以获利。

需要指出的是,获取筹码和砸盘之后再买回筹码的过程也可通过OTC交易完成,这样对行情不会产生影响,而这就不在我们的数据监控范围之中了。

4、等级3(极强威胁水平)

经过一段较平稳的行情后,若某类簇的最后一个数据的时间与北京时间相差在t1小时至t2小时之间(t1<t2),则令该类簇等级增加一级,这样便有可能达到等级3。

在这种情况下,庄家/大户可能正在期货上建仓,大量的挂单使得行情无法剧烈波动,经过t1小时后应该已经建仓完毕了,故威胁程度进一步增加。而若超出t2小时仍没有发生瀑布行情,则表明此类簇的形成可能只是巧合,故取消本次威胁水平增加的级别。

5、多个类簇下威胁水平的评定

上文阐述了针对单个类簇如何评定其威胁水平。

在多个类簇同时存在时,可统计各类簇的资金量大小,若资金量相差较大,则可选用资金量最大的类簇的威胁水平来代表整体;若资金量相差不大,为了谨慎起见,可取各类簇中威胁水平最大的等级来代表整体。

如图7所示,本轮收集的大额BTC和USDT转账被分为了5个类簇,其中某类簇的威胁水平已达到了等级3,故可用等级3来代表其整体的威胁水平。

五、结论与讨论

本文分析了大额BTC和USDT转账对瀑布行情的影响。在此过程中使用近邻传播聚类算法对转账数据进行了分类,并提供了一个判定各类簇威胁水平的方案。当其整体威胁水平达到等级2时,部分量化程序应进入保守模式,当威胁水平达到等级3时,部分量化程序可暂停运行。在出现瀑布行情后,可认为之前的大额转账的效果已被体现,可将数据全部清除,获取新的大额转账数据并进行分析,为下一次瀑布行情的到来做好准备。

尽管在处理多数聚类相关问题上,近邻传播聚类算法具有明显的优势,但其仍存在一些问题和局限性[2],例如:1、偏向参数的选择问题;2、震荡问题,当震荡发生后算法不能自动消除震荡并收敛;3、复杂的混合分布和非球状数据簇聚类问题,处理这类数据簇聚类问题时算法还有待进一步完善,等等。目前,人们已针对其提出了较多的改进和扩展型算法,这里就不再赘述了。除此之外,对于大额转账数据还有许多细节值得去挖掘,这有待今后对其进行更加深入的讨论。

参考文献

[1] 唐丹. 改进的近邻传播聚类算法及其应用研究. 南京理工大学硕士学位论文, 2016. 1-12

[2] 李萍. Affinity Propagation聚类算法的改进及其应用研究. 浙江大学硕士学位论文, 2017. 2-21

[3] 霍龙杰. Affinity Propagation聚类算法的研究及应用. 东南大学硕士学位论文, 2012. 20-24

[4] Brendan J.Frey, Delbert Dueck. Clustering by Passing Messages Between Data Points. Science, 2007, 315(5814): 973

[5] 韩占朋, 王玉惠, 程聪. 态势估计方法研究综述. 航空兵器, 2013, (1): 14

[6] 王猛, 章新华, 夏志军. 基于属性分析的威胁评估技术研究. 系统工程与电子技术, 2005, 27(5): 849

[7] 李永新. 基于属性识别理论的网络威胁评估方法. 计算机应用, 2009, 29(4): 956

  • 0
区块链智慧谷
区块链智慧谷

0 条评论