楼主: kedemingshi
2645 18

[量化金融] DeepLOB:用于极限订单簿的深度卷积神经网络 [推广有奖]

11
可人4 在职认证  发表于 2022-6-10 10:13:08
请注意,FI2010数据集实际上是下采样的限额订单簿数据,因为作者遵循了[50],通过使用10个事件的每个非重叠块来创建其他功能。我们没有对数据执行任何处理,只将原始订单簿信息提供给我们的算法。总体而言,我们的LSE数据集由12个月组成,拥有超过1.34亿个样本。平均而言,每只股票每天有150000个事件。事件的时空分布不规则。时间间隔,k、 k+1,两个事件之间的差异可能很大,从几分之一秒到几秒不等,并且k、 数据集中的k+1平均为0.192秒。我们将前6个月作为培训数据,接下来的3个月作为验证数据,最后3个月作为测试数据。在高频数据的情况下,3个月的测试数据对应数百万次观测,因此为测试模型性能和估计模型精度提供了足够的范围。C、 数据归一化和标签FI-2010数据集[1]提供了3种不同的归一化数据集:z分数、最小-最大和十进制精度归一化。我们使用了z分数归一化的数据,没有进行任何校正,并且在使用其他两种归一化方案时发现了细微的差异。对于伦敦证交所数据集,我们再次使用标准化(z分数)对我们的数据进行标准化,但使用前5天数据的平均值和标准差对当天的数据进行标准化(每个工具使用单独的标准化)。我们想强调归一化的重要性,因为机器学习算法的性能通常取决于它。由于金融时间序列通常经历制度的转变,使用静态归一化模式不适合一年长的数据集。上述方法是动态的,归一化数据通常会落在合理的范围内。

12
可人4 在职认证  发表于 2022-6-10 10:13:11
对于这两个数据集,我们将使用LOB的100个最新状态作为模型的输入。具体而言,单个输入定义为X=[X,X,···,xt,···,X]T∈R100×40,其中xt=[p(i)a(t),v(i)a(t),p(i)b(t),v(i)b(t)]n=10i=1。p(i)和v(i)表示alimit订单第i级的价格和数量。《乳胶类文件杂志》,第XX卷,第XX号,XXX 4对限额订单数据进行归一化后,我们使用中间价格pt=p(1)a(t)+p(1)b(t),(1)创建表示价格变化方向的标签。虽然没有订单可以精确地在中间价进行交易,但它表达了资产的一般市场价值,当我们需要一个数字来表示资产价格时,它经常被引用。由于财务数据具有高度的随机性,如果我们简单地比较pt和pt+KT来决定价格变动,那么产生的标签集将是有噪声的。在[1]和[26]的工作中,介绍了两种平滑标记方法。我们在此简要介绍这两种方法。首先,让我-表示前k个中间价的平均值,m+表示下k个中间价的平均值:m-(t) =kkXi=0pt-im+(t)=kkXi=1pt+i(2),其中Pti是方程式(1)中定义的中间价格,k是预测范围。这两种方法都使用中间价的百分比变化(lt)来确定方向。我们现在可以定义=m+(t)- ptpt(3)lt=m+(t)- m级-(t) m级-(t) (4)这两种方法都是确定时间t的价格变动方向的方法,其中前者(方程式3)在【1】中使用,后者(方程式4)在【26】中使用。然后根据百分比变化(lt)的阈值(α)确定标签。如果lt>α或lt<-α、 我们将其定义为上升(+1)或下降(-1). 对于其他情况,我们将其视为静止的(0)。图2提供了相同阈值(α)和相同预测范围(k)上两种标记方法的图示。所有分类为“向下”的标签(-1) 显示为红色区域,向上(+1)显示为绿色区域。

13
大多数88 在职认证  发表于 2022-6-10 10:13:14
未着色(白色)区域对应于静止(0)标签。FI-2010数据集【1】采用公式3中的方法,我们直接使用它们的标签与其他方法进行公平比较。然而,如图2顶部所示,生产的标签不太一致,因为该方法与实际价格更接近,因为平滑仅适用于未来价格。这对设计交易算法基本上是有害的,因为这里的信号不一致,导致许多冗余交易操作,从而产生更大的交易成本。此外,FI-2010数据集是在2010年收集的,与现在相比,这些仪器的流动性更低。我们在[1]中对伦敦证券交易所(London Stock Exchange)的数据进行了这种方法的实验,发现产生的标签是相当随机的,因此我们采用方程4中的方法来生成更一致的信号。0 200 400 600 800 100026.1026.1526.2026.2526.30pt0 200 400 600 800 100026.1026.1526.2026.2526.30Pt图2。两种基于相同的阈值(α)和相同的预测视界(k)的平滑标记方法的示例。绿色底纹表示+1信号,红色底纹表示-1。顶部:[1]\'s方法和底部:[26]\'s方法。四、 模型架构。概述我们在这里详细介绍了我们的网络体系结构,它包括三个主要构建块:标准卷积层、异常模块和LSTM层,如图3所示。使用CNN和Inception模块的主要思想是自动完成特征提取过程,因为金融数据的低信噪比和臭名昭著,因此在金融应用中通常很难实现。MACD和相对强度指数等技术指标包括在输入中,主成分分析(PCA)等预处理机制通常用于转换原始输入。

14
何人来此 在职认证  发表于 2022-6-10 10:13:22
然而,这些过程都不是琐碎的,它们都做出了默契的假设,而且,如果财务数据能够用具有已执行参数的参数模型很好地描述,这是值得怀疑的。在我们的工作中,我们只需要LOBprices和大小的历史记录作为算法的输入。权重是在推理过程中学习的,从大型训练集中学习的特征是数据自适应的,消除了上述约束。然后使用LSTMlayer来捕获结果特征中的其他时间依赖性。我们注意到,在卷积层中已经捕获了非常短的时间依赖关系,卷积层将LOB的“时空图像”作为输入。B、 每个组成部分的详细信息a)卷积层:电子交易算法的最新发展通常在短时间内提交和取消大量的限价单,作为其交易策略的一部分[52]。这些行为通常发生在业务线的深处,可以看出,90%以上的订单以取消而非匹配结束,因此,实践者认为级别离最佳出价更远,要求级别在任何业务线中都不太有用。此外,文献[53]的研究表明,最佳出价和最佳出价(L1 ask和L1 bid)对价格发现的贡献最大,而所有其他水平的贡献要小得多,估计只有20%。因此,将所有级别信息都提供给神经网络是徒劳的,因为LOB中的级别不太有用,甚至可能会产生误导。当然,我们可以通过总结更深层次的信息来消除这些信号。我们注意到,任何CNN架构中使用的卷积滤波器都是离散卷积,或有限脉冲响应(FIR)滤波器,从《乳胶类文件杂志》(Journal OF LATEX CLASS FILES)第XX卷第。

15
何人来此 在职认证  发表于 2022-6-10 10:13:25
二十、 XXX个5InputConv1x2@16 (1,2)4x1@164x1@161x10@164x1@164x1@161x10@164x1@164x1@16Conv1x10@164x1@164x1@16Conv1x10@164x1@164x1@16Inception@32LSTM@64 UnitsConv1x2@16(步幅=1x2)4x1@164x1@161x2@16(步幅=1x2)4x1@164x1@161x10@164x1@164x1@16Figure3、模型架构示意图。在这里1x2@16表示具有16个大小为(1×2)的滤波器的卷积层。”“1”通过时间指示器进行卷积,“2”卷积不同的限额订单簿级别。信号处理[54]。FIR滤波器是用于去除目标信号噪声的常用平滑技术,并且易于实现和使用。我们可以按以下形式编写任何FIR滤波器:y(n)=MXk=0bkx(n- k) (5)其中,任何时候的输出信号y(n)是输入信号x(n)过去值的有限个数的加权和。过滤顺序表示为M,BK表示过滤系数。在卷积神经网络中,过滤核的系数不是通过传统信号过滤理论中的统计目标获得的,而是保留为网络推断的自由度,以便在输出时使其值函数达到极值。第一卷积层的细节不可避免地需要一些考虑。由于卷积层操作一个小内核来“扫描”输入数据,因此限制订单信息的布局至关重要。回想一下,我们将订单簿的最新100次更新作为单个输入,每个时间戳有40个功能,因此单个输入的大小为(100×40)。我们将40个特征组织如下:{p(i)a(t),v(i)a(t),p(i)b(t),v(i)b(t)}n=10i=1(6),其中i表示限额指令簿的第i级。我们的第一个卷积滤波器的大小为(1×2),跨距为(1×2)。第一层基本上总结了每个订单账簿级别的价格和数量{p(i),v(i)}之间的信息。

16
大多数88 在职认证  发表于 2022-6-10 10:13:28
这里需要使用STERID,因为卷积层的一个重要特性是参数共享。这种特性很有吸引力,因为估计的参数较少,大大避免了过度拟合问题。然而,如果没有跨步,我们将对{p(i),v(i)}和{v(i),p(i+1)}应用相同的参数。换句话说,p(i)和v(i)将共享相同的参数,因为内核过滤器只移动一步,这显然是错误的,因为价格和数量形成不同的动态行为。由于第一层仅捕获每个订单簿级别的信息,因此我们希望在跨多个订单簿级别集成信息时提取具有代表性的特征。我们可以通过使用另一个卷积层来实现这一点,卷积层的大小为1×2,步幅为1×2。结果特征图实际上形成了【55】定义的微观价格:pmicro价格=Ip(1)a+(1- 一) p(1)bI=v(1)bv(1)a+v(1)b(7)。重量I称为不平衡。微观价格是一个重要指标,因为它考虑了买卖双方的交易量,而买卖规模之间的不平衡是下一次价格变动的一个非常有力的指标。许多研究人员已经报道了这种不平衡的特征[56、57、58、59、60]。与只考虑一阶账簿级别的微观价格不同,我们利用卷积来形成LOB所有级别的微观价格,因此在两层之后,生成的特征映射的大小是(100,10)。最后,我们使用一个大小为(1×10)的大过滤器对所有信息进行整合,在接收模块之前,我们的特征图的维数为(100,1)。我们对每个卷积层应用零填充,这样输入的时间维度就不会改变,泄漏整流线性单元(泄漏ReLU)[61]被用作激活函数。

17
mingdashike22 在职认证  发表于 2022-6-10 10:13:31
泄漏ReLU的超参数(装置未激活时的小梯度)设置为0.01,通过验证集上的网格搜索进行评估。卷积的另一个重要性质是平移的等变性[62]。具体而言,如果f(g(x))=g(f(x)),则函数f(x)与函数g等价。例如,假设存在位于图像I(x,y)的(xm,ym)处的主要分类特征M。如果我们将I的everypixel向右移动一个单位,我们会得到一个新的图像I,其中I(x,y)=I(x- 1,y)。我们仍然可以获得主要分类特征min和m=m,而m的位置将位于(xm,ym)=(xm- 1,ym)。这对于时间序列数据很重要,因为卷积可以找到对最终输出起决定性作用的通用特征。在我们的例子中,假设在时间t获得了一个研究不平衡的特征。如果同一事件稍后在时间t发生在输入中,则可以稍后在时间t提取精确的特征。除了在接收模块中,我们不使用任何池层。虽然池层有助于我们找到输入翻译不同的表示形式,但池的平滑性质可能会导致不匹配。公共池层是为图像处理任务而设计的,当我们只关心输入中是否存在某些功能而不关心它们存在的位置时,它们的功能最强大【62】。时间序列数据具有不同于图像的特征,并且代表性特征的位置很重要。我们的经验表明,卷积层中的池层至少会导致LOB数据的不匹配问题。然而,我们认为池很重要,应该设计新的池方法来处理时间序列数据,因为它是LATEX类文件的promisingJOURNAL,第XX卷,第号。

18
nandehutu2022 在职认证  发表于 2022-6-10 10:13:34
二十、 XXX个6Input1x1@1625*11x1@161x1@16100*4050*13x40@1610x40@1620x40@16Concat1x1@161x1@161x1@163x1@1610x1@1620x1@16ConcatMaxpool1x1@161x1@161x1@163x1@1610x1@1620x1@16Concat1x1@161x1@161x1@163x1@1610x1@1620x1@16ConcatMaxpool12*11x1@161x1@161x1@163x1@1610x1@1620x1@16Concat1x1@161x1@161x1@163x1@1610x1@1620x1@16Avgpool3x1@325x1@321x1@32ConcatConv 1x1@32Conv 3x1@32Conv 1x1@32Conv 5x1@32Maxpool3x1Conv1x1@32ConcatInception@32图4。模型中使用的初始模块。例如,3×1@32represents具有32个大小为(3×1)的滤波器的卷积层。提取不变特征的解决方案。b) 初始模块:我们注意到,标准卷积层的所有过滤器都有固定的大小。例如,如果使用大小为(4×1)的weemploy过滤器,我们将在四个时间步骤中捕获数据之间的局部交互。然而,我们可以通过使用初始模块将几个卷积打包在一起,来捕获多个时间尺度上的动态行为。我们发现,这为resultantmodel提供了性能改进。初始阶段模块的想法也可以考虑在技术分析中使用不同的移动平均线。实践者经常使用具有不同衰减权重的移动平均值来观察时间序列动量[63]。如果采用较大的衰减权重,我们会得到一个更平滑的时间序列,很好地代表了长期趋势,但我们可能会错过高频数据中重要的小变化。实际上,设置正确的衰减权重是一项艰巨的任务。相反,我们可以使用初始模块,然后在反向传播过程中学习权重。在我们的例子中,我们使用1×1卷积将输入分割成一小组低维表示,用一组滤波器(这里是3×1和5×1)变换表示,然后合并输出。在Inception模块中使用了最大池层,带有步幅1和零填充。

19
何人来此 在职认证  发表于 2022-6-10 10:13:37
“Inception@32“表示一个模块,表示该模块中所有卷积层都有32个滤波器,该方法如图4所示。1×1协同进化形成了[64]中提出的网络中网络方法。网络中的网络方法不是对数据进行简单的卷积,而是使用一个小型神经网络来捕获数据的非线性特性。我们发现这种方法是有效的,它提高了预测精度。c) LSTM模块和输出:通常,使用完全连接的层对输入数据进行分类。但是,除非使用多个完全连接的层,否则假定完全连接层的所有输入彼此独立。由于在我们的工作中使用了Inception模块,我们最终拥有了大量的特性。仅使用一个具有64个单元的完全连接层,就可以估计出630000多个参数,更不用说多个层了。为了捕获提取的特征中存在的时间关系,我们用LSTMunits替换完全连接的层。LSTM单元的激活会反馈给它自己,过去激活的记忆用一组单独的权重来保存,因此可以对特征的时间动态进行建模。在我们的工作中,我们使用了64个LSTM单元,得到了大约60000个参数,从而使需要估计的参数减少了10倍。最后一个输出层使用softmax激活功能,因此最终输出元素表示每个时间步中每个价格变动类别的可能性。五、 实验结果a。实验设置我们将相同的体系结构应用于本节中的所有实验,提出的模型表示为DeepLOB。我们通过最小化分类交叉熵损失来学习参数。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-8 07:24