本系列文章为《Machine Learning for Algorithmic Trading》第十八章 CNNS for Financial Time Series and Satellite Images 中代码复现。
07 用于交易的 CNN - 第 3 部分:训练和评估 CNN
Imports
加载模型数据
卷积神经网络
我们创建了一个 CNN,该 CNN 具有 2 个卷积层,内核大小分别为 3 和 16 和 32 个滤波器,然后是大小为2的最大池化层。我们将最后一叠过滤器的输出展平,并将产生的 1,568 个输出连接到大小为 32 的密集层,对传入和传出连接应用 25% 和 50% 的丢失概率以减轻过拟合。
模型构架
训练模型
我们将特征缩放到范围 [-1, 1] 并再次使用 NumPy 的 reshape() 方法来创建必要的格式
训练和验证遵循第 17 章“交易的深度学习”中列出的过程,依靠检查点在每个 epoch 之后存储权重,并为性能最佳的迭代生成预测,而无需进行再训练。
评估结果
作出预测
为了评估模型的预测准确性,我们计算验证集的每日信息系数 (IC),如下所示: