system: [SYSTEM]

user: 3. 数据处理及结果分析 本文采用的沪深300指数收盘价趋势股市预测的总体流程如图2，大致分为5个步骤：1) 处理数据；2) 基于Python工具对数据用神经网络进行拟合；3) 利用实际输出与期望输出的差异，调整神经网络参数 [ 8 ]；4) 检验最优解的效果；5) 利用得到的最优参数建立基于神经网络的股票价格趋势预测模型并得到拟合曲线 [ 9 ]。 图2. 沪深300指数预测流程 3.1. 数据处理 基于前述介绍，本文在Anaconda的环境下利用Python工具对选取的1021个沪深300指数数据进行处理。 首先，对样本数据进行了分割，将 N 1 = 1021 个样本总数区分为模拟窗口 n 0 = 1001 和预测窗口 NN = 20 个。然后，按时间排序得到了其收盘价样本序列 y 指 数 及每个数据基于基期的增长率样本序列 y 指 数 增 长 率 ： y 指 数 = { 3053.699 ， 3051.585 ， ⋯ ， 3829.753 ， 3796.972 } (26) y 指 数 增 长 率 = { 1.000000000 ， 0.999307888 ， ⋯ ， 1.243400905 } (27) 为使其符合激活函数值域的要求( 0 < y < 1 )，本文取两数 K 1 和 K 2 ，使其分别大于上述两序列中的最大值。此处选取 K 1 = 15000 ， K 2 = 2 ，然后用原序列中的每个值除以K得到新序列S： S 指 数 = { 0.203579933 ， 0.203439 ， ⋯ ， 0.255316867 ， 0.253131467 } (28) S 指 数 增 长 率 = { 0.5 ， 0.499653944 ， ⋯ ， 0.627067779 ， 0.621700452 } (29) 将新序列S引入向量自回归模型，求解矩阵方程(4)，可以得到 X n 及h，将其代回方程(2)，得到基于人工神经网络对股票指数收盘价及该股指收盘价增长率的预测模型。代入相应的样本序列我们可以得到预测值 y n + i ，最后将其乘以相应的K进行还原，即得到实际的预测值 [ 10 ]。 另外，为方便检验最优解的效果，我们并通过第二部分对模型介绍进行上涨或者下跌趋势的预测结果的分析，并根据结果理想与否进行参数的优化。本实验中主要改变的参数是方程(2)中的未知数X个数n。 3.2. 实验结果及预测效果 3.2.1. 沪深300指数 基于上述数据处理，我们得到本次实验的最佳模型为： y n + i = 1.176589 y 1 + i + 3.329964 y 2 + i + ⋯ + 4.863449 y 498 + i + 0.00541 (30) 沪深300指数模型相关参数如表1： Table 1 Forecast model of CSI 300 inde 参数n R_Square Adjusted R_Square Same trend Diff trend 499 0.999522 0.939898 0.6 (12/20) 0.4 (8/20) 表1. 沪深300指数预测模型 由表1可知，可决系数与调整后的可决系数均在0.9以上，因此该模型的拟合程度与预测效果均较良好；且对指数涨跌的预测正确率达到60%，以此具有一定的现实指导作用。指数拟合曲线如图3： 由图3可知，模拟窗口拟合良好，沪深300指数于0~200日逐渐由最初的近4200点跌至3000点左右，而后持续上升至4100点左右，继而呈正常的上下波动状态。预测窗口数值与样本数据数值差距相对较大，由图可知预测值起伏较大，实际样本呈较为平缓的增长态势。相较于股票市场确切的股指数值预测，更为重要的是相对的涨跌情况预测，通过对预测窗口涨跌情况的合理判断，投资者可以更有针对性的选择买入或卖出。 图3. 沪深300指数拟合曲线 3.2.2. 沪深300指数增长率 基于上述数据处理，我们得到本次实验的最佳模型为： y n + i = 2.489706 y 1 + i − 1.841765 y 2 + i + ⋯ + 3.867576 y 489 + i + 0.00919 (31) 沪深300指数增长率模型相关参数如表2： Table 2 Forecast model of CSI 300 index growth rat 参数n R_Square Adjusted R_Square Same trend Diff trend 499 0.997098 0.932471 0.6 (12/20) 0.4 (8/20) 表2. 沪深300指数增长率预测模型 由表2可知，类似于沪深300指数的拟合预测，增长率预测模型的可决系数与调整后的可决系数同样在0.9以上，拟合程度与预测效果均较良好；且增长率同方向预测正确率同样达到60%。增长率拟合曲线如图4： 图4. 沪深300指数增长率拟合曲线 沪深300指数增长率拟合图形走势类似于沪深300指数的拟合图形，模拟窗口中于0~220日期间涨幅持续下跌，而后持续走高，于290日左右停止上升进入持续波动阶段。预测窗口中样本数据平缓上升，预测涨跌幅成功率达到60%，结果较为成功。 3.3. 实际预测检验 将二层人工神经网络求解出的方程代入计算，还原得出沪深300收盘指数的预测值，与历史实际收盘指数采集结果对比分析，计算相对误差，结果如表3： Table 3 Error and accuracy of sample data and prediction result 日期 收盘指数 预测值 相对误差 准确率 2020/4/5 3710.061 4371.73 17.83% 84.86% 2020/4/6 3674.111 5510.16 49.97% 66.68% 2020/4/7 3686.155 3388.96 −8.06% 91.94% 2020/4/8 3675.076 4240.57 15.39% 86.66% 2020/4/9 3734.531 4414.87 18.22% 84.59% 2020/4/10 3713.218 6351.79 71.06% 58.46% 2020/4/11 3798.021 5091.65 34.06% 74.59% 2020/4/12 3780.345 3471.79 −8.16% 91.84% 2020/4/13 3792.811 6482.01 70.90% 58.51% 2020/4/14 3769.178 6166.57 63.61% 61.12% 2020/4/15 3753.257 5404.33 43.99% 69.45% 2020/4/16 3825.699 3480.47 −9.02% 90.98% 2020/4/17 3797.362 4686.89 23.42% 81.02% 2020/4/18 3802.381 7160.52 88.32% 53.10% 2020/4/19 3839.487 3356.01 −12.59% 87.41% 2020/4/20 3853.455 3404.44 −11.65% 88.35% 2020/4/21 3808.047 3387.62 −11.04% 88.96% 2020/4/22 3839.383 6619.92 72.42% 58.00% 2020/4/23 3829.753 4139.70 8.09% 92.51% 2020/4/24 3796.972 2356.27 −37.94% 62.06% 表3. 实际值与预测值的相对误差和准确率 由于1021个样本数据覆盖时间较长，因此本文选择了样本最后的20个预测窗口数据，通过比较二层人工神经网络模型对沪深300指数的预测值与真实指数，得到了二者的相对误差与预测准确率。由对比结果可知，模型预测的误差的较小同时预测准确率较高，因此利用人工神经网络模型对股票价格进行短期预测是可行的，对投资者进行短期的投资具有切实可行的指导价值。