楼主: 可人4
1403 23

[量化金融] 基于卷积神经网络的外汇走势预测 [推广有奖]

11
可人4 在职认证  发表于 2022-6-2 21:54:15
财务数据具有时间序列特征,这是卷积模型无法捕捉到的。因此,我们的第一个工作流程结合了将窗口移动到CNN模型的概念。为了考虑财务数据的时间序列特性,需要修改单个CNN模型。在不同的时间区域训练新的CNN模型是很直观的;更详细地说,我们使用第一天到第二天生成数据并训练卷积模型。在第一次运行之后,我们移动到下一个时间窗口并训练一个新的卷积模型。此过程将继续运行,直到完成所有预测。此过程有两个主要优点:不同的CNN模型可以在特定的时间间隔内捕获不同的特征,这也可以防止CNN模型使用很久以前的噪声特征。例如,我们可以使用第1天到第20天制作数据和标签,然后训练CNN模型预测第21天的结果。在第二次运行中,我们使用第2天到第21天生成新的图像和标签,并再次训练新的卷积模型以预测第22天的结果,依此类推。在卷积模型的架构方面,我们首先打算尝试一些更简单的模型,在使用famousAlexNet模型之前,这些模型只包含两到三对卷积层和池层。这是因为我们想让计算机学习的图像是一组简单的四个封闭价格线图,包括高点、低点和移动平均线。它们没有图像网挑战那么复杂。我们使用的所有架构如图6所示,其中Conv、Pool和FC是卷积图。图5:在工作流1中将移动窗口合并到卷积模型中的过程。层、池层和完全连接层。图6:工作流程1.1中的三种架构。

12
kedemingshi 在职认证  发表于 2022-6-2 21:54:18
架构1:Conv+Conv+Pool+FC2。架构2:(Conv+Pool)*2+FC3。架构3:Conv*4+Pool+Conv+Pool+fc在第一个架构中,我们使用了两个卷积层,进一步连接到池层和完全连接层。在第二种架构中,我们使用了两对卷积和池层以及一个完全连接的层,这与LeNet的架构类似。我们期望这两种简单的体系结构能够使计算机从输入图像中学习简单的结构。在第三个体系结构中,我们设计了一个由更多卷积层组成的更深层次的体系结构。我们之所以使用这种架构,是因为我们试图解决模型中的不匹配问题;simplearchitecture不足以从输入图像中学习特征。这些实验的结果并不符合预期;无论是简单的还是复杂的,这些体系结构都不能很好地适应卷积模型。实验结果部分详细说明了实验过程。在我们的第二个工作流程中广泛使用的另一个架构是著名的AlexNet模型。AlexNet模型出现于2012年,击败了前一届冠军,成为ImageNet挑战赛中的最先进模型,该比赛有超过1500万张高分辨率标签图像和大约22000个类别。AlexNet模型的结构比LeNet更深,包含五个卷积层、三个完全连接层和一个softmax层。为了防止模型过度拟合,AlexNetmodel还使用了一种新的正则化方法,称为“退出和数据增强”,它可以水平调整图像或执行随机裁剪。AlexNet模型还使用ReLU作为激活函数,这是一种非饱和激活函数,比tanh和sigmoidunits快几倍。

13
nandehutu2022 在职认证  发表于 2022-6-2 21:54:21
有了这些改进和出色的GPU支持,AlexNet模型已经成为当今最强大的模型之一。3方法学在本节中,我们介绍了我们在实验中使用的体系结构,并证明我们使用这些工作流的决定是正确的。我们还介绍了一些用于生成ourinputs的数据预处理技术。每个工作流中使用的深度学习框架是Python Keras模块和NVIDIADigits以及Caffe后端。这两个工作流中的所有卷积模型都经过了30个时代的训练,并由GTX TITAN GPU加速。我们还试图观察不同时代的结果,甚至多达4000个时代,但过度匹配几乎在50岁左右发生- -100个时代。工作流程如下:3.1工作流程1在第一个工作流程中,我们使用了2010年至2011年日元的实际汇率。我们设计了三种卷积结构,并期望其中一种能够很好地拟合现实世界的数据。原始数据概述如图7所示,第一个工作流程详细列举如下:1。使用Python Matplotlib模块将定量价格数据转换为图像数据,并创建基于分类的标签,包括购买、出售和不采取任何行动。2、使用Python Keras深度学习模块创建CNN模型的三种架构。每种架构都将独立进行实验。3、训练CNN模型并调整参数以最大限度地提高准确性。用于培训的时间段从30到100.4不等。使用货币绩效混乱矩阵评估模型。5、重复上述步骤,直到找到最佳模型。图7:2010年11月9日至2011年1月13日的日元汇率。3.2工作流2由于工作流1的表现不如预期,我们转而使用GBM的模拟数据。

14
何人来此 在职认证  发表于 2022-6-2 21:54:24
我们重复模拟了100次90天的汇率数据,年回报率为1%,年标准误差为25%。我们认为,这些价格大致符合一组真实世界的数据,因此,我们预计新架构将很好地适应真实世界的子集。其中一个模拟数据如图8所示,第二个工作流程详述如下:1。使用Python Matplotlib模块将定量价格数据转换为图像数据,并创建基于分类的标签,包括购买、出售和不采取任何行动。2、使用NVIDIA DIGITS和Caffe后端创建CNN模型的AlexNet架构。NVIDIA DIGITS是一款轻量级工具,尤其擅长实时演示培训过程。3、训练AlexNet模型并调整参数以最大限度地提高精度。用于培训的纪元数为50.4。使用货币绩效混乱矩阵评估模型。5、重复上述步骤,直到找到最佳模型。图8:几何布朗运动过程(GBM)生成的一个模拟数据。工作流2的结构与工作流1的结构几乎相同。工作流2的主要区别在于数据的标记方式;在工作流1中,相同的策略用于标记所有输入,但工作流2中使用了多种策略。在工作流2中,我们使用了AlexNet模型及其默认参数,并且只调整了各个时期和不同类型的输入图像。工作流程2中使用的策略如下所示:1。每20天使用一次图像,随后的5天作为保存日;也就是说,我们使用第1天到第20天作为输入图像,并使用第25天标记第20天。如果第25天的价格比第20天高出至少1%,那么我们将在第20天买入,在第25天卖出。

15
何人来此 在职认证  发表于 2022-6-2 21:54:27
如果第25天的价格低于第20天的价格至少1%,那么我们将在第20天卖出,在第25天买入。否则,将不采取任何行动。在这种情况下,我们尝试使用移动平均线作为我们的策略。因为我们希望模型能更区分输入,所以我们使用的规则是,如果第9天MA5比MA7大至少1%,MA7比MA10大至少1%,那么我们将在第6天买入,在第9天卖出。如果第9天MA5比MA7小至少1%,MA7比MA10小至少1%,那么我们将在第6天卖出,在第9天买入。否则,将不采取任何行动。3、此外,我们还模拟了开盘价和收盘价,并绘制了MA5、MA10和MA20线。我们使用每15天一次的时间作为图像,接下来的5天作为保持期。这里使用的策略是,如果第20天的开盘价高于第15天的收盘价至少2%,那么我们将在第15天买入,在第20天卖出。如果第20天的开盘价低于第15天的收盘价至少1%,那么我们将在第15天卖出,在第20天买入。4实验结果首先,我们介绍了三种对图像数据进行预处理的方法;其次,我们讨论了实验过程中遇到的问题,并说明了如何解决这些问题。我们使用的预处理框架是Python Matplotlib模块和Python Pillow模块。以下是我们预处理图像的三种方法:1。裁剪没有x轴和y轴信息的图像。这是因为我们希望输入的数据尽可能干净。2、使用RGB颜色空间捕捉移动平均线信息。每个移动平均线将使用不同的颜色,因此移动平均线将在不同的通道中表示。3、反转颜色空间,仅高亮显示图像中的线条。

16
何人来此 在职认证  发表于 2022-6-2 21:54:30
背景将变为黑色,这意味着每个背景像素的值为零。我们使用的移动平均线是MA5、MA7、MA10和MA20。我们使用移动平均线来模拟我们的输入,并增加与交易图表的相似性。我们还将图像重新缩放为不同的大小,例如100×150或300×400。我们还尝试在相同的比例下设置不同的y轴。移动平均线的图像如图9所示,反向线如图10.4.1工作流1所示。在工作流1中,我们尝试了三种架构。默认时间区域为20;在每个区域中,我们使用每个5天周期来创建图像数据,并使用第二天来标记输入图像。每个体系结构都使用了移动窗口的框架,并进行了100次预测。我们尝试的三种架构如下:1。架构1:Conv+Conv+Pool+FCFigure 9:具有价格和移动平均线的图像数据,无需调整大小。黑色是价格线,红色是MA5线,蓝色是MA10线,绿色是MA20线。价格线和移动平均线仍然有许多不同的术语和组合。图10:仅对价格线进行反演预处理的图像数据。2、架构2:(Conv+Pool)*2+FC3。架构3:Conv*4+Pool+Conv+Pool+fc我们使用前两个架构(架构1和架构2),因为我们希望simplemodel可以解决我们的问题;然而,结果并不好。因此,我们接下来在架构3中使用了deeperstructure;我们在前两层中添加了更多的卷积层和滤波器,以帮助模型提取更详细的信息。我们希望更复杂的体系结构能够帮助解决这个问题。不幸的是,无论是简单的架构还是复杂的架构都不能很好地工作。complexone并没有改善分类性能。

17
何人来此 在职认证  发表于 2022-6-2 21:54:33
每种结构的实验结果如下所示。4.2架构1对于架构1,我们进行了三次实验。我们反转了所有输入的图像,并将其大小调整为100×150。我们在每个实验中使用了不同的参数,如下所示:1。在第一个实验中,我们使用的内核大小为30×40,包含5个内核和128个完全连接的单元。我们使用的池层是MaxPooling 2×2,使用的时间区域是20,这意味着使用20天的历史信息来预测第二天的操作。2、在第二个实验中,我们使用的内核大小为30×40,有10个内核和128个完全连接的单元。我们使用的池层是MaxPooling 2×2,使用的时间区域是20.3。在第三个实验中,我们使用的内核大小为30×40,有5个内核和128个完全连接的单元。我们使用的池层是MaxPooling 2×2,但这次我们使用30天作为时间区域,这意味着使用30天的历史信息来预测第二天的操作。三个实验的结果分别如图11-13所示。参数之间没有显著的改善;该模型通常预测动作没有任何作用。图11:架构1中实验1的混淆矩阵。图12:架构1中实验2的混淆矩阵。图13:架构1.4.3架构2中实验3的混淆矩阵第二个实验中使用的参数与第一个实验中使用的参数相同;只是模型的架构不同。第二个体系结构的性能也很差,模型再次给出了经常不采取行动的预测。

18
mingdashike22 在职认证  发表于 2022-6-2 21:54:36
图14显示了一个结果。图14:架构2中实验1的混淆矩阵。我们对体系结构进行了一些更改,因为我们在上述体系结构和实验中获得了较差的性能:我们又添加了两个卷积层和一个池层,以使模型更深更复杂。4.4架构3随着新的、更复杂的架构,我们设计了三种实验。各实验参数基本相同;这三个实验之间的唯一区别是核的数量。这是因为我们预计更多的过滤器将捕获图像的更多特征。在实验1-3中,粒数指定为5、10和20。每个实验的结果如图15-17所示。图15:架构3中实验1的混淆矩阵。图16:架构3中实验2的混淆矩阵。图17:架构3中实验3的混淆矩阵。从这三种体系结构的结果中,我们可以清楚地看到,没有一种实验具有良好的性能。此外,由于过度拟合,每个模型都不稳定。这是因为输入图像的数目太小,无法训练卷积模型;如果时间区域是20,并且如果我们每5天创建一个图像,那么我们只有16个训练数据图像。卷积模型可以很好地拟合给定的16幅图像的训练数据,但无法识别与训练数据有许多差异的图像。

19
能者818 在职认证  发表于 2022-6-2 21:54:40
获得更多真实训练数据的唯一方法是扩展时间域;然而,在金融领域,旧的信息无助于预测未来的数据。额外的数据只会增加噪声的发生,这意味着我们不能简单地扩展时间区域来收集更多的训练数据;需要一种替代方法。4.5工作流程2在处理真实数据之前,我们希望用模拟数据拟合模型。这是因为模拟数据可以为我们提供足够的数据,并且几乎没有噪音。此外,模拟数据准确地代表了真实世界数据的一个子集,因此可能更容易拟合。如果我们能够很好地拟合小世界,卷积模型可以从中学习策略。我们使用1%的平均值和25%的标准误差来模拟90天的数据;我们对其进行了多次模拟,为卷积模型生成了足够的数据。用模拟数据训练的三个实验详细介绍如下:4.6实验1在实验1中,我们每20天创建一个图像,接下来的5天作为保持天数;也就是说,我们可以使用第1天到第20天作为输入图像,使用第25天标记第20天。如果第25天的价格比第20天的价格高出至少1%,那么我们将在第20天买入,在第25天卖出。如果第25天的价格比第20天的价格低至少1%,那么我们将在第20天卖出,在第25天买入。否则,将不采取任何行动。三个不同类别的图像如图18-20所示。图18:带有标签1的实验1。我们可以清楚地看到,人类无法轻易区分每个阶级;这也使得卷积模型很难识别每个类别的模式。

20
何人来此 在职认证  发表于 2022-6-2 21:54:43
在图19的训练过程中:带标签的实验1-1、图20:标签为0的实验1。在这种情况下,如图21所示,培训数据和验证数据的丢失并没有减少。过度匹配问题也发生在第100个时代之后。这一次,简单卷积模型的精度优于移动平均模型。模型预测标签1和-1,但仍有许多地区需要改进。图22和23显示了培训和测试数据的混淆矩阵。4.7实验2根据实验1,我们尝试使用移动平均作为我们的策略。因为我们希望通过模型来区分输入,所以我们使用的规则是,如果第9天MA5大于MA7至少1%,MA7大于MA10至少1%,那么我们将在第6天买入,在第9天卖出。如果第9天MA5比MA7小至少1%,MA7比MA10小至少1%,那么我们将在第6天卖出,在第9天买入。否则,将不采取任何行动。图24-26显示了三种标签图像,我们可以看到这种模式在购买(1)和销售中更为重要(-1) 立即添加标签。这使得卷积模型更容易检测策略之间的差异。经过实验3的测试,我们获得了82%的准确率,这比实验1和2有了显著的改进。我们还将图像缩放到价格和移动平均值的最大值和最小值;这产生了80%的准确率。培训过程如图27所示。

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

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