若何准确展望加密钱币价钱?这篇内容了解下
HashKey Capital:详解加密企业主流化方式和影响
2021年是主流机构走向加密资产,和加密资产走向主流的相互融合的一年。
币圈深度介入者和holder获得更高收益, 而不是trader,这或许是我们的错觉,由于加密钱币资产自然适合种套利高频机械人买卖。
虽然像我们这些有点信仰又不是老炮的散户韭菜,对买卖手艺指标有点不屑。但面临币价颠簸,我们也不那么佛系,价钱涨跌或多或少扰乱我们的情绪。
而对于币价的展望或感受,仅凭社交情绪。本文从大量的手艺,买卖,社交情绪指标通过种种深度学习算法得出的结论是,综合手艺,买卖,社交情绪指标的深度学习效果对展望币价比单一指标要好。而Github和Reddit的基于手艺开发人员的情绪指标更具有参考价值。
虽然这不一定准确更不是真理,究竟深度学习算法和数据都可能有问题。然而这足足30来页的论文足已令我们恐惧,现在能用到云云高深的算法和有云云开放厚实的数据对加密资产买卖展望,我们散户韭菜如之奈何?
也许只有做好小我私家作业。我们为什么要投资这个项目?我们若何能为项目孝敬?我若何才气不在乎币价?
摘要
由于加密钱币市场的高颠簸性和新机制的存在,展望加密钱币的价钱是一项众所周知的艰难义务。在这项事情中,我们重点研究了2017-2020年时代两种主要加密钱币和比特币。通过对照四种差别的深度学习算法(多层感知器(MLP)、卷积神经网络(CNN)、长短期影象(LSTM)神经网络和注重长短期影象(ALSTM))和三类特征,对价钱颠簸的可展望性举行了综合剖析。稀奇是,我们思量将手艺指标(如开盘价和收盘价)、买卖指标(如移动平均线)和社交指标(如用户情绪)作为分类算法的输入。我们对照了一个仅由手艺指标组成的受限模子和一个包罗手艺、买卖和社交媒体指标的非受限模子。效果注释,不受限制的模子优于受限制的模子,即包罗买卖和社交媒体指标,以及经典的手艺变量,使得所有算法的展望精度都有显著提高。
1 简介
在已往十年中,全球市场见证了加密钱币买卖的兴起和指数增进,全球逐日市值达数千亿美元(停止2021年1月到达约1万亿美元)。
最近的考察显示,只管存在价钱颠簸和市场操作相关的风险,但机构投资者对新加密资产的需求和兴趣仍在飙升,缘故原由是这些资产的新特征以及当前金融风暴中潜在的价值上升。
繁荣和萧条周期往往由网络效应和更普遍的市场接纳引起,使价钱难以高精度展望。关于这一问题有大量文献,并提出了许多加密钱币价钱展望的定量方式[13,15–18]。加密钱币的颠簸性、自相关和多重标度效应的快速颠簸也获得了普遍的研究[22],同时也研究了它们对初始硬币刊行(ICO)的影响[10,11]。
文献中逐渐泛起的一个主要思量因素是加密钱币买卖的“社会”的相关性。区块链平台的底层代码在Github上以开源方式开发,加密生态系统的最新添加内容在Reddit或Telegram的专业频道上讨论,Twitter提供了一个经常就最新生长举行猛烈争执的平台。更准确地说,已经证实,情绪指数可以用来展望价钱泡沫[5],而且从Reddit专题讨论中提取的情绪与价钱相关[28]。
开源开发在塑造加密钱币的乐成和价值方面也扮演着主要的角色[21,25,27]。稀奇是,Bartolucci et al.[2]之前的一项事情(这项事情是其扩展)注释,从开发人员对Github的谈论中提取的情绪时间序列与加密钱币的回报之间存在格兰杰因果关系。对于比特币和这两种主要的加密钱币,还显示了若何将开发者的情绪时间序列纳入展望算法中,从而大大提高展望的准确性。
在本文中,我们使用深度学习方式进一步扩展了以前对价钱可展望性的研究,并将重点放在按市值最高的两种主要加密钱币,比特币和。
我们通过将准时价钱展望映射到一个分类问题来展望价钱更改:我们的目的是一个具有两个怪异种别的二元变量,向上和向下的更改,示意价钱上涨或下跌。下面我们将对照四种深度学习算法的性能和效果:多层感知器(MLP)、多变量注重长短时影象完全卷积网络(MALSTMFCN)、卷积神经网络(CNN)和长短时影象神经网络(LSTM)。
我们将使用以下种别的(财政和社会)指标作为输入:(i)手艺指标,如开盘和收盘价钱或成交量,(ii)买卖指标,如凭据价钱盘算的动量和移动平均线,(iii)社交媒体指标,即从Github和Reddit谈论中提取的情绪要素。
对于每一个深度学习算法,我们思量一个按小时和按天天频率的受限和非受限数据模子。受限模子由比特币和的手艺变量数据组成。在无限制模子中,我们包罗了Github和Reddit的社交媒体指标和手艺、买卖变量。
在所有四种深度学习算法中,我们都能证实无限制模子优于限制模子。在每小时数据频率下,将买卖和社交媒体指标与经典手艺指标结合起来,能提高比特币和价钱展望的准确性,从限制模式的51-55%提高到非限制模式的67-84%。对于逐日频率分辨率,在的情形下,使用限制模子实现最正确的分类。相反,对于比特币而言,仅包罗社交媒体指标的无限制模式实现了最高的性能。
在下面的部门中,我们将详细讨论实现的算法和用于评估模子性能的指导验证手艺。
本文的结构如下。在第2节中,我们详细形貌了使用的数据和指标。在第三节中,我们讨论了实验的方式。在第4节中,我们先容了研究效果及其意义,在第5节中,我们讨论了本研究的局限性。最后,在第6节中,我们总结了我们的发现并概述了未来的生长方向。
2 数据集:手艺和社交媒体指标
本节讨论数据集和用于实验的三类指标。
2.1 手艺指标
我们以每小时和天天的频率对比特币和价钱时间序列举行了剖析。我们从加密数据下载web服务中提取的所有可用手艺变量,稀奇是来自Bitfinex.com网站买卖数据服务。我们思量了已往4年,从2017/01/01到2021/01/01,共35,638个小时的考察值。
在我们的剖析中,我们将手艺指标分为两大类:纯手艺指标和买卖指标。手艺指标指的是开盘价和收盘价等“直接”的市场数据。买卖指标是指移动平均线等衍生指标。
手艺指标如下:
收盘价:加密钱币在买卖时代的最后买卖价钱。
开盘价:加密钱币在买卖期开始时首次买卖的价钱。
最低:加密钱币在一个买卖周期内买卖的最低价钱。
最高:加密钱币在买卖时代买卖的最高价钱。
买卖量:完成的加密钱币买卖数目。
表1和表2显示了手艺指标的汇总统计数字。在图1和图2中,我们还显示了手艺指标的历史时间序列图。
凭据对这些手艺指标,可以盘算买卖指标,如移动平均值。更准确地说,我们使用StockStats Python库来天生它们。
我们使用了36个差别的买卖指标,如表4所示。滞后值示意以前的值(t?1,t?n)用作输入。窗口巨细示意用于在时间t评估指标的先前值的数目,例如,为了盘算时间 t 的ADXRt,我们使用ADXt?1,…,ADXRt?10,十个先前值。
我们在这里提供五个主要买卖指标的界说。
简朴移动平均(SMA):加密钱币在某一时期(称为时间段)收盘价的算术平均值。
加权移动平均(WMA):移动平均盘算,为最新的价钱数据赋予更高的权重。
相对强度指数(RSI):是权衡近期价钱转变幅度的动量指标。它通常用于评估股票或其他资产是否超买或超卖。
价钱转变率(ROC):权衡当前价钱与一定时期前价钱之间的百分比转变。
动量:是价钱的加速率,即价钱转变的速率。这一措施对于确定趋势稀奇有用。
平衡成交量(OBV):是基于资产买卖量的手艺动量指标,用于展望股价转变。
表3和表5显示了所思量的剖析时代的买卖指标统计数字。在图3和图4中,我们可以在历史时间序列图中看到相同的买卖指标。下一节将使用手艺和买卖指标来建立价钱分类模子。
2.2 社交媒体指标
本节形貌了社交媒体指标的时间序列是若何划分从和比特币开发者对Github的谈论和用户对Reddit的谈论构建的。稀奇是,对于Reddit,我们思量了表6中列出的四个子Reddit通道。思量的时间段为2017年1月至2021年1月。
从Github for Ethereum中提取的开发人员注释和从Reddit r/Ethereum中提取的用户注释的示例可以在表7和表8中看到。如本例所述,与谈论相关的情绪的定量器量是使用最先进的文本剖析工具盘算的(下面将进一步详述)。为每条谈论盘算的这些社交媒体指标是情绪,如爱(L)、快乐(J)、气忿(A)、悲痛(S)、VAD(效价(Val)、支配(Dom)、叫醒(Ar))和情绪(Sent)。
2.3 通过深度学习评估社交媒体指标
我们使用深度、预训练的神经网络从BERT模子[8]中提取社交媒体指标,称为双向编码器示意。BERT和其他转换器编码器结构已经乐成地运行在自然语言处置(NLP)中的种种义务,代表了自然语言处置中常用的递归神经网络(RNN)的生长。他们盘算适合在深度学习模子中使用的自然语言的向量空间示意。BERT系列模子使用Transformer编码器系统结构在所有符号前后的完整上下文中处置输入文本的每个符号,因此得名:Transformers的双向编码器示意。BERT模子通常是在一个大的文本语料库上举行预训练,然后针对特定的义务举行微调。这些模子通过使用一个深度的、预先训练的神经网络为自然语言提供了麋集的向量示意,较换器结构如图5所示。
转换器基于注重力机制,RNN单元将输入编码到一个隐藏向量ht,直到时间戳t。后者随后将被通报到下一个时间戳(或者在序列到序列模子的情形下被通报到转换器)。通过使用注重力机制,人们不再试图将完整的源语句编码成一个牢固长度的向量。相反,在输出天生的每个步骤中,允许解码器处置源语句的差别部门。主要的是,我们让模子凭据输入的句子以及到目前为止它发生了什么来学习要注重什么。
Transformer系统结构允许建立在异常大的数据集上训练的NLP模子,正如我们在这项事情中所做的那样。由于预先训练好的语言模子可以在特定的数据集上举行微调,而无需重新训练整个网络,因此在大数据集上训练这样的模子是可行的。
通过普遍的预训练模子学习的权重,可以在以后的特界说务中重用,只需凭据特定的数据集调整权重即可。这将允许我们通过捕捉特定数据集的较低条理的庞大性,行使预先训练的语言模子通过更精致的权重调整所学到的知识。
我们在Transformer包中使用Tensorflow和Keras Python库来行使这些预训练神经网络的功效。稀奇地,我们使用了BERT基案例预训练模子。图6显示了用于训练用于提取社交媒体指标的三个NN分类器的系统结构设计。此图显示了用于训练最终模子的三个gold数据集,即Github、Stack Overflow和Reddit。
稀奇是,我们使用了一个情绪标签数据集,该数据集由从Stackoverflow用户谈论中挖掘出来的4,423条帖子组成,用于训练Github的情绪模子:两个平台上的谈论都是使用软件开发人员和工程师的手艺术语编写的。我们还使用了来自Github的4,200个句子的情绪符号数据集[23]。最后,我们使用了一个情绪标签数据集,其中包罗跨越33K个标签Reddit用户的谈论.
表9、10和11显示了情绪和情绪分类在两个差别数据集Github和Reddit上的性能。
2.3.1 Github上的社交媒体指标
比特币和项目都是开源的,因此代码和孝敬者之间的所有交互都可以在GitHub上公然获得[26]。努力的孝敬者不断地打开、谈论和关闭所谓的“问题/issue”。问题是开发历程的一个元素,它包罗有关发现的bug的信息、关于代码中要实现的新功效的建议、新特征或正在开发的新功效。它是跟踪所有开发历程阶段的一种优雅而有用的方式,纵然在涉及大量远程开发人员的庞大和大型项目中也是云云。一个问题可以被“谈论”,这意味着开发人员可以围绕它睁开子讨论。他们通常会对某一特定问题添加谈论,以强调正在接纳的行动或就可能的解决方案提出建议。公布在GitHub上的每个谈论都有时间戳;因此,可以获得准确的时间和日期,并为本研究中思量的每个影响器量天生一个时间序列。
对于情绪剖析,我们使用2.3中注释的BERT分类器,该分类器使用由Ortu等人[24]开发并由Murgia等人[23]扩展的公共Github情绪数据集举行训练。这个数据集稀奇适合我们的剖析,由于情绪剖析算法是凭据从Apache软件基金会的Jira问题跟踪系统中提取的开发人员谈论举行训练的,因此在Github和Reddit的软件工程领域和上下文中(思量选定的子Reddit)。该分类器可以剖析出爱、气忿、喜悦和悲痛,F1得分靠近0.89。
Valence(效价)、Arousal(努力水平)、Dominance(优势度)就是所谓的VAD代表了概念化的情绪维度,划分形貌了受试者对特定刺激的兴趣、警觉性和控制感。在软件开发的上下文中,VAD器量可以示意开发人员对项目的介入水平,以及他们完成义务的信心和响应能力。Warriner等人[30]建立了一个参考词典,其中包罗14000个英语单词,其VAD分数可用于训练分类器,类似于Mantyla等人[20]的方式。在[20]中,他们从70万份Jira问题讲述中提取了VAD指标,其中包罗跨越200万条谈论,并注释差别类型的问题讲述(例如,功效请求vs bug)具有情绪转变。相比之下,问题优先级的增添通常会增添Arousal(努力水平)。
最后,使用2.3中注释的BERT分类器和类似研究中使用的公共数据集[3,4]对情绪举行丈量。该算法从正(1)、中性(0)和负(-1)三个条理提取短文本中表达的情绪极性。
我们的剖析主要集中在三类情绪指标上:情绪(爱、喜、怒、悲)、VAD(效价、努力水平、优势度)和情绪。正如我们在第2.3节中指定的,我们使用定制的工具从每个影响器量类的注释文本中提取它。
一旦为所有谈论盘算了影响器量的数值(如表7和表8中的示例所示),我们就会思量谈论时间戳(即谈论公布的日期)来构建响应的社交媒体时间序列。情绪时间序列是凭据所思量的时间频率(每小时和天天)在每小时和天天聚合多个谈论的情绪和情绪。
对于给定的社交媒体指标(例如气忿)和特定的时间频率,我们通过平均当天公布的所有谈论的影响器量值来构建时间序列。
在表12和13中,我们划分详细讲述了两种加密钱币的社会指标时间序列的汇总统计数据。我们还在图7和图8中划分讲述了比特币和的所有社交媒体指标的时间序列
2.3.2 丈量Reddit的影响器量
社交媒体平台Reddit是一个美国社交新闻聚合、网络内容评级和讨论网站,每月接见量约80亿次。在英语国家,尤其是加拿大和美国,它是一个最受迎接的社交网络。险些所有的信息都是用英语写的,少数是用西班牙语、意大利语、法语和德语写的。
Reddit构建在多个子Reddit之上,每个子Reddit都致力于讨论特定的主题。因此,主要的加密钱币项目有特定的子项。对于这项事情中的每一种加密钱币,剖析了两个子项,一个是手艺性的,一个是买卖相关的。在选项卡中,被思量的子项。如图所示,对于每个subreddit,我们收集了从2017年1月到2021年1月的所有谈论。
对于情绪检测,我们使用2.3中注释的BERT分类器,该分类器使用由Ortu等人[24]开发并由Murgia等人[23]扩展的公共Github情绪数据集举行训练。这个数据集稀奇适合我们的剖析,如前一节所述。
该分类器可以检测出爱、气忿、喜悦和悲痛,F1得分靠近0.89。对于VAD指标,我们使用了2.3.1中相同的方式,而对于情绪,我们使用了之前的方式,即BERT深度学习算法,该算法使用了一个公共黄金数据集举行训练,用于在最大和着名的共享数据集的web平台上提供的Reddit谈论Kaggle.com.
表14和16以及图9和11显示了这两个比特币子Reddits的统计数据和时间序列,
而表17和15以及图10和12显示了这两个子Reddits的统计数据和时间序列。
2.4 价钱更改分类
目的变量是一个二进制变量,下面列出了两个唯一的类。
上涨:这个类,符号为向上,编码为1,示意价钱上涨的情形。
下跌:此类符号为向下并用0编码,示意价钱下跌的情形。
图13显示了每小时和逐日频率的类漫衍和数据集,突出显示了我们在每小时频率的情形下处置的是相当平衡的分类问题,在逐日频率的情形下处置的是稍微不平衡的分类问题。
表18显示了上涨下跌实例的详细信息,比特币的实例划分为48%、5%和51.5%,的实例划分为49%、8%和50%、2%。对于逐日频率,比特币为44%、8%和55.2%,为48%、5%和51%、5%。对于比特币的日频率,我们有一个稍微不平衡的漫衍向上类,在这种情形下,我们将思量f1分数连同准确性,以评估模子的性能。
2.5 时间序列处置
由于我们使用的是有监视学习问题,我们准备我们的数据有一个向量的x输入和y输出与时间相关。在这种情形下,输入向量x称为回归量。x输入包罗模子的展望值,即已往的一个或多个值,即所谓的滞后值。输入对应于前面章节中讨论的选定特征的值。目的变量y是二进制变量,可以是0或1。0(down)实例示意价钱向下跌。当时间t的收盘价与时间t+1的开盘价之差小于或即是0时,获得时间t的0实例。1(up)实例示意价钱向上,即价钱上涨情形。当时间t的收盘价与下一时间步t+1的开盘价之差大于0时,获得1实例。我们思量了两个时间序列模子:
受限:输入向量x仅包罗手艺指标(开盘、闭盘、最高、最低、买卖量)。
无限制:输入向量x由手艺、买卖和社交媒体指标组成。
对于限制模子和非限制模子,我们对每个指标使用1个滞后值。这种区分的目的是确定和量化回归向量中添加的买卖和社交媒体情绪指标是否会有用改善比特币和的价钱转变分类。
3 方式论
本节形貌了我们剖析中思量的深度学习算法,然后讨论了超参数的微调。
3.1多层感知器
多层感知器(MLP)是一类前馈人工神经网络(ANNs),具有多层感知器和典型的激活函数的特点。
最常见的激活功效有:
其中Vi是输入的加权向量。
MLP包罗三个主要节点种别:输入层节点、隐藏层节点和输出层节点。除了输入节点外,神经网络的所有节点都是使用非线性激活函数的感知器。MLP差别于线性感知器,由于它具有多层结构和非线性激活函数。
一样平常来说,MLP神经网络对噪声有很强的抵制能力,而且在缺失值时也能支持学习和推理。神经网络对映射函数没有很强的假设,很容易学习线性和非线性关系。可以指定随便数目的输入特征,为多维展望提供直接支持。可以指定随便数目的输出值,为多步甚至多变量展望提供直接支持。基于这些缘故原由,MLP神经网络可能对时间序列展望稀奇有用。
在深度学习手艺的最新生长中,整流线性单元(ReLU)是一种分段线性函数,经常被用来解决与sigmoid函数相关的数值问题。ReLU的例子是在-1和1之间转变的双曲正切函数,或者在0和1之间转变的logistic函数。这里第i个节点(神经元)的输出是yi,输入毗邻的加权和是vi。
通过包罗整流器和softmax函数,开发了替换激活函数。径向基函数包罗更高级的激活函数(用于径向基网络,另一类监视神经网络模子)。
由于MLPs是完全毗邻的架构,因此一层中的每个节点用特定的权重wi,j毗邻到下一层中的每个节点。神经网络的训练接纳有监视的反向流传法和最优化方式(随机梯度下降法是一种普遍使用的方式)。数据处置后,感知机通过调整毗邻权值举行学习,这取决于输出中相对于预期效果的误差量。感知器中的反向流传是最小均方(LMS)算法的推广。
当第n个训练样本出现给输入层时,输出节点j中的误差量为ej(n)=dj(n)?yj(n),其中d是展望值,y是感知器应天生的现实值。然后,反向流传方式调整节点权重以最小化等式(2)提供的整个输出误差:
使用公式(3)中的梯度下降法进一步盘算每个节点权重的调整,其中yi是前一个神经元的输出,η是学习率:
参数η通常被设置为权值收敛到响应和响应周围振荡之间的权衡。
感应局部场vj转变,可以盘算其导数:
式中,φ′是上述激活函数的导数,激活函数自己稳定。当修改隐藏节点的权重时,剖析更为难题,但可以证实,相关的量是等式(4)中所示的量。该算法示意激活函数的反向流传,如等式(4)所示,取决于示意输出层的第k层的权重的调整,而该调整又取决于隐藏层权重的激活函数的导数。
3.2 长短期影象网络
长短期影象网络是递归神经网络(RNN)的一种特殊形式,能够捕捉数据序列中的历久依赖关系。RNN是一种具有特定拓扑结构的人工神经网络,专门用于识别差别类型数据序列中的模式:例如,自然语言、DNA序列、手写、单词序列或来自传感器和金融市场的数字时间序列数据流[12]。经典的递归神经网络有一个显著的瑕玷,那就是它们不能处置长序列和捕捉历久的依赖关系。RNN只能用于具有短期内存依赖性的短序列。LSTM是用来解决历久影象问题的,它是直接从RNN派生出来的,用来捕捉历久的依赖关系。LSTM神经网络以单元为单元组织,通过应用一系列运算来执行输入序列变换。内部状态变量在从一个单元转发到下一个单元时由LSTM单元保留,并由所谓的操作门(遗忘门、输入门、输出门)更新,如图16所示。所有三个门都有差别且自力的权值和误差,因此网络可以领会要维持若干以前的输出和电流输入,以及有若干内部状态要通报给输出。这样的门控制有若干内部状态被传输到输出,而且与其他门的操作类似。LSTM单元包罗:
1 单元状态:这个状态带来整个序列的信息,并代表网络的内存。
2 遗忘门:它过滤从以前的时间步中保留的相关信息。
3 输入门:它决议从当前时间步添加哪些相关信息。
4 输出门:它控制当前时间步的输出量。
第一步是遗忘门。这个门将已往的或滞后的值作为输入,并决议应该遗忘若干已往的信息以及应该保留若干。先前隐藏状态的输入和当前输入通过sigmoid函数传输到输出门。当可以遗忘该信息时,输出靠近0,而当要保留该信息时,输出靠近1,如下所示:
矩阵Wf和Uf划分包罗输入毗邻和循环毗邻的权重。下标f可以示意遗忘门。xt示意LSTM的输入向量,ht+1示意LSTM单元的隐藏状态向量或输出向量。
第二个门是输入门。在这个阶段,单元状态被更新。先前的隐藏状态和当前输入最初示意为sigmoid激活函数的输入(值越靠近1,输入越相关)。为了提高网络调谐,它还将隐藏状态和电流输入通报给tanh函数,以压缩?1和1之间的值。然后将tanh和sigmoid的输出逐元素相乘(在下面的公式中,符号*示意两个矩阵的逐元素相乘)。等式6中的sigmoid输出确定了要从tanh输出中保留的主要信息:
单元状态可以在输入门激活之后确定。接下来,将上一时间步的单元状态逐元素乘以遗忘门输出。这会导致在单元格状态下,当值与靠近0的值相乘时,忽略值。输入门输出按元素添加到单元状态。方程7中的新单元状态是输出:
最后一个门是输出门,它指定下一个隐藏状态的值,该值包罗一定量的先前输入信息。在这里,当前输入和先前的隐藏状态相加并转发到sigmoid函数。然后新的细胞状态被转移到tanh函数。最后,将tanh输出与sigmoid输出相乘,以确定隐藏状态可以携带哪些信息。输出是一个隐藏的新状态。新的单元状态和新的隐藏状态然后通过等式8移动到下一阶段:
为了举行这一剖析,我们使用Keras框架[7]举行深度学习。我们的模子由一个堆叠的LSTM层和一个麋集毗邻的输出层和一个神经元组成。
3.3 注重机制神经网络
注重函数是深度学习算法的一个主要方面,它是编码器-译码器范式的扩展,旨在提高长输入序列的输出。图16显示了AMNN背后的要害头脑,即允许解码器在解码时代有选择地接见编码器信息。这是通过为每个解码器步骤建立一个新的上下文向量来实现的,凭据之前的隐藏状态以及所有编码器的隐藏状态来盘算它,并为它们分配可训练的权重。通过这种方式,注重力技巧赋予输入序列差别的优先级,并更多地关注最主要的输入。
编码器操作与编码器-解码器夹杂操作自己异常相似。每个输入序列的示意在每个时间步确定,作为前一时间步的隐藏状态和当前输入的函数。
最终隐藏状态包罗来自先前隐藏示意和先前输入的所有编码信息。
注重机制和编解码器模子之间的要害区别在于,对于每个解码器步骤t,盘算一个新的靠山向量c(t)。我们如下举行以丈量时间步长t的上下文向量c(t)。首先,对于编码器的时间步长j和解码器的时间步长t的每个组合,使用等式(9)中的加权和来盘算所谓的对齐分数e(j,t):
Wa、Ua和Va是这个公式中的学习权重,它们被称为注重权重。Wa权重链接到编码器的隐藏状态,Ua权重链接到解码器的隐藏状态,Va权重确定盘算对齐分数的函数。分数e(j,t)在编码器j的时间段上使用softmax函数在每个时间步t处归一化,获得如下注重权重α(j,t):
时间j处的输入的主要性由用于解码时间t的输出的注重权重α(j,t)示意。凭据作为编码器的所有隐藏值的加权和的注重权重来估量上下文向量c(t),如下所示:
凭据这种方式,所谓的注重功效是由上下文数据向量触发的,对最主要的输入举行加权。
上下文向量c(t)现在被转发到解码器以盘算下一个可能输出的概率漫衍。此解码操作涉及输入中存在的所有时间步长。然后凭据循环单元函数盘算当前隐藏状态s(t),将上下文向量c(t)、隐藏状态s(t?1)和输出y?(t?1)作为输入,凭据以下等式:
行使该函数,模子可以识别输入序列差别部门与输出序列响应部门之间的关系。softmax函数用于在每个时刻t盘算处于加权隐藏状态的解码器的输出:
对于LSTM,由于注重权值的存在,注重机制在长输入序列下提供了更好的效果。
在这项研究中,我们稀奇使用了Fazle等人提出的具有完全卷积网络的多元注重LSTM(MALSTM-FCN)。图17显示了MALSTM-FCN的系统结构,包罗每层的神经元数目。输入序列与完全卷积层和注重LSTM层并行,并通过用于二进制分类的softmax激活函数毗邻和通报到输出层。全卷积块包罗三个划分由128、256和256个神经元组成的时间卷积块,用作特征抽取器。在级联之前,每个卷积层通过批量归一化来完成。维洗牌变换输入数据的时间维,使得LSTM一次获得每个变量的全局时间信息。因此,对于时间序列分类问题,维数洗牌操作减少了训练和推理的盘算时间,同时又不损失精度[15]。
3.4 卷积神经网络
卷积神经网络(CNN)是一类特殊的神经网络,最常用于图像处置、图像分类、自然语言处置和金融时间序列剖析等深度学习应用[6]。
CNN架构中最要害的部门是卷积层。这层执行一个称为卷积的数学运算。在这种情形下,卷积是一种线性运算,它涉及输入数据矩阵和二维权值数组(称为滤波器)之间的乘法。这些网络在至少一层中使用卷积运算。
卷积神经网络具有与传统神经网络相似的结构,包罗输入输出层和多个隐层。CNN的主要特征是其隐藏层通常由执行上述操作的卷积层组成。图18形貌了用于时间序列剖析的CNNs的一样平常架构。我们使用一个一维卷积层,而不是通常的二维卷积层典型的图像处置义务。然后用轮询层对第一层举行归一化,然后将其展平,以便输出层可以在每个步骤t处处置整个时间序列。在这种情形下,许多一维卷积层可以组合在深度学习网络中。
对于CNN的实现,我们使用Keras框架[7]举行深入学习。我们的模子由两个或多个堆叠的一维CNN层组成,一个密接层有N个神经元用于轮询,一个密接层有N个神经元用于平展化,最后一个密接输出层有一个神经元。
3.5 超参数调整
超参数调整是对给定算法的超参数举行优化的一种方式。它用于确定超参数的最佳设置,以使算法获得最佳性能,并凭据特定的展望误差举行评估。对于每个算法,选摘要优化的超参数,并为每个超参数界说适当的搜索距离,包罗所有要测试的值。然后将该算法与第一个选定的超参数设置匹配到数据集的特定部门。拟合模子在训练阶段以前没有使用过的部门数据上举行测试。此测试程序返回所选展望误差的特定值。
通过网格搜索程序[19]的优化程序在测试了所有可能的超参数值组合后竣事。因此,选择在所选展望误差方面发生最佳性能的超参数设置作为优化设置。表19显示了每个实现算法的超参数搜索距离。由于MALSTM-FCN是一种特定于深层神经网络的系统结构,层的数目、每层的神经元数以及每层的激活函数已经预先指定(如第3.3节所述)。
为了确保超参数优化历程的鲁棒性,我们使用模子验证手艺来评估给定模子所获得的性能若何推广到一个自力的数据集。此验证手艺涉及将数据样本划分为训练集(用于拟合模子)、验证集(用于验证拟合模子)和测试集(用于评估模子的最终优化泛化能力)。在我们的剖析中,我们使用37.8%的袋外样本和10000次迭代来实现Boostrap方式[9],以验证最终的超参数。
4 实验证据
在本节中,我们讲述并讨论剖析的主要效果。稀奇地,我们讨论了限制模子和非限制模子的效果。这些效果是凭据尺度的分类错误器量来评估的:准确度、f1分数、准确度和召回率。
4.1 受限模子的超参数
我们在这里简要讨论了3.5节中提到的四种深度学习算法的超参数的微调,思量到每小时的频率。表20显示了在分类误差器量方面使用网格搜索手艺对差别神经网络模子获得的最佳效果。表20列出了MALSTM-FNC和MLP模子的最佳识别参数和相关效果。
获得最佳正确度的神经网络是MALSTM-FNC,平均正确度为53.7%,尺度误差为2.9%。在实行的机械学习模子中,获得最佳f1分数的是MALSTM-FNC,平均准确率为54%,尺度误差为2.01%(LSTM获得相同的f1分数,但我们考察到更高的方差)。
4.2 无限制模子的超参数
表21显示了神经网络模子通过网格搜索手艺获得的关于分类误差器量的最佳效果。CNN和LSTM模子的最佳识别参数和相关效果见表21。
对于无限制模子的效果注释,在模子中加入买卖和社交媒体指标可以有用地提高平均准确度,即展望误差。对于所有实现的算法,这个效果都是一致的,这允许我们清扫这个效果是统计颠簸,或者它可能是实现的特定分类算法的人工制品。行使CNN模子获得了无约束模子的最佳效果,平均准确率为87%,尺度差为2.7%。
4.3 效果和讨论
表22显示了使用四种深度学习算法举行时频价钱更改分类义务的效果。此表显示了受限(上部)和非受限(下部)模子的效果。首先,可以注重到,对于所有四种深度学习算法,无限制模子在正确度、查全率、召回率和F1分数方面都优于限制模子。准确率局限从限制MLP的51%到CNNs和LSTM的84%。
事实上,这四个分类器的效果是一致的,进一步证实了这不是由于统计颠簸,而是由于较高的展望无限制模子。对于比特币,最高的性能是通过CNN架构获得的,而对于则是通过LSTM获得的。
我们还进一步探讨了按小时频率的无限制模子的分类,思量了两个子模子:一个子模子包罗手艺和社交指标,另一个子模子包罗所有指标(社交、手艺和买卖)。这样,就可以理清社会和买卖指标对模子性能的影响。我们对两个无限制子模块的准确度、展望、回忆和F1得分的漫衍举行了统计t磨练,发现增添社会指标并不能显著改善无限制模子。因此,在表22中,我们省略了仅包罗社会和手艺指标的无限制模子。
表23显示了四种深度学习算法对日频率价钱更改分类的效果。此表显示了受限(上部)和非受限(下部)模子的效果。将无限制模子进一步划分为手艺-社会和手艺-社会-买卖子模子,以更好地划分突出社会和买卖指标对模子的孝敬。
MALSTM-CNF使用仅由手艺指标组成的受限模子,以99%的准确率实现了的最佳分类性能。对于比特币而言,MLP的F1分数为55%,准确率为60%,而不受限制的模子只有社交媒体指标和手艺指标(在这种情形下,我们思量比特币的F1分数和准确率,由于第2.4节形貌的阶级漫衍稍有不平衡)。对于日频率分类,我们可以看到,在一样平常手艺指标单独显示更好的分类第二天的价钱走势。我们向模子中添加的指标越多,性能下降的幅度就越大。另一个普遍的效果是,逐日价钱更改分类的准确性、正确性、召回率和F1分数远远好于比特币。日分类的效果与其他研究一致[1],小时和日分类在思量小时无限制模子时有显著改善。社交媒体指标在比特币案件的一样平常频率上尤其主要。这一效果与最近关于社交媒体情绪对加密钱币市场影响的效果一致[2]:社交媒体对市场的影响显示出很长的滞后性,这种滞后性不是每小时捕捉到的,也不是每小时相关的。
5 有用性的威胁
在本节中,我们将讨论对我们的剖析有用性的潜在限制和威胁。首先,我们的剖析侧重于和比特币:这可能会对外部有用性构成威胁,由于对差别的加密钱币举行剖析可能会导致差别的效果。
第二,对内部效度的威胁与影响效果的混杂因素有关。基于履历证据,我们假设手艺、买卖和社会指标在我们的模子中是详尽无遗的。只管云云,本研究可能忽略了其他可能影响价钱更改的因素。
最后,结构效度的威胁集中在考察效果若何准确地形貌感兴趣的征象上。价钱更改的检测和分类是基于形貌整个征象的客观数据。一样平常来说,手艺指标和买卖指标是以客观数据为基础的,通常是可靠的。社交媒体指标是基于通过使用公然数据集训练的深度学习算法获得的实验丈量:这些数据集可能带有内在私见,而这些私见又会转化为情绪和情绪的分类错误。
6 结论
在最近的文献中,人们曾多次实验对主要加密钱币的价钱或其他市场指标的不稳定行为举行建模和展望。只管许多研究小组致力于这一目的,密码钱币市场的剖析仍然是最有争媾和难以捉摸的义务之一。有几个方面使解决这个问题变得云云庞大。例如,由于其相对年轻,加密钱币市场是异常活跃和快节奏的。新加密钱币的泛起是一个通例事宜,导致市场自己的组成发生意外和频仍的转变。此外,加密钱币的高价钱颠簸性及其“虚拟”性子同时也是投资者和买卖员的福音,也是任何严肃的理论和实证模子的诅咒,具有伟大的现实意义。对这样一个年轻市场的研究,其价钱行为在很大水平上还没有被探索,不仅在科学领域,而且对投资者和加密市场款式中的主要介入者和利益相关者都有着根本性的影响。
在本文中,我们旨在评估在“经典”手艺变量中添加社会和买卖指标是否会导致加密钱币价钱转变分类的现实改善(思量每小时和逐日频率)。这一目的是实现和基准普遍的深度学习手艺,如多层感知器(MLP),多元注重历久短期影象完全卷积网络(MALSTM-FCN),卷积神经网络(CNN)和历久短期影象(LTMS)神经网络。我们在剖析中思量了比特币和这两种主要的加密钱币,并剖析了两种模子:一种是仅思量手艺指标的受限模子,另一种是包罗社会和买卖指标的非受限模子。
在限制性剖析中,就准确度、正确度、召回率和f1分数而言,获得最佳性能的模子是MALSTM-FCN,比特币的f1平均分数为54%,的CNN为小时频率。在不受限制的情形下,LSTM神经网络对比特币和的平均准确率划分为83%和84%。对于无限制模子的小时频率分类,最主要的发现是,在模子中加入买卖和社会指标可以有用地提高平均准确度、正确度、召回率和f1分数。我们已经证实,这一发现不是统计颠簸的效果,由于所有实行的模子都取得了相同的功效。出于同样的缘故原由,我们可以清扫效果依赖于特定的实现算法。最后,对于一样平常分类,当使用仅包罗手艺指标的受限模子时,MALSTM-CNF for Ethereum以99%的准确率实现了最佳分类性能。对于比特币而言,MLP的f1分数为55%,准确率为60%,无限制模子包罗社交媒体指标和手艺指标,在这种情形下,我们思量比特币的f1分数和准确率,由于第3.4节中形貌了略微不平衡的种别漫衍。对于日频率分类,我们可以看到,在一样平常手艺指标单独显示更好的分类第二天的价钱走势。我们向模子中添加的指标越多,性能下降的幅度就越大。
另一个普遍的效果是,逐日价钱更改分类的准确性、正确性、召回率和f1分数远远好于比特币。我们的效果注释,通过对深度学习系统结构的详细设计和微调,可以实现加密钱币价钱转变分类的高性能。
加入新手交流群:每天早盘分析、币种行情分析
添加助理微信,一对一专业指导:pbmocn